How I Work
Most people look at a product and see features. I look at a product and ask what problem it solves and why it does not solve it well enough yet. That question drives every decision I make before writing a single line of code.
Understanding the Problem First
Before architecture, before tech stack I start with the problem. What is broken or missing for the user? This framing keeps every decision anchored to something real and keeps the build from drifting.
Architecture Designed to Last
I plan the data model, API surface, and component hierarchy before writing code. How data flows from database to screen, where state lives, and how the system behaves at 10x load all thought through up front.
Frontend Built for Humans
React JS, Next JS, Nuxt JS with TypeScript. Every interface is responsive, accessible, and fast because a slow or broken UI destroys trust. Tailwind for consistent styling, Framer Motion where animation adds meaning.
Backend That Does Not Break
Node JS, Express JS, NestJS with clear separation between routes, logic, and data access. APIs that are documented and predictable. Auth, rate limiting, and validation built in from day one.
Database Design That Scales
MongoDB, PostgreSQL, MySQL, Firebase chosen for your data shape and access patterns, not preference. Indexes, query optimization, and schema design happen at the start, not when production slows down.
Shipped and Maintained
I have taken projects from a blank repo to production. I write code that a team can read, understand, and extend without needing me in the room.
Tech Stack
Have a product to build or an existing application that needs work? Let us talk about it.
Start a Conversation

