Utsav Adhikari

I build systems that don't break at 3 AM. Backend developer focused on the unglamorous parts: correctness, reliability, and making operators' lives easier.

Scroll

Philosophy

Prevent, don't patch

I design systems to prevent bad states from happening in the first place. Type safety, validation layers, state machines—boring stuff that saves you from midnight debugging sessions.

Operators are users too

Your claims processor dealing with 200 submissions a day deserves a UI that doesn't make them want to quit. Bulk actions, clear errors, no cognitive overload.

Every exception tells a story

When something fails in a reconciliation run, someone needs to understand why. I build systems where every error is traceable, explainable, and fixable without a developer.

Ship small, ship often

Big bang releases are for people who like stress. I prefer incremental changes with clear rollback paths. Your production environment will thank you.

The database is not a cache

Data modeling matters. Normalize where integrity matters, denormalize for speed and auditability. Every schema decision is a bet on future maintenance pain.

Logs are love letters to future you

Structured logging, correlation IDs, context at every level. When production breaks, you shouldn't need to deploy debug builds to figure out what happened.

What I've built

[001]

Claims processing that handles edge cases

Built state-machine-based workflows for government claims with proper status transitions and duplicate prevention. The kind of system where "resubmit" actually means something specific, not "hope for the best." .NET Core, explicit invariants, lots of validation.

[002]

Reconciliation engine for thousands of records

Designed bulk ingestion pipelines with intelligent matching algorithms. Every discrepancy is logged, categorized, and reviewable. No black boxes. Oracle schemas optimized for both write speed and auditability.

[003]

Admin interfaces that reduce operator burnout

Built tools that let people process 200 items in the time it used to take for 50. Bulk select, batch actions, inline validation, optimistic updates. Knockout.js and React where it makes sense.

[004]

Python services with proper error boundaries

API design that doesn't surprise you. Consistent error shapes, proper status codes, pagination that works. The stuff that seems obvious until you inherit someone else's API.

Side projects

Reliable Payment Processing API

Built a payment system that safely handles duplicate requests and network retries without charging users twice. Makes sure every payment or refund is recorded correctly, and each action can be traced later.

Order System with Background Events

Built a system where placing an order triggers background steps like taking payment and sending notifications. Designed it so messages don’t get lost if the server crashes mid-way, and failed steps can be retried safely.

Transaction Reconciliation Engine

Batch tool that compares records from two systems (like bank vs internal data) and matches what should match. Anything that doesn’t match is grouped into clear “reasons” so a person can review and fix issues quickly.

Job Scheduler (Cron-like)

Built a scheduler that runs background jobs on a schedule, with protection against running the same job twice. Keeps history of each run, saves errors, and supports rerunning failed jobs when needed.

Webhook Delivery System

Sends events to other systems (webhooks) with retry support when the receiver is down. Tracks delivery status, stores failures for later review, and allows replaying events when the target is ready.

Logging & Monitoring Toolkit

Built a structured logging setup that makes debugging easier: each request gets a tracking ID and consistent logs. Helps answer “what happened?” quickly when something breaks in production.

Rate Limiter (Redis-backed)

Limits how many requests a user can make in a time window to protect APIs from spam and overload. Supports different limits per user type and works across multiple servers using Redis.

Secure File Upload Pipeline

Upload system that supports large files and processes them safely in the background. Includes virus scanning, safe storage, and clear status updates so users know what’s happening.

Let's talk

Get in touch

I'm interested in backend-heavy roles where correctness matters more than move-fast-break-things. If you're building financial systems, government platforms, or anything where "it mostly works" isn't good enough—let's talk.

Stack: Python, .NET Core, Oracle/PL-SQL, React, API design, distributed systems patterns.

View CV →