SR-BE03 · Shubham Raj Rev 2026-11

Interface description

The portfolio is an API

Everything on this site is served as JSON from the same FastAPI process. Public, read-only, 60 requests a minute per visitor; the limit comes back in X-RateLimit-* headers.

1 Endpoints

MethodPathReturns
GET/api/v1/meProfile: role, stack, features, skills, links
GET/api/v1/experienceWork history and education
GET/api/v1/projectsCase studies, summarised
GET/api/v1/projects/dineflow-posOne case study in full
GET/api/v1/traceThis request's real timings (also in Server-Timing)
GET/api/v1/statusMeasured p50 / p95, cache hit ratio, uptime, tests

2 From a terminal

$ curl rajshubham.com                     # the résumé, as plain text
$ curl rajshubham.com/api/v1/me           # profile JSON
$ curl -i rajshubham.com/api/v1/trace      # see the Server-Timing header

Errors share one shape: {"error": {"code": "not_found", "message": "…"}}. Over the limit, you get 429 with Retry-After.