Web applications
The whole thing, front to back — screens, state, the API they talk to, and the database underneath. Built as one system rather than a frontend bolted onto someone else's backend.
Available for work · United States
I'm Abhinav Koriginja — Abhi. I'm a software developer working across the whole stack: the interface people use, the API underneath it, and the deployment that keeps both running.
What I build
Not a menu of everything — the work I do well and would take on tomorrow. If what you need isn't here, I'll tell you rather than learn it on your budget.
The whole thing, front to back — screens, state, the API they talk to, and the database underneath. Built as one system rather than a frontend bolted onto someone else's backend.
REST endpoints that are predictable to consume, and the glue between services that were never designed to talk to each other. Documented enough that the next person doesn't have to read the source.
Responsive, keyboard-navigable, and readable on a bad screen in daylight. Accessibility handled while building, which costs nothing, rather than retrofitted afterwards, which costs a lot.
Schema design that fits how the business actually works. Most performance problems and half of all bugs start as a data model that didn't match reality — worth getting right early.
Profiling before optimising. Slow pages usually come from a handful of specific causes — an N+1 query, an unindexed lookup, a bundle nobody split — and those are findable rather than guessable.
A deploy that's one command and reversible, sensible environment handling, and logs you can actually search. Code that only runs on my machine isn't finished.
Stack
What I reach for by default. I'd rather pick the boring option that fits the problem than the interesting one that fits my résumé — and I'm happy in an unfamiliar stack when there's a reason for it.
Languages
Frontend
Backend
Data
Tooling & ops
Deeper in some of these than others — ask and I'll tell you honestly which is which.
Selected work
A few things I've built, what the problem was, and what I actually did about it.
This section is waiting on real content
Rather than fill it with invented case studies, it stays empty until
there's something true to put here. Projects live in the
PROJECTS array at the top of assets/site.js —
add one and this grid renders itself.
How I work
Long silent stretches are where projects go wrong. You should be able to see the thing moving every week, and change your mind while changing it is still cheap.
What the software is for, who uses it, and what breaks today. The brief and the actual problem are rarely identical.
The smallest version worth building, with the data model sketched first — it's the part that's expensive to change later.
In slices you can look at, not one long reveal. Each slice runs somewhere you can click it.
Edge cases, error states, and the boring paths — bad input, dropped connections, the second user. Then deploy.
Read the code before rewriting it. Ship something small, then iterate. Leave it easier to change than I found it.
Abhi — how I work
How I think about it
Existing code usually has a reason. Understand it before replacing it.
A comment explaining why saves the next person an hour of archaeology.
The happy path is the easy half. Failures are what users remember.
An honest "I haven't done that" beats a confident guess, every time.
Get in touch
A short description of the problem is enough to start. If I'm not the right person for it, I'll say so — and where I can, point you at someone who is.