The Pragmatic Developer

The Pragmatic Developer

Designing Frontend Systems Starts with Data Modeling

The First Step Toward Maintainable Frontend Design

Juntao Qiu's avatar
Juntao Qiu
Sep 09, 2025
∙ Paid
3
Share

Opening

When we first learn frontend development, data modelling doesn’t feel that important.

You grab some JSON, put it into state, and render it. For a small demo app, that’s often enough.

But as soon as your application grows, cracks begin to show:

  • You start duplicating state.

  • Updating one part of the UI doesn’t update another.

  • Or you realize you can’t easily represent a feature the product manager just asked for.

That’s when it clicks: data modeling is not just a backend concern — it’s fundamental to frontend architecture too.


When the Domain Surprises You (Chat App)

Take a chat app. At first, it looks simple:

  • A User.

  • A Message.

  • Maybe an Attachment.

But once you consider real-world scenarios, more concepts appear:

  • Threads that group conversations.

  • Private groups with restricted membership.

  • Broadcast messages that can’t be replied to.

  • Archived messages that change how history is displayed.

None of these were obvious in the first JSON response. You only discover them by digging into the domain rules.

a small white cup with a pink and blue design on it
Photo by Mariia Shalabaieva on Unsplash

When Simple Models Aren’t Enough (Course Platform)

Or think about an online course platform.

The first pass at modeling might be: Course, Module, Lesson. Plus Student and Instructor.

But that barely scratches the surface.

Keep reading with a 7-day free trial

Subscribe to The Pragmatic Developer to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Juntao Qiu
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture