01interface
DOSSIERprofile
Backend and systems engineer. The parts other work depends on — schedulers, locks, data layers, traces.
01Position
Position
Software is strata. Users touch the top. Almost nobody sees the scheduler, the lock, the migration, the trace. Those are the ones I build.
Three projects, and in each of them the same job: build the layer underneath, then make it observable. In deadlockd that meant a Go engine whose safety check copies system state under mutex and releases the lock before searching. In APIx it meant the acquisition boundary, where the system meets external market data that cannot be trusted to behave. In VAYU-DRISHTI it meant the platform the rest of a four-person team built on.
The habit connecting them is writing the reasoning down. Complexity bounds live in the function header that implements them. Dependencies carry a line explaining why they exist and what was rejected. The config layer refuses to start the server in a dangerous state rather than trusting that nobody will ask it to.
- Role
- Backend & systems engineer
- Location
- Rajasthan, India
- Education
- B.Tech Computer Science & Engineering, Lovely Professional University
02How it's built
How it's built
Four habits, each earned by a specific piece of committed code. None of these are aspirations.
- 01backend/requirements.txtVerify: open backend/requirements.txt on GitHub in a new tab
A decision that isn't written down didn't happen
Complexity bounds live in the function header that implements them. Every production dependency carries a line explaining why it is there and why the alternative was rejected. Six months later the reasoning is still in the repository rather than in someone's memory.
- 02backend/app/core/config.pyVerify: open backend/app/core/config.py on GitHub in a new tab
Make the failure impossible, not unlikely
Running with debug enabled in production is not a mistake to be careful about — it is a state the configuration layer refuses to construct. The validator raises at import time, so the server cannot reach the point of accepting a request in a dangerous configuration.
- 03backend/engine/banker.go:L15–L30Verify: open backend/engine/banker.go:L15–L30 on GitHub in a new tab
Hold the lock for as short as you can
The safety check needs a consistent view of the allocation matrices, not exclusive access for the duration of the search. So it copies them under the mutex, releases, and searches the snapshot. The critical section is a handful of copies; the O(P²·R) work happens outside it.
- 04backend/app/main.pyVerify: open backend/app/main.py on GitHub in a new tab
A system you cannot observe is a system you cannot operate
Every request carries a UUID bound into the logging context, so a single trace ID connects middleware, route handler, service and query. On the interface side the same instinct produces explicit loading, empty and error states rather than a spinner that means nothing.