Case study / Editorial website & publishing platform
IndianContext.A considered reading experience. A capable publishing system.
I designed and built an editorial platform about India that brings structured publishing, thoughtful reading paths and a permission-aware administrative workspace into one system.
- Role & focus
- Full-stack development · Editorial platform design
- Public deployment
- indiancontext.com
- Technology & patterns
- React / TanStack Start / TypeScript / CASL / Drizzle ORM / Cloudflare Workers / D1 / R2
Designed and built by Suriyaprakash Somu

§ 01 — The brief+
The problem behind the pixels.
Make the reading feel simple. Give the editorial work somewhere structured to happen.
My approach / Design + engineering
I approached IndianContext as two connected products: a publication people want to read and a workspace an editorial team can use every day. I wanted readers to find a useful starting point quickly, while giving editors the structure to prepare, organise and publish substantial content without asking a developer to change a page.
I built the content model around the full life of an article. Alongside the title and body, I included excerpts, reading time, a table of contents, FAQs, search metadata, publication state, scheduling and relationships to categories and series. Each field has a purpose in the editorial workflow and a clear place in the public experience.
I connected that model to a React and TanStack Start application running on Cloudflare. My focus was continuity: the content an editor maintains should directly power the navigation, discovery and reading interface. I designed the public pages and management patterns together so the system remains coherent as the publication develops.
§ 02 — The experience+
Follow the work. Not just the screens.
01 / Reader experience
Start with context, not an endless feed.
I organised discovery around latest stories, sections, series, topics and a start-here page. Each entry point serves a different reading intent: finding something recent, exploring a subject or following a connected explanation. I gave the homepage a clear editorial hierarchy instead of treating it as an undifferentiated feed. I also designed its content states so the layout remains useful while the publication changes. Readers get a consistent way to orient themselves whether they arrive at the homepage or deep inside the site.
Homepage → sections or series → a reading path
02 / Editorial experience
Separate the story from its publication state.
I separated preparing an article from making it public. I built draft and article management alongside categories, tags, series and scheduled publishing, with explicit fields for status, publication time and scheduled time. That gives an editor somewhere to work through the content, shape its context and choose its release point. I kept those decisions in structured workflows rather than burying them in page code, so the editorial model remains understandable to the people maintaining the publication.
Draft → editorial metadata → publication or schedule
03 / Platform experience
Keep supporting work inside the same system.
I brought media management, reader feedback, roles and content activity into the same administrative foundation. I also built supporting generation and scheduled-task tooling around the editorial model. My aim was to keep the work around an article connected to the article itself: the files it uses, the taxonomy it belongs to, the people who can change it and the publication state it carries. Reusing management patterns lets me keep those workflows consistent while preserving the specific responsibilities of each module.
Content operations → permissions → supporting tools

Explore the implementation
I brought the design and implementation together in the live site. Explore the pages, follow the interactions and see how the experience connects.
Visit indiancontext.com§ 03 — The system+
Underneath the experience.
Reader-facing delivery
React / TanStack Start
I use React and TanStack Start for server-rendered public routes, reading layouts and content discovery. I connect the presentation to structured editorial data so each story has one maintained content source.
Editorial administration
CASL / Zod / TanStack
I built roles, access-policy workflows, schema-driven forms and filterable management views. I use CASL-backed permissions and server-side decisions to connect what the interface offers with what an editor can do.
Content & infrastructure
Drizzle / D1 / R2 / Workers
I deploy the application on Cloudflare Workers with D1 for relational content and R2 for uploads. I separate file references, public queries and cache revisions so each layer has a defined responsibility.
§ 04 — Decisions & trade-offs+
The choices that shaped it.
01 / Beyond a title and body
Content deserves a model.
I modelled categories, tags and ordered series separately because they answer different discovery questions. I use excerpts for scanning, a full body and table of contents for reading, and publication fields for editorial state. Making those distinctions explicit gives me a strong foundation for reusable forms and public views without losing the intent behind the content.
Structured fields connect administration, discovery and reading.
02 / Consistency across modules
Reusable admin patterns are product work.
I designed the administration around repeatable patterns: schema-driven forms, dynamic filtering and consistent list interactions. I wanted an editor to learn the interface once and apply that understanding across related tasks. I keep module-specific behaviour where it belongs, while sharing the components and contracts that make everyday management feel familiar.
Repeatable management flows with module-specific responsibilities.
03 / SEO as part of the content model
Build discovery into the publishing system.
I gave articles dedicated metadata and stable slugs, then connected them to categories, topics and series. That makes discoverability part of the publishing workflow rather than a separate pass after writing. I paired those fields with server-rendered reading routes and clear navigation so the content structure serves both readers and search engines.
Search-aware publishing with clear relationships between stories.
§ 05 — What I built+
Designed with intent. Built as a system.
What I delivered
- I deployed IndianContext with dedicated reading, discovery and editorial-identity routes.
- I built dynamic article, draft, taxonomy and series workflows.
- I connected roles, media and reader feedback to the publishing workspace.
- I created a reusable React/TanStack administration foundation on Cloudflare.
How I made it work
- I keep the reader experience and editorial workspace connected through one structured content model.
- I combine server-rendered pages, explicit publication states and reusable management components.
- I separate infrastructure, media and permissions so the platform has clear extension points.
§ 06 — More about my approach
Before the
next conversation.
How do I manage publishing?
I built administration for dynamic articles, drafts, categories, tags, series and media. Editors maintain the content and its publication state through the platform, while the public pages use those same structures to present and connect stories.
What did I use to build it?
I built IndianContext with React, TanStack Start, TypeScript, CASL and Drizzle. I use Cloudflare Workers for application delivery, D1 for relational content and R2 for uploaded media, with reusable forms and query tools across the administration.
Can I adapt this approach for another publication?
Yes. I can shape the content model, taxonomy, permissions and reading experience around a different publication. I would begin with its editorial process and audience needs, then adapt the workflows and interface instead of forcing the team into a generic blog template.
From case study to your next project
A clearer brief.
A more considered build.
I build publishing systems for editorial teams and businesses that need more than a blog theme. I start with how your content is organised, who prepares it and how it reaches readers, then shape the reading interface and administrative workflows around that process. IndianContext brings those concerns together in a working platform.