Skip to content
View Rohit-ATS's full-sized avatar
:octocat:
Building
:octocat:
Building

Highlights

  • Pro

Block or report Rohit-ATS

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Rohit-ATS/README.md
A dependency graph drawing itself — a root node, its edges, and a pulse travelling out to the leaves

Rohit Maruri

I build infrastructure for agents that touch production. The shape of the data decides which questions you can ask. No mocked data, measured not claimed. Five shipped this year, every one of them has its tests.

CS undergrad at San Francisco Bay University building agent and developer infrastructure — systems that let an autonomous agent touch something that matters and then prove it did the right thing. Five shipped this year; all public, all MIT.

Open to internships School Location License

Python TypeScript FastAPI Next.js React PostgreSQL pgvector DynamoDB AWS Bedrock AWS Lambda MCP Docker

Email · LinkedIn · LeetCode · Codeforces

Selected work The pattern Stack How I build Education Contact

Five shipped projects — LexisGuide, DOCKET, FORGE, Airlock and Semantic Output Cache — each with what it does, what it is built from, and its test or evaluation numbers
Every number on the right is in the repository it belongs to. Nothing here is a mockup.


Selected work

Each of these started from a question that sounded simpler than it was, and in every case the popular tool was the wrong shape for it — a vector index cannot answer a five-hop traversal, and an exact-match cache key never hits on traffic nobody phrases the same way twice.

LexisGuide
React 19 · Bedrock Nova · DynamoDB · Base
Reads the legal notice you were sent and finds the deadline buried in it. A router plus specialist agents, and every edit fingerprinted with SHA-256 onto a chain, so nothing can be quietly rewritten. Built for LexHack 2026.
DOCKET
Next.js 15 · Strands Agents · Aurora DSQL
The agent that reads city hall so a volunteer neighborhood group doesn't have to. Every claim links to its source document. 81 tests, 19 of 20 citations valid, and 5 of 5 correct refusals on the unanswerable questions.
FORGE
Python 3.14 · FastAPI · OpenTelemetry
Ships the feature, then audits itself and proves the hole is actually closed — tests passing and a fresh scan agreeing. 17 live checks, and it refuses the findings it should refuse. Stops at the pull request, deliberately.
Airlock
TypeScript · Postgres · MCP
Proves an irreversible production change on a shadow copy before anyone approves it: apply, undo, three checksums, and the gate opens only if pre == post_rollback. 201 tests across 24 suites.
Semantic Output Cache
Postgres · pgvector · Redis
Exact-match caches never hit on LLM traffic. This one embeds each output and serves it when cosine similarity clears a threshold. Redis is an accelerator, not a dependency. Key hashes stored, never keys.

Also: blast-radius — npm supply-chain exposure as a graph traversal rather than a similarity search, 381 tests, built solo over a hackathon weekend  ·  meridian — a financial terminal that tracks tax lots individually, because an average basis makes harvesting advice quietly wrong  ·  Vivedly AI — a desktop coworker with a five-tier memory hierarchy instead of one vector store.


The pattern underneath

Four of the five are the same shape, and it is the shape I find most interesting: an agent allowed to do real work, with the proof — not the promise — standing between it and the thing it would change.

%%{init: {"theme": "base", "themeVariables": {
  "primaryColor": "#E9F3EA", "primaryTextColor": "#1B1C14",
  "primaryBorderColor": "#00674F", "lineColor": "#2F8A5E",
  "secondaryColor": "#FAF7EE", "tertiaryColor": "#FFFDF5",
  "fontFamily": "Inter, sans-serif" }}}%%
flowchart LR
    A["Agent<br/>proposes a change"] --> B["One doorway<br/>MCP tools, read-mostly"]
    B --> C["Sandbox<br/>apply, undo, checksum"]
    C -->|"pre == post_rollback"| D["Gate<br/>policy and quorum"]
    C -->|"drift"| X["Refused<br/>with the diff"]
    D --> E["Human decides<br/>against evidence"]
    E --> F["Sealed record<br/>hash-chained"]
Loading

The interesting part is never the model. It is that the approval is impossible to construct without the proof: in Airlock the gate's rule is a module-private symbol only openGate() can mint, so a non-proven approval is not greyed out or warned about — it is unrepresentable in the type system.


The stack

Languages Python · TypeScript · SQL · Cypher · Solidity · Bash
Data PostgreSQL · pgvector · DynamoDB · Aurora DSQL · S3 Vectors · SQLite · Redis
Agents & AI AWS Bedrock (Nova, AgentCore) · Strands Agents · Claude API · MCP servers · embeddings and RAG
Interface React 19 · Next.js 15 · Tailwind · Electron · vanilla JS with no build step
Infrastructure AWS Lambda · S3 · CDK · Docker · FastAPI · Vercel · Amplify · GitHub Actions
Practice pytest · Vitest · OpenTelemetry · CodeQL · groundedness evals · threat models in the repo

How I build

📊 No mocked data, anywhere Every number on every screen came back from a query that was actually run — including the empty states. A demo that lies is worse than no demo.
📐 Measured, not claimed If it says fast, there is a latency beside it. If it says safe, there is a checksum, an eval score, or a test id beside it.
🔑 Secrets are a design problem Not a checklist item at the end. The .gitignore globs exist because an explicit list already failed once, and the reasoning is written down in the file.
📝 Commits explain the change Not the diff. "Answer the lockfile question from the lockfile." You can read the history and know what happened.

Education

B.S. Computer Science — San Francisco Bay University, since 2025. Coursework in data structures, systems and databases; most of what is above was built outside of it, on weekends and at hackathons — LexHack 2026, Agents for Humans, Zero Downtime, Hack Hydra.


Activity

GitHub statistics: contributions, commits, pull requests, repositories and the language mix A snake eating a year of my contribution graph

Contact

I move fast and I would rather build the hard version. If you are working on agent infrastructure, graph systems, or developer tooling — or you want someone who ships over a hackathon weekend and still writes the tests — I would like to hear from you.

rohitmaruriats@gmail.com · LinkedIn

Open to internships, hackathon teams, and OSS collaboration.
Ink, paper, sand, green, meadow, amber — the palette is LexisGuide's own.

Pinned Loading

  1. blast-radius blast-radius Public

    npm supply-chain incident response over a graph database. Built on HydraDB for Hack Hydra.

    Python 3 1

  2. semantic-output-cache semantic-output-cache Public

    Provider-agnostic semantic cache for LLM output. Exact-match caches never hit on LLM traffic — nobody phrases it the same way twice. Embeds each output and serves it when cosine similarity clears a…

    TypeScript

  3. meridian meridian Public

    An AI-native financial terminal — fifteen views, options priced with Black-Scholes, and tax lots tracked individually rather than by average basis. Next.js 16 + React 19, Obsidian Terminal design s…

    TypeScript

  4. Vivedly-AI Vivedly-AI Public

    1

  5. Airlock Airlock Public

    Nothing reaches production without passing through the airlock. A change-control console where every irreversible production change is proven on a shadow copy in a sandbox before a human is ever as…

    TypeScript 1