Software engineer · Hyderabad, India

B Prithiraj

Building dependable systems,
from backend services to AI workflows.

I work on Java services, distributed data, and AI-assisted workflows at Oracle. Outside work, I build inference infrastructure and explore how software should behave when requests fail, state changes, and decisions need an explanation.

Selected work

All projects
  1. InferenceMesh

    Working implementation

    A reproducible inference gateway that bounds waiting work, explains route selection, and streams OpenAI-compatible responses through a deterministic backend.

    Python · FastAPI · Model Serving · Observability

    Read case study
  2. PavePath

    Working implementation

    A Cloudflare change-readiness copilot with deterministic policy decisions, AI explanations, durable review history, and an explicit human exception workflow.

    TypeScript · Cloudflare · Durable Objects · Workers AI

    Read case study
  3. Aegis ResponseNet

    Interactive prototype

    An interactive reference model for command idempotency, outbox replay, read-model convergence, and compensation after a downstream failure.

    TypeScript · Idempotency · Event-Driven Systems · Sagas

    Read case studyTry demo
  4. FinAgent RiskOps

    Interactive prototype

    An interactive agent-workflow reference model with synthetic evidence, explicit tool permissions, cited answers, and deterministic review or stop decisions.

    TypeScript · Agent Workflows · Evaluation · Tool Permissions

    Read case studyTry demo

Engineering notes

All writing

Failure cases, design decisions, and the trade-offs behind reliable software.

  1. An inference gateway needs a queue limit and a stream owner

    Why concurrency limits alone do not protect an inference API, and how response ownership changes once a token stream starts.

    7 min read · Model Serving · Python

  2. Keep policy decisions separate from LLM explanations

    A practical boundary for AI-assisted workflows: versioned facts and deterministic decisions, with an explanation that cannot grant permission.

    6 min read · AI Systems · Policy

  3. The stale cache write that happens after invalidation

    Deleting a cache entry does not stop an older reader from putting it back. Monotonic versions make that race explicit and testable.

    6 min read · Caching · Distributed Systems

  4. A timeout is an unknown outcome, not a failed operation

    How idempotency, reconciliation, and version checks make recovery safer when a remote operation may have committed before the caller timed out.

    6 min read · Distributed Systems · Reliability

Let’s talk systems.

I’m interested in backend engineering, distributed systems, and AI infrastructure. If that’s what you’re building, I’d like to hear about it.