JSFoo 2019

On component architecture, front-end engineering and Developer Experience (DX)

Improving State: Case Studies

Submitted by Yashika Garg (@yashikagarg13) on May 11, 2019

Section: Crisp talk (20 mins) Technical level: Intermediate Session type: Lecture Status: Waitlisted


Given an SPA, where you have multiple lists, dialogs, headers, detail pages, each reusing data from different components, redux has been the most popular tool for state management. But our problem doesn’t just resolve on choosing the state management tool, it gives birth to another problem of how we can organise this state so that when our application expands with our user’s needs, as a developer, we should be able to cater that in minimum time and almost no bad code or hacks. Estimating the features could be beyond our reach but creating an expandable state structure that can evolve with needs without being a clutter is in our hands. In this talk, we will discuss three different state structuring strategies I have implied in my recent project to achieve my goal: Structuring based on components, Considering the source of data - UI and API calls as a base for assembling state and Deriving state from interactions with data.


  • Introduction (5 mins)
    • Its not about the tools for state management but what comes next
    • A bad state structure can make a day’s work into a week’s one.
  • Exploring 3 paradigms of state structuring (10 mins)
    • Component specific state
    • State based on source of data - UI or API call
    • Interactions with data
  • Conclusion & Questions (5 mins)
    • Visualise the data interactions


Experience with SPAs and working on global state
Knowledge of any specific state management tool is NOT required

Speaker bio

I am a developer/consultant working with Javascript over 8 years and currently working as Frontend Developer/Architect (React) at SiteDocs.
I have done my B.Tech from Maharshi Dayanand University.




Preview video



  • Abhishek Balaji (@booleanbalaji) a year ago

    Hi Yashika,

    Thank you for submitting a proposal. I am unable to access your slides. We need to see detailed slides to evaluate your proposal. Your slides must cover the following:

    • Problem statement/context, which the audience can relate to and understand. The problem statement has to be a problem (based on this context) that can be generalized for all.
    • What were the tools/frameworks available in the market to solve this problem? How did you evaluate these, and what metrics did you use for the evaluation? Why did you pick the option that you did?
    • Explain how the situation was before the solution you picked/built and how it changed after implementing the solution you picked and built? Show before-after scenario comparisons & metrics.
    • What compromises/trade-offs did you have to make in this process?
    • What is the one takeaway that you want participants to go back with at the end of this talk? What is it that participants should learn/be cautious about when solving similar problems?

    We need your updated slides and preview video by 28 May to evaluate your proposal. If we do not receive an update, we’d be moving your proposal for evaluation under a future event.

    Additionally, who is the intended audience for your talk? The audience at JSFoo would be at an intermediate to advanced level and would not like talks which compare different tools as this is information that can easily be found on the internet. What would be the one takeaway that the audience will gain?

  • Yashika Garg (@yashikagarg13) Proposer a year ago (edited a year ago)

    Hi Abhishek

    Thank you so much for the detailed review. Slides should be accessible at https://speakerdeck.com/yashikagarg13/improving-state-case-studies now.
    Intended Audience would be developers building Single Page Applications using React and struggle with structuring state. I am not comparing any tool in my talk but I am going to share the different challenges and questions I faced in my project while structuring state and the different solutions I tried, in order to solve the problem. Take away would be firstly seeing state structuring from different angles and secondly understanding how to visualize data interactions and developing state structure from that.

    Thank you
    Yashika Garg

    • Abhishek Balaji (@booleanbalaji) a year ago

      Thanks for the response, moving this to evaluation.

Login to leave a comment