Skip to content
S
Sarvesvara Ramar

engineer

Sarvesvara Ramar

available

/ what I do

Full-stack / product engineer. I ship open graphs, life-OSes, and the systems that stay up.

Django · AWS · Flutter · RAG · CRDT. From first commit to 3 AM page.

location

Chennai, IN

local time

05:40 IST

now shipping

bleblubla

154 commits · 4 mo · 2.8M edges

bleblubla.com →

role

NEWPRODATA

Feb 2024 — now

experience

2+ yrs

4 projects owned

get in touch

Open to full-time & contract.

/ now bleblubla · neo4j → neptune shipped · plos · 2,538 tests green · datasprings · 347d up · ↓ scroll for one real incident
11:42 IST paged

“dashboard shows nothing. finance, mood, health — all zero.”

#plos-alpha alpha-tester
dashboard shows nothing. finance, mood, health — all zero.
no error though. just empty cards where numbers should be.
tried pull-to-refresh. same.
opened a second account. same thing.

“My first instinct was an API outage. Backend was green.”

11:55 IST observe

Every /api/* is a 200. The client says empty anyway.

  • Backend access log: /api/* → 200 on every endpoint, no spikes, no 5xx
  • Mobile screens rendering 'no data' on 5 of 7 dashboards
  • List-view endpoints (days=30, limit=50) broken · detail endpoints fine
  • No exception dialogs, no Sentry crashes · silent zero-state everywhere

“This was the worst kind of failure: the app was lying to the user, and so was the observability stack.”

12:30 IST diagnose

I blamed the serializers. They were fine.

pytest · re-verifying every API response contract
$ pytest tests/api/contracts/ -q
125 passed in 4.82s

$ curl -s api.plos/api/finance/summary?days=30 | jq .total
142580

$ curl -s api.plos/api/mood/entries?limit=50 | jq 'length'
47

# backend is handing back correct data on every request it sees.
# so why isn't the client seeing it?

“Forty minutes defending a backend that wasn't on trial.”

13:15 IST root_cause

Dart's Uri(path:) percent-encoded every ? into %3F.

  • Proxied the device: real requests were `/api/finance/summary%3Fdays=30`
  • Dart's Uri(path: '...') treats `?` as a reserved char and percent-encodes it
  • Every query-parameterized call became a 404 the backend never saw
  • 9 providers × ~20 call sites, all made the same wrong assumption
  • The 404s lived only in nginx access log — never in Django, never in Sentry

“The whole investigation flipped in ninety seconds.”

13:41 IST fix

Split path and query properly. Once. Everywhere.

diff lib/api/api_client.dart
  Uri _uri(String endpoint) {-   return Uri(path: endpoint);+   final parts = endpoint.split('?');+   final query = parts.length > 1+       ? Uri.splitQueryString(parts.last)+       : null;+   return Uri(+     path: parts.first,+     queryParameters: query,+   );  }

“Ten lines. Four months of dormant silent failures.”

13:55 IST resolved

Dashboards repopulated the moment users pulled to refresh.

/api/* 404 rate · 10-minute window after deploy unit · % of req
404 rate success %

“The test harness now captures every /api/* response code per screen. This class of bug cannot hide again.”

resolved / takeaway

“Silent 404s are worse than 500s. A single encoded character broke half a product, and every dashboard kept saying green.”

more incidents

More I can walk you through, each with receipts.

ask about another →
sarvesvara@prod ~ $ uptime --hosts
host
uptime
p99
bleblubla.com
up 82d
plos.datasprings.in
up 118d
61 ms
datasprings.in
up 347d
42 ms
timepaq.app
up 200d+
pokisham.com
up 203d
29 ms

# 5 hosts · nginx · aws + self-hosted · paired production ownership

I take responsibility for systems, outcomes, and the people who rely on them.

Full-stack / product engineer in Chennai. I design, build, deploy, and operate production systems — the full arc, not just the fun parts. Django + AWS + RAG by day, Flutter + CRDT + robot hardware by night.

Known on my team for owning projects independently — requirements, architecture, delivery, on-call, optimization. I'd rather fix the root cause than paper over it.

  • 2+ years shipping production systems end-to-end
  • 4 parallel projects owned across two servers
  • production incidents handled solo — on-call is just Tuesday

Django · Flask · REST · JWT · SSO

PostgreSQL · MySQL · Neo4j · Neptune

AWS · Bedrock · Comprehend · SES

Flutter · Dart · React · jQuery

Nginx · uWSGI · Docker · Systemd

Claude · Gemini · RAG · vector stores

  • Architecture & data modeling
  • API design & third-party integration
  • Deployment · Nginx · uWSGI · CDK
  • Production support & incident response
  • Client communication & delivery

B.E. Computer Science
PSNACET, 2023 · CGPA 7.7

Executive Member · Youth Red Cross Club

Interested in

Full-stack · system architecture · AI automation · scalable systems

Got a question about my work? Ask my resume.

An AI trained on my resume, projects, and the systems I've shipped. Ask about my experience, stack, or whether I'd fit your team — it answers from real work, not marketing copy.

Live · Gemini
06 say hi
sarvesvara@portfolio — zsh
~ » ssh sarvesvara@portfolio
connected · secure · 42ms
> project inquiry: ready to brief
> contract work: accepting Q2 · 2026
> full-time role: open · remote ok

Let's brief a system.

available · chennai · gmt+5:30
this week
free booked
email sarvesvarasar@gmail.com
brief Structured project form