| November 19, 2025 |

When I started learning to build software, I jumped between multiple tools—HTML/CSS/JS, Nuxt, Python, plain React. Each step taught me something, but it also revealed the same pattern: if I want to build apps that genuinely influence people’s lives, I need a stack that lets me ship fast, think clearly, and grow into professional-grade engineering.
That’s how I arrived at Next.js + Supabase as my main stack, supported by Prisma, Shadcn UI, and Figma for product design.
Below is the reasoning behind every choice—explained the way a recruiter, hiring manager, or engineer would evaluate a junior developer’s decision-making.
My goal isn’t to memorize syntax.
My goal is to build apps that influence people’s behavior, mindset, and daily life.
To do that, I need:
Next.js + Supabase meets all of those requirements without overwhelming me.
Next.js is used across startups and big tech—Vercel, Notion, TikTok, Airbnb, etc.
Choosing it means I’m learning the patterns companies already expect:
This reduces the distance between my personal projects and real company codebases.
With Next.js, the backend is inside the same repo:
/apiThis means I’m not learning fragmented technologies.
I’m learning a coherent system where everything fits together.
Instead of figuring out tooling, deployments, or routing, I focus on:
This matches my goal: create apps that actually shape users’ habits and emotions (ex: Lumi Diary Digest, Charm).
Learning Postgres means learning:
These matter in any professional environment.
Firebase’s NoSQL structure is convenient at first but teaches patterns that don’t transfer well and often become messy at scale.
A full backend without DevOps:
For a solo developer building multiple apps, this reduces cognitive load dramatically.
It lets me grow fast without boxing me in later.
Supabase → Postgres → Can switch to any production database in the future.
Firebase → Locked patterns → Harder to transition.
On paper, Supabase already provides an SQL client.
So why Prisma?
Because Prisma gives:
This is exactly how professional teams maintain consistent backend logic.
And there is zero conflict: Prisma works great with Supabase’s Postgres database.
For my apps—diary entries, user data, summaries—Prisma makes the backend reliable and maintainable.
I care a lot about UI aesthetics and user emotional experience.
Shadcn UI gives the best of both worlds:
This means my apps look polished without bloating the codebase.
For user-facing apps like Lumi Diary Digest or Charm, UI feel matters as much as functionality.
Because engineers who think like product builders stand out.
I use Figma to:
Figma + Next.js + Shadcn makes me a developer who can own both design and implementation.
Recruiters value this.
Great fundamentals, but slow to ship complex apps.
Not scalable for full products.
I liked it, but React/Next.js dominates the industry.
As a beginner aiming for employability + product building, I needed the mainstream path.
I enjoy Python, but for full-stack web apps, it slowed me down.
Switching between frameworks, servers, and frontend made me lose momentum.
Good start, but missing routing, API layer, and server rendering.
Next.js fixed all of these.
This stack lets me build apps that combine:
Examples:
I’m using the same stack startups would use to build real products.
I’m not here to be “a person who learned a framework.”
I’m building a foundation where I can:
Choosing this stack is not random.
It’s a long-term, strategic choice.
My guiding principle is simple:
Choose technologies that remove friction from learning, reduce barriers to shipping, and bring me closer to building meaningful products.
Next.js + Supabase + Prisma + Shadcn + Figma gives me that exact path—starting from beginner-friendly foundations and scaling all the way to production-ready engineering.