Sohag Hossain
Sohag HossainSWE · FS
OverviewWorkProjectsStackContact
✎Writing↗Dhaka · : BSTGet in touch →
Get in touch →
OverviewWorkProjectsStackContact
✎
WritingNotes & articles — separate page
↗
Dhaka · : BST
Get in touch →
← All writing
CMSCareerFull-stack

Why my "Work" section is CMS-driven

A resume that reads from a database is a small but real signal: I build functional systems, not static pages.

April 14, 20261 min read
ShareXLinkedIn

Every entry under Work on this site is a database row, editable from an auth-gated dashboard — not a hardcoded array sitting in a component file.

Context → Constraint → Decision → Tradeoff → Result

Hiring managers don't want a timeline of job titles. They want to see how you think under constraints. So each role is framed as a decision, with the tradeoff made explicit:

FieldWhat it answers
ContextWhat was the situation?
ConstraintWhat was limiting the options?
DecisionWhat did I actually do?
TradeoffWhat did that decision cost?
ResultWhat happened because of it?

That framing lives in structured fields in Postgres (via Supabase), which means I can add or edit an engagement from /dashboard/work without touching code or redeploying.

◎

This is deliberately scoped to Work and Projects — the two sections that genuinely benefit from being editable without a deploy. Writing doesn't need that; see the follow-up post on why.

Why not just hardcode it?

I could. Most portfolios do. But a resume that's backed by a real data layer — with row-level security, auth, and a proper admin UI — is a small, honest demonstration of the same skills the resume is trying to prove.

On this page
  • Context → Constraint → Decision → Tradeoff → Result
  • Why not just hardcode it?

Got an interesting problem?
Let's talk about it.

Always open to conversations about engineering, architecture, and technology — especially the kind that don't have an obvious answer yet. I read every message.

sohagdev2019@gmail.com →
LinkedIn ↗GitHub ↗Twitter ↗
© 2026 Sohag Hossain
Built in Dhaka. Full stack, end to end.
Work
EduPeak LMSCourse PlatformAdmin Dashboard
Navigate
OverviewExperienceProjectsWritingContact
More
Resume ↗Blog
Designed & built with Next.js, Tailwind CSS, and Framer Motion