India Tax Advisor AI
Multi-agent tax planning for Indian filers
Indian taxpayers juggle two regimes, 15+ deduction sections, and capital-gains rules that changed mid-2024 — most calculators handle one dimension at a time. This is a conversational agent that takes a full financial picture in natural language, decomposes it into sub-tasks, routes each to a specialist sub-agent with the right calculator tools, and synthesizes one answer in a single turn.
Routing is deterministic, not LLM-guessed. The intent classifier extracts structured keys (80c, capital_gain, hra) and rules map them to sub-agents, which eliminates routing hallucinations. Sub-agents write to a shared blackboard rather than passing messages, and required tax rules are pre-fetched into the prompt before the model reasons — because LLMs forget to call tools.
+12 pts
Planner lift, hard questions
LangGraphLangChainFastAPIMCPMongoDBChainlitOpenRouter
Voice Agent
Outbound voice AI where the domain is config, not code
A real-time outbound calling agent that holds a natural spoken conversation, extracts entities mid-call, and scores the lead at the end. Persona, knowledge base, intent taxonomy, and scoring rubric all come from a JSON file — switching from appointment confirmation to property qualification is a config change, not a rewrite.
Two telephony providers and two entirely different voice stacks sit behind one AgentProvider contract — a hosted all-in-one, or a composed pipeline of streaming STT to LLM to self-hosted TTS. LLM tokens flush to TTS at sentence boundaries so speech starts before the reply finishes generating, and barge-in cancels the in-flight turn on voice activity. The house rule: any path that can degrade a call without raising must emit a countable event.
0.46s
Median to first sentence
FastAPIWebSocketsTwilioTelnyxDeepgramOpenRouterChatterbox TTS
The Vault
An LLM-maintained knowledge base wired into every session
Not an app — a working system for how research gets retained and reused across projects. An Obsidian vault where the agent is the librarian: raw material lands in an inbox, gets compiled into cross-linked wiki articles, and becomes available to every future session in every other repo.
Three parts. A compile workflow (CLAUDE.md defines routing, mandatory takeaways, wikilinks, two-level indexes). A custom Agent Skill that fires in any repo and consults the vault before fresh research — and encodes its own anti-patterns: don't treat it as gospel, verify load-bearing claims, don't force a connection. And a loop that closed: the voice-AI topic is research that fed the Voice Agent above, and three of its articles were written back from that build's own measured history — baselines by host, seven live-call failure modes that raised no exception, and prompting when every character is spoken aloud.
ObsidianClaude CodeAgent SkillsMCPGitMarkdown
JobPilot
An agentic pipeline built as a custom MCP server
A command-center for a structured search process: ingest postings, score fit, generate tailored documents, and enforce follow-ups deterministically rather than relying on the model to remember. Built against a written PRD with numbered requirements and phase acceptance criteria.
The interesting half is that state lives in SQLite behind a custom 10-tool MCP server — log_application, get_follow_up_queue, get_funnel_stats, check_seen_posting — so the agent queries and mutates a real schema instead of re-reading files. Document rendering goes through Puppeteer with per-market CSS templates; scouting runs on a launchd schedule.
MCPNode.jsSQLitePuppeteerExpresslaunchd
Legal Document AI Enrichment
LLM enrichment over Indian legal and tax judgments
A batch pipeline that reads court and tax judgments and generates SEO titles, keywords, and issue-wise headnotes, writing structured results back into MySQL. A companion PHP stage handles the ingest problem: converting oversized court PDFs into clean structured documents.
Judgments routinely exceed the context window, so the pipeline budgets tokens explicitly with a tokenizer before dispatch and chunks around document structure rather than character counts. Generation runs in child processes so a slow or failed document can't stall the batch.
Node.jsExpressOpenAIMySQLSwaggerPHP
ProudStreak
A habit tracker that shipped, with the infrastructure to match
A mood-coded calendar for building a streak of good days, plus a Pomodoro focus timer. Anonymous-first onboarding — the calendar works with no signup, storing locally until a usage threshold prompts registration.
Dual-mode auth was the design constraint: email/password and Google OAuth both issue JWTs, with a linking table keyed on provider so one person isn't two accounts. Deploys build a Docker image in CI, ship the tarball straight to EC2 over SSH with no registry, and pull secrets at runtime from SSM Parameter Store via an instance role — no credentials on disk.
Co-built with Rohit Ghosh — my focus was architecture, backend, and deployment infrastructure.
Next.jsRedux ToolkitExpressPrismaPostgreSQLDockerAWS EC2
FinanceGPT
Both sides of MCP — server and client
A financial research assistant that answers market questions by pulling live quotes, scraping filings, and searching the web. Built mainly as a proof of the full MCP round trip.
Rather than calling tools directly, it stands up its own stdio MCP server exposing market data, scraping, and search — then consumes it through a LangChain MCP client. A provider factory routes across Gemini, Anthropic, and OpenAI behind one interface, so the model is a config value.
FastAPIMCPLangChainMongoDByfinance