subhamoy@dev:~$ whoami
subhamoydatta703
subhamoy@dev:~$ cat role.txt
GenAI Backend Engineer — RAG Systems & Agent Architecture
subhamoy@dev:~$ cat status.txt
B.Tech CSE (AI & ML) — building backend + AI systems in parallel
subhamoy@dev:~$ _Building REST APIs, backend architecture, RAG pipelines, vector search, background job systems, authentication and authorization, cloud-integrated services, agentic workflows.
Sharpening Data Structures & Algorithms, Low-Level Design, Advanced SQL, backend system design, DevOps fundamentals.
Exploring next Multi-agent orchestration, retrieval evaluation, distributed job queues at scale.
A transparent AI agent SDK for TypeScript, built around an explicit, inspectable plan → act → observe execution loop. No hidden state, no framework abstraction standing between the developer and what the agent is actually doing. Most agent frameworks ask you to inherit a large stack of opinions before you can see a single line of the loop — Somoy makes the opposite bet: a small, provider-agnostic runtime that a TypeScript developer can fully read and modify in an afternoon.
What sets it apart
The entire loop is one explicit, hand-written state machine, so every exit path can be traced and breakpointed directly. A single ModelProvider interface backs three interchangeable adapters — Gemini, OpenAI, and an offline Mock — so switching providers is a one-line change with nothing else in the agent touched. Failures are typed values rather than thrown exceptions: loop detection, handoff ping-pong, guardrail rejections, timeouts, and model errors all resolve to a RunResult carrying a status discriminant, so expected failure modes never need a try/catch.
| Capability | Implementation |
|---|---|
| Model providers | Gemini · OpenAI · Offline Mock |
| Type safety | TypeScript + Zod |
| Tool execution | Typed tool inputs / outputs |
| Structured outputs | Zod-inferred schemas |
| Failure handling | Typed RunResult values |
| Multi-agent | Transcript handoffs, ping-pong prevention |
| Reliability | Retries · backoff · timeouts · loop detection |
| Persistence | In-memory + SQLite |
| Runtime | Bun · Node.js 18+ |
REXA is an agent, not a scripted tool runner: it decides which capabilities a task needs and calls them in whatever order makes sense, observing results and iterating until the task is done. Given "fix this failing test," it maps the project, reads the relevant code, plans a fix, edits it, runs the tests, and iterates on failures — chaining repository inspection, real code edits, sandboxed commands, Git operations, and web research inside one conversation. Coding edits re-read files after every change so it works from actual results, not assumptions. Commands run sandboxed in Docker as a non-root user, and any consequential or state-changing action — Git operations, package installs, file deletion, and other commands with real side effects — requires explicit user confirmation before it executes, while read-only investigation proceeds on its own. Web research is handled through a layered fallback mechanism so a query still resolves if a given provider is unavailable, guardrails and secret scanning wrap every exchange, and API keys live in the OS credential vault via keytar.
| Capability | Implementation |
|---|---|
| Agent loop | Multi-step reasoning + tool calling in one conversation |
| Coding tools | Create · write · targeted edit, with grounded re-reads |
| Command execution | Sandboxed Docker, non-root, timeouts, guardrails |
| Git | Explicit approval per command; host vs. /workspace isolation |
| Search | Layered fallback across web search providers |
| Safety | Input/output guardrails, secret scanning |
| Credentials | OS credential vault via keytar |
| Runtime | Bun 1.3+ · Docker Desktop with Compose |
DocSense
RAG-powered document intelligence platform for ingesting documents and knowledge sources and answering questions with grounded, source-backed responses.
Documents, web pages, YouTube transcripts, and raw text are chunked and embedded into PostgreSQL via pgvector. Before a query reaches the retriever, it passes through a step-back optimization stage that pulls broader, more relevant context instead of surface-level matches. Ingestion runs asynchronously through BullMQ and Redis, backed by rate limiting, input/output guardrails, and Clerk-based authentication.
Stack — React · TypeScript · Bun · Express · PostgreSQL · pgvector · Redis · BullMQ · AWS S3 · Gemini API · Clerk
Resumark
AI-powered resume analysis platform with asynchronous processing, caching, and production-ready backend infrastructure.
A resume is parsed, queued for analysis, and returned with an ATS score, skills breakdown, summary, and formatting feedback — generated by Gemini and run through a background job pipeline rather than a blocking API call. Results are cached in Redis and backed by Postgres, with resumes stored in AWS S3, so repeat runs stay fast under load.
Stack — Bun · TypeScript · Express · PostgreSQL · Prisma · Redis · BullMQ · AWS S3 · Gemini API
| Domain | Skills |
|---|---|
| Backend | REST APIs, backend architecture, API design, authentication, authorization, background jobs, rate limiting, file uploads |
| AI / GenAI | Gemini API, RAG pipelines, vector search, AI agents, agent SDK & harness design, tool orchestration, prompt engineering, structured outputs, Zod |
| Data | PostgreSQL, pgvector, MongoDB, Prisma, Redis, SQLite |
| Infrastructure | Docker (sandboxed execution), AWS, Render, Vercel, Bun, Express, npm package publishing |
| Safety & Tooling | Guardrails, secret scanning, credential vaulting, CLI design, sandboxed command execution |

