Backend engineer. I build Java / Spring Boot services and Python AI agents, and I ship the frontend when it needs one.
Most of what I know, I learned by building the things below — 26 public projects, from Kafka microservices to a coding agent that resolves 38 of 50 real GitHub issues.
- Building agents — a coding-agent harness written from raw LangGraph primitives, then pointed at SWE-bench Verified Mini to find out what the patterns are actually worth.
- Running macos-agent — an agentic RAG system betting that precise retrieval beats raw model size on a narrow domain. Live ↗
- Rewriting my portfolio on Next.js 16 + React Three Fiber.
- Deepening DSA (graphs, DP, backtracking) and system design.
Fifty real Django and Sphinx issues. The agent reads the issue, edits the repo, and the patch counts only if the project's own hidden tests pass. First graded pass was 26/50 (52%).
The agent is mine, not a wrapper — a LangGraph StateGraph with a bash sandbox, built in agents. Each instance runs inside its official SWE-bench image with the testbed conda env on PATH and the network off, so the agent can import the project and run its real tests. Agent-written tests are excluded from the graded diff.
The 12-point jump came from reading all 24 failures rather than retuning prompts:
- The agent was flying blind. Bash ran in a bare
python:3.11-slimwith no project deps, soimport djangofailed and the agent never ran one test of the repo it was patching. Now it runs in the instance's own image. - Half the "failures" were the grader. Twelve Sphinx instances died at collection with
No module named 'roman'— a 2024 docutils release, not the agent. Three of those patches were byte-identical to gold. The grader now pins docutils and Pygments. - My own prompt was the bug. "Never edit tests" made the agent protect the bug whenever an existing test asserted it. The rule is now: a test that encodes the reported bug gets updated.
- Also fixed:
readtruncated the middle of any file over 8k chars, and submitted patches included scratch files.
On the 12 hardest that remained, best-of-3 with a blind judge — three independent agents, each one's test edits reverted and the suite re-run before judging — resolves 7/12, with pass@3 at 8/12. Most of the remaining gap is judge selection, not agent capability.
Not a leaderboard number: the prompt includes the FAIL_TO_PASS test names and the test command, which standard SWE-bench runs withhold, and the hard-12 reruns use the dataset's
hints_text. It is a number I can reproduce and explain, which is the point.
| Project | What it is | Stack |
|---|---|---|
| agents | Coding-agent harness built from raw LangGraph — no create_react_agent. ReAct loops, plan-and-execute, Send fan-out, sub-agent delegation and transcript compaction written out as explicit StateGraphs, each with a runnable demo and an offline test, then assembled into the agent benchmarked above. |
Python · LangGraph · Docker · pytest |
| macos-agent | Agentic RAG that diagnoses macOS problems. LangGraph flow — retrieve → merge → decide → synthesize → verify — with Google sign-in, credit caps, PII redaction and Prometheus metrics. Live ↗ | Python · FastAPI · LangGraph · Llama-3.3-70B (Groq) · Docker |
| RAG-Mastery | RAG assembled from its parts: document pipeline, embedding model, vector store client. | Python · ChromaDB |
| PromptTunes | Describe a mood in a prompt, get songs back. Express backend over the Spotify and Genius APIs, Vite frontend. | Node.js · Express · JavaScript |
| rag-projects | Index of RAG project ideas. Live ↗ | HTML |
| rag-roadmap-new | Learning roadmap for retrieval-augmented generation. Live ↗ | HTML |
| Project | What it is | Stack |
|---|---|---|
| E-WALLET-MICROSERVICES_JBDL | Wallet split into services — a transaction service and a notification service communicating over Kafka topics. | Java · Spring Boot · Kafka |
| finance-dashboard-zorvyn | Personal-finance API: dashboard summaries, monthly trends and category totals, behind Spring Security with proper DTOs and error responses. | Java · Spring Boot · Spring Security · JPA |
| homeassignmentBooksearch | Book search service over an external catalogue API — containerised, with a static frontend. Take-home assignment. | Java · Spring Boot · Docker |
| spring-redis-practice | A Redis caching layer that takes responses from seconds to milliseconds. An artificial delay makes the difference impossible to miss. | Java · Spring Boot · Redis · MySQL |
| Job-posting-spring | Job portal with server-rendered Thymeleaf views, seeded data and a Dockerfile. | Java · Spring Boot · Thymeleaf · Docker |
| weather-springboot | Weather API wrapper with DTO-mapped responses, plus a separate frontend. | Java · Spring Boot · JavaScript |
| think41 | Workflow-and-steps modelling API. | Java · Spring Boot · JPA |
| studentmgmt | Students, courses and enrollments with the relationships modelled properly. | Java · Spring Boot · JPA |
| library-book-manager | Book CRUD in clean controller → service → repository layers. | Java · Spring Boot · JPA |
| SpringBootRestAPI | A minimal GET/POST/PUT/DELETE starter for anyone picking up Spring REST. | Java · Spring Boot |
| Project | What it is | Stack |
|---|---|---|
| portfolio | Personal site — projects, writing, experiments and 3D. Content is MDX with Zod-validated frontmatter, so a new post is one file and one commit. Live ↗ | TypeScript · Next.js 16 · Tailwind v4 · React Three Fiber |
| mindful-writing-web | A quieter place to write. | TypeScript · Vite · Tailwind |
| Interview-Map | Single-page interview preparation map. Live ↗ | HTML |
| periodic-table | Interactive periodic table. | JavaScript |
| shared-Vibecoded-Tool | Small collaborative tool. | TypeScript · Next.js |
| sharedBoard | Shared board, built fast. | JavaScript |
| portfolio-hari | Earlier portfolio. Live ↗ | JavaScript |
| Project | What it is | Stack |
|---|---|---|
| Robust-Video-Transfer | Video file transfer over raw UDP sockets — packet-loss detection and retransmission layered on top of an unreliable protocol. | C · Sockets · UDP |
| osproject | Movie ticket booking under concurrency: mutual exclusion, deadlock prevention and resolution, tested to 1,000 concurrent bookings. | C · Threads |
| WeatherApi | Desktop weather app — real-time conditions for any city. | Java · JavaFX |
Languages Java · Python · TypeScript · JavaScript · C · SQL
Backend Spring Boot · Spring Security · JPA / Hibernate · FastAPI · Express · REST
AI LangGraph · RAG · ChromaDB · Groq · OpenAI-compatible APIs · agent evals & benchmarking
Data & Infra MySQL · Redis · Kafka · Docker · Git · Linux · Vercel
Frontend React · Next.js · Tailwind · three.js / R3F
26 public projects — 10 Spring Boot services · 6 AI & agent builds · 7 web apps · 3 systems projects in C.
Code by language, across every repo I've authored:
Python ██████████████████████████████████████ 38.0%
TypeScript ██████████████████████▌ 22.4%
HTML ████████████▌ 12.5%
Java █████████▌ 9.3%
JavaScript ████████▌ 8.7%
CSS ██████ 6.2%
other ███ 2.9% MDX · C · Shell · Dockerfile
Bytes undersell Java — ten Spring services are a lot of design in not many lines, and two Python agents are most of that top bar.
Open to backend and AI-engineering work. The fastest way to reach me is email.

