← Back to Home
Portfolio

Projects

Real things I've shipped — not mockups, not slideware.

CleverTap Documentation Automation

Five Claude Code skills, one verified publishing pipeline

Internal tooling — live at CleverTap, iterating each cycle

Documentation at CleverTap — partner integrations, API references, developer guides, user guides, release notes — was manual end to end: context pulled from Jira and PRDs by hand, no enforced structure or style consistency across writers, technical claims going into docs unverified against the actual codebase, and formatting/publishing to ReadMe done by hand every time.

Built five Claude Code skills, each scoped to a distinct doc type and audience, sharing one workflow: Jira intake, structured draft, verified claims, one-click staging publish, and an automated learning loop that improves the skills from real usage. API-reference verification is centralized in one skill that the other three call whenever they embed a parameter table or error code, rather than repeating verification logic per skill. Every draft carries a visible corrections/open-questions section — nothing is stated as fact unless it has been checked against the codebase.

Validated the pipeline like software, not just shipped it: ran a full end-to-end test against a real ticket, which surfaced three real defects — a redraft crash, a gap where the learning loop could mark a ticket "done" without its fix PR ever merging, and a guardrail gap that let an unverified claim slip past the "never invent" rule. Fixed all three, rolled the fixes to all four writing skills since they share the same template, version-bumped them to v1.1 with changelogs tracing each fix to its PR, updated the reference docs, and rolled out adoption instructions to the team.

Claude Code SkillsJira IntegrationReadMe PublishingCodebase Verification

Resume MCP Server

Talk to my resume from inside Claude

Try the Connector ↗

A remote MCP server that exposes my resume as tools (summary, experience, projects, skills, contact, and a free form question tool) so hiring teams can query it directly from an AI assistant instead of skimming a PDF.

Runs as its own Dockerized service on a DigitalOcean droplet alongside Job Hunter, behind its own subdomain with a landing page that walks people through adding it as a custom connector. Answers come only from approved resume data, and questions are logged anonymously to improve it.

Model Context ProtocolDockerDigitalOceanRemote MCP

This Site's AI Concierge

Three architectures to ship one chat widget

Meta — try it now, bottom-right corner ↘

The "Ask About Sunil" chat bubble on this very page went through three complete rebuilds before landing here. First: a custom Supabase Edge Function calling Groq directly, with its own Postgres-backed conversation history and session-scoped RLS. Second: swapped in a scoped Dify agent, proxied through that same edge function for tighter persona control.

Third: tore out the entire custom backend — edge function, database columns, secrets and all — in favor of Dify's own hosted embed widget, once it did the job with far less to maintain. One more pass to get the widget's color theme matching the site's rust palette, and it shipped. Each rebuild wasn't a failure of the last one — it was the next constraint becoming visible only after living with the previous version.

Supabase Edge FunctionsGroqDifyPostgres RLS

ShivSamvad (शिवसंवाद)

A bilingual AI mentor, built end-to-end

View Live Site ↗

A full-stack PWA built around an AI persona modeled on a spiritual mentor, for bilingual (Marathi/English) chat, journaling, and reflection. FastAPI + MongoDB Atlas backend on Railway, React 19 + Vite frontend on Vercel, a pluggable LLM provider layer (swappable between providers via an env flag, with a zero-cost mock for local dev), auth with lockout protection, and a fully installable PWA with an active service worker.

FastAPIMongoDB AtlasReact 19Claude (via OpenRouter)PWA

Custom domain cutover in progress

AI Card Selector

Which credit card should I actually use for this?

Private build — mobile app, demo on request

A React Native (Expo) app that recommends the best card for how you actually spend, backed by a live Supabase catalog of card and merchant offer data — built to solve a real everyday decision, not a portfolio toy.

React NativeExpoSupabasePostgreSQL

Job Hunter

An agent that hunts jobs, never applies without me

Personal CLI tool — not yet public

A personal CLI that pulls postings directly from Greenhouse and Ashby's public job-board APIs, scores fit against a resume, and drafts cover letters. Claude Sonnet 5 handles the judgment work; Haiku 4.5 handles cheap structured grounding checks. No scheduler, no auto-apply — every "applied" status is a human action.

PythonClaude Sonnet 5Haiku 4.5OpenRouterGreenhouse / Ashby APIs

More Real Builds

CleverTap UX Academy Website

A comprehensive learning platform for UX writing and content design, with structured courses and interactive learning materials.

800% UX writing capacity expansion

View on GitHub ↗

Content Kanban Board

An agile content operations system for managing documentation workflows, with team collaboration and visibility across the content lifecycle.

5X productivity increase

View on GitHub ↗

Health Stack

A medicine and supplement schedule tracker PWA with a built-in deprescribing tracker, for managing complex regimens over time.

Daily-use personal health tool

View on GitHub ↗

Quick Coach

An AI-powered coaching assistant for rapid feedback and guidance on professional development and career growth.

Team mentorship scaling

View on GitHub ↗

Memento Mori

A mindfulness app focused on perspective and intentional living, with daily reflections and goal tracking.

Personal productivity tool

View on GitHub ↗

Vocal Note Keeper AI

A voice-to-text AI system for capturing and organizing meeting notes, ideas, and documentation drafts through natural conversation.

Documentation efficiency tool

View on GitHub ↗