Senior Software Engineer · Backend & Distributed Systems

Rajkumar Gosavi

I build high-throughput backend systems in Go for fintech — payments, ledgers, and the distributed plumbing underneath. I write here about the parts that are hard to look up.

Selected work

All projects →

Perfhawk

A local-first profiling workbench for Go and .NET — attach to a running process, explore flame graphs, GC and diffs in your browser, and keep every profile on your machine.

rustgodotnetprofiling

JSON Explorer

Open and explore multi-gigabyte JSON and NDJSON files on your desktop — indexed in place, never fully loaded into memory.

taurirustvuedesktop

Suvarix

An offline-first, encrypted personal-finance tracker for Indian investors — every rupee stays on your device.

taurirustreactdesktop

Recent writing

All posts →

Embracing 'Share By Communicating' in Go

Go's concurrency principle in practice: passing data over channels instead of guarding it with mutexes, and why that removes a class of bugs by design rather than by discipline.

Experience with Go workspace

Go 1.18's workspace mode lets you develop across several modules at once without the replace-directive dance in go.mod. Setting one up, and what changes about the workflow.

The documentation conundrum

Stack Overflow answers, blog posts and LLM output all derive from the same place - the official docs. An argument for going there first, and for weighting your sources deliberately.

Using Truth Table in Development.

A short case for drawing the truth table before writing the if/else chain, using a filtered orders page where the combinations quietly got out of hand.