Available for work · United States

I build the part
users actually touch —
and the part behind it.

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.

  • Full stackFrontend, API
    and deploy
  • 1:1You talk to
    the developer
  • USBased in the
    United States
Abhinav Koriginja, software developer
Abhinav Koriginja Software developer
Web applications REST & JSON APIs Database design UI engineering Deployment

What I build

Six things I'm useful for.

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.

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.

APIs & integrations

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.

Interfaces that hold up

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.

Data modelling

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.

Making it faster

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.

Getting it live

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

Tools, not identity.

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

  • JavaScript
  • TypeScript
  • Python
  • SQL
  • HTML
  • CSS

Frontend

  • React
  • Next.js
  • Tailwind
  • Vite
  • Responsive design
  • Accessibility

Backend

  • Node.js
  • Express
  • REST APIs
  • Authentication
  • Background jobs

Data

  • PostgreSQL
  • MongoDB
  • Schema design
  • Indexing
  • Migrations

Tooling & ops

  • Git
  • Linux
  • Docker
  • CI pipelines
  • nginx
  • Testing

Deeper in some of these than others — ask and I'll tell you honestly which is which.

Selected work

Recent builds.

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.

Ask me what I've been building

How I work

Small steps, visible early.

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.

Understand

What the software is for, who uses it, and what breaks today. The brief and the actual problem are rarely identical.

Shape

The smallest version worth building, with the data model sketched first — it's the part that's expensive to change later.

Build

In slices you can look at, not one long reveal. Each slice runs somewhere you can click it.

Harden

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

Four things I hold to.

Read first

Existing code usually has a reason. Understand it before replacing it.

Write it down

A comment explaining why saves the next person an hour of archaeology.

Handle the sad path

The happy path is the easy half. Failures are what users remember.

Say what's true

An honest "I haven't done that" beats a confident guess, every time.

Get in touch

Tell me what you're building.

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.