Three problems I get hired for
I'm a full-stack engineer with 5.5 years on Node.js and TypeScript services, React and Next.js in front of them. The work below is where I'm genuinely faster than a generalist — each one links to something you can check before you email me.
Available for freelance and contract work from October 2026
I'm serving notice until 30 September 2026. Work can be scoped and scheduled now, starting the first week of October. Up to 20 hrs/week alongside a role, or full-time on a fixed scope.
What I do
-
High-volume data pipelines, browser to storage
Your bulk import dies. The tab freezes on a large file, or the request times out, or there's a row limit nobody actually chose — it's just the point past which something stopped coping.
I take the whole path, not the server half of it. In the browser: parsing the spreadsheet and its images happens in a web worker, so the UI never blocks, and the mandatory validation runs there too. Rows go up in chunks — each batch asks the server for signed URLs, uploads the files straight to storage from the client, then starts the next batch. File bytes never pass through your API, and the upload throttles itself. On the server: batched streaming writes hold memory flat regardless of file size, with the expensive validation done asynchronously across instances.
I rebuilt catalog upload for Styli's seller platform end to end — React front end through to the pipeline behind it — taking it from a 1,000-row ceiling to 100,000 rows per upload, load-tested under concurrent multi-user submission. The case study walks through the design. The server-side approach, open-sourced, is mongodb-export-large-reports.
-
Test infrastructure for Node and NestJS
Coverage is low, the suite is slow or flaky, and nobody trusts it enough to gate a deploy on it — so releases stay manual and nervous.
I build the integration-test layer: reusable API utilities, fixture-based service tests, deterministic setup and teardown, and CI wiring so the suite actually blocks a bad merge.
I built the integration-testing framework for Dream11's backend GraphQL services and took it to 83% integration coverage, gated in CI. I'm also an upstream contributor to jmcdo29/testing-nestjs with 12 merged PRs — the reference repo for testing NestJS.
-
Event-driven decoupling
Notifications, exports or third-party calls run inside the request, so one slow dependency takes user-facing latency with it.
I pull that work onto a queue or event bus with retries, dead-letter handling and backpressure, so volume stops being coupled to response time — and you can see what failed and replay it.
Kafka and Google Cloud Pub/Sub for catalog and inventory events at Styli; RabbitMQ-backed bulk WhatsApp notification pipelines for Wasalt; gRPC microservices on PostgreSQL. The shared service layer I extracted is on npm as @neerajkumar161/common.
How it runs
- How we start
- A paid audit — a few days, fixed fee — where I read the code and hand back a written plan with the estimate. If you stop there, the document is still yours and still useful.
- How I price
- Fixed price per scope wherever the work can be pinned down, hourly where it genuinely can't. I'd rather argue about scope up front than send a surprising invoice later.
- How I work
- Remote, in your repo, against your review process. Written updates you can forward without translating them. I own delivery end to end — design, code review, release — as I have in 4+ engineer squads.
- What I hand over
- Tests and docs ship with the work, not after it. The goal is that your team can change what I built without calling me.
Start a conversation
Tell me the symptom — the import that dies, the suite nobody trusts, the endpoint that waits on a third party — and roughly when you need it gone. I'll tell you honestly whether it's something I should take.