Skip to content
View abhaypadmanabhan's full-sized avatar
💭
Telling stories via Data
💭
Telling stories via Data

Highlights

  • Pro

Block or report abhaypadmanabhan

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
abhaypadmanabhan/README.md
Typing SVG

Portfolio LinkedIn Email Location


About Me

I'm an AI Engineer who builds and ships full-stack production AI systems — solo, end-to-end. In the last year I've shipped a RAG learning platform, a voice dictation desktop app, a real-time automotive voice AI agent, and a multi-agent VS Code extension. I don't just prompt; I build the full stack around the AI layer.

Background: 3 years enterprise security automation at Wipro → MS Business Analytics at UC Davis (practicum at The Best Notary) → solo production AI product development.

What I work with daily: Claude Code, OpenAI Codex, FastAPI, Next.js, LangChain, Qdrant, LiveKit, Electron.


What I've Shipped

🤖 AI Products (production, deployed)

Project What it does Stack
AutoCoach AI learning platform with RAG pipelines, adaptive quizzes, and Bayesian mastery tracking FastAPI · Next.js 16 · LangChain · Qdrant · Kimi K2.5 · GPT-4o-mini · Supabase
Voxi Voice dictation Electron app — captures speech, transcribes via Groq Whisper, optionally reformats with Claude, injects text into any focused app Electron · Groq Whisper · Claude Haiku/Sonnet · AudioWorklet · nut-js
Volini Real-time voice AI for cars — natural language questions about specs, pricing, safety ratings, answered via voice, end-to-end LiveKit · Deepgram Nova-3 · Cerebras LLM · ChromaDB · Next.js
Pixel Agents Forked a VS Code Marketplace extension and shipped the OpenCode SSE integration — visual pixel-art dashboard tracking concurrent Claude Code + OpenCode agents TypeScript · VS Code Extension API · Canvas 2D · SSE · React 19

📊 ML / Data Projects

Project What it does Stack
Liquidity Forecasting Pipeline Real-time ELT pipeline for corporate treasury cash flow forecasting GCP Pub/Sub · BigQuery · dbt · Python
Customer Churn Prediction End-to-end ML pipeline with SHAP explainability for business stakeholders Python · scikit-learn · SHAP · Random Forest
Radiology X-ray Classifier Multi-label chest X-ray classifier with Grad-CAM interpretability PyTorch · ResNet · Grad-CAM · NIH Dataset

Project Deep-Dives

🎓 AutoCoach — RAG Learning Platform

AI-powered personalized learning: ingest documents → extract concepts → adaptive quizzes → Bayesian mastery tracking

The problem: Students have no efficient way to turn dense study materials into active recall. AutoCoach automates the full study loop.

Architecture:

PDF/PPTX upload
    → LangChain chunking (1000 tokens / 200 overlap)
    → OpenAI batch embeddings → Qdrant vector store
    → Kimi K2.5 concept extraction (Pareto-corrected for score-inflation bias)
    → RAG-grounded quiz generation (document-scoped retrieval)
    → Three-tier answer evaluation: Kimi K2.5 → GPT-4o-mini → length heuristic
    → Bayesian-smoothed + EMA mastery update
    → Spaced repetition queue (resurface if mastery < 75% AND last tested > 2 days)

Key decisions:

  • Pareto post-processing on concept extraction — fixed systematic LLM score-inflation bias; top 20% classified as "core" concepts driving the primary KPI
  • Bayesian mastery formula: smoothed = (correct+1)/(correct+tested+2), new_score = 0.85*old + 0.15*smoothed — prevents overconfident early mastery; caps at 95% until ≥5 tests AND ≥90% accuracy
  • Zero hard-failure paths — three-tier fallback means no answer evaluation ever crashes
  • Optimistic locking on XP/credit writes — 5-retry pattern for concurrent quota safety

FastAPI Next.js LangChain Qdrant Supabase Railway Vercel


🎙 Voxi — Voice Dictation Desktop App

Cross-platform Electron app: floating bubble → Groq Whisper → Claude formatting → keyboard injection into any app

The problem: Voice-to-text tools are either cloud-dependent, context-unaware, or inject trash formatting. Voxi is local-first, model-composable, and clipboard-aware.

Architecture:

AudioWorklet PCM pipeline (16kHz mono, 250ms buffering)
    → Groq Whisper-Large-V3-Turbo (transcription)
    → Claude Haiku (optional formatting — cost-sensitive, high-frequency)
    → nut-js keyboard injection → focused app

"Hey Voxi" command mode:
    speech → intent extraction → clipboard read
    → Claude Sonnet with task-specific prompts (summarize / translate / debug / rewrite)
    → inject — zero UI interaction

Key decisions:

  • Multi-model cost split: Claude Haiku for every dictation (fast, cheap), Claude Sonnet only for complex clipboard commands (slower, more capable) — deliberate latency/cost tradeoff
  • AES-256-CBC key storage — API keys encrypted using machine-id-derived key, IV prepended in ciphertext
  • Three-tsconfig build system — solved hard Electron ESM/CJS context boundary bug (renderer vs. preload vs. main)
  • SQLite correction learning loop — stores raw→corrected pairs per app for automatic personalization without model fine-tuning
  • Shipped as macOS universal DMG (arm64 + x64) + Windows NSIS installer

Electron TypeScript React Groq Claude SQLite


🚗 Volini — Real-Time Automotive Voice Agent

Ask a car question out loud, get a spoken answer in real time — specs, pricing, safety ratings, comparisons

Architecture:

LiveKit AgentSession
    → Deepgram Nova-3 STT (streaming, 25ms endpointing)
    → Cerebras Llama 3.1 8B (LLM)
    → Three-layer knowledge backend:
        (1) ChromaDB RAG + MiniLM-L6-v2 embeddings
        (2) SQLite cache (24h TTL + background preloading of top-10 cars)
        (3) asyncio.gather fan-out → NHTSA + fueleconomy.gov + CarQueryAPI + DuckDuckGo
    → Custom Smallest.ai TTS plugin (raw int16 PCM via AudioEmitter)
    → React Recharts latency HUD (STT + EOU + LLM TTFT + TTS, live)

Key decisions:

  • Three-stage entity resolution: exact alias lookup (40+ entries: "miata"→Mazda MX-5) → fuzzy SequenceMatcher (≥0.55) → live NHTSA makes-list scan
  • Function-call bleed guard — custom TTS wrapper drops text starting with <function= before synthesis (discovered through real LLM behavior in production)
  • Provider-swap abstraction — iterated across 3 LLM providers (Groq → Cerebras → GPT) due to rate limits and tool-call format issues; clean interface kept swap cost minimal
  • Per-turn latency instrumentation published over LiveKit data channel → live HUD

Python LiveKit Deepgram ChromaDB Next.js


🎮 Pixel Agents — Multi-Agent VS Code Extension

Forked from VS Code Marketplace · Shipped the OpenCode SSE integration · Visual pixel-art office tracking concurrent Claude Code + OpenCode agents

My contribution: The original Pixel Agents extension visualizes Claude Code agents as pixel-art characters in an office world. I forked it and shipped the OpenCode integration — a new SSE tracking architecture that enables the extension to monitor OpenCode agents via HTTP event streaming alongside Claude Code's JSONL file-watching, unified behind a single message abstraction so the webview is completely framework-agnostic.

The hard problem — multi-agent SSE routing:

Problem: OpenCode runs multiple concurrent sessions. Naive "mostRecentAgentId" binding
misroutes events when N agents launch simultaneously.

Solution:
  1. Pre-launch snapshot: capture existing session IDs before terminal starts
  2. Poll /session endpoint until a NEW session ID appears → bind that ID to the terminal
  3. sessionIdToAgentId dispatch table routes all subsequent SSE events correctly
  → Works correctly with 10+ simultaneous agents

Other technical highlights:

  • Triple-layer file watching (OS fs.watch + fs.watchFile stat polling + manual setInterval) with partial-line buffering — prevents JSON parse errors mid-write on append-only JSONL
  • Canvas 2D game engine outside React — OfficeState imperative class holds all game state, 60fps requestAnimationFrame loop runs without React reconciler diffs — smooth at 10+ agents in a sandboxed WebviewViewProvider
  • Inference-based state detection — dual idle signals: system/turn_duration records + 5s silence timer for text-only turns; permission bubble inferred via 7s non-progress timer
  • Claude Vision in asset pipeline — @anthropic-ai/sdk auto-generates sprite metadata from purchased tileset PNGs, feeding a 7-stage import pipeline to furniture-catalog.json

TypeScript VS Code React Canvas Claude


📈 Liquidity Forecasting Pipeline

Real-time ELT: GCP Pub/Sub → BigQuery → dbt staging/intermediate/mart → liquidity runway analytics

Designed a streaming ingestion pipeline simulating real-time corporate treasury cash flows (receivables/payables). Built a multi-layer dbt warehouse in BigQuery with projected balance and liquidity runway analytics — automated end-to-end with no manual refresh steps.

GCP BigQuery dbt Python


📉 Customer Churn Prediction

End-to-end ML pipeline with SHAP explainability — black-box to business insight

Logistic Regression + Random Forest with GridSearchCV tuning, class-imbalance correction, and a SHAP pipeline that surfaces top churn drivers for non-technical stakeholders. The explainability layer was the whole point.

scikit-learn SHAP pandas


🫁 Radiology X-ray Classifier

Multi-label chest pathology classification on NIH dataset with Grad-CAM visual interpretability

ResNet CNN predicting Atelectasis, Effusion, and Infiltration simultaneously from NIH Chest X-rays. Full evaluation pipeline (Precision/Recall/F1/ROC-AUC per condition) with Grad-CAM to highlight regions influencing predictions — interpretability matters when the stakes are clinical.

PyTorch ResNet Grad-CAM


Tech Stack

AI / LLM / Agents

RAG LangChain Claude OpenAI Groq LiveKit Qdrant ChromaDB Deepgram Cerebras

Languages & Frameworks

Python TypeScript SQL FastAPI Next.js React Electron

Data / Cloud

GCP BigQuery dbt Supabase PostgreSQL Railway Vercel

AI Coding Tools (daily)

Claude Code Codex OpenCode Cursor


Experience

The Best Notary — Data Analyst / Project Manager · UC Davis MSBA Practicum · San Francisco, CA · Aug 2024 – Jul 2025

Built real-time analytics infrastructure and AI-powered automation for a notary marketplace. Led a cross-functional MSBA team working directly with business stakeholders.

  • Built live Airtable → Looker pipeline — eliminated manual reporting, reduced decision latency from static snapshots to near-real-time
  • Deployed Slack AI chatbot (Make + GPT) that queries notary data dynamically — reduced manual task handling by ~30%
  • Engineered Unified Notary Dataset across multiple U.S. states via web scraping + structured ingestion — enabled market expansion and hiring strategy analysis
  • Optimized notary-client matching logic (SQL + Python) — improved matching accuracy by ~15%
  • Built data enrichment pipelines for law firm intelligence using Chromium automation (Yelp, Google Reviews)
Wipro — Cybersecurity Analyst / Project Engineer · Pune, India · Jul 2021 – Jul 2024

Managed enterprise identity and access systems (IAM) for 2,000+ users. Promoted from Project Engineer to Cybersecurity Analyst.

  • Automated user lifecycle management via PowerShell (provisioning, deprovisioning, GPO) — reduced manual effort by ~33%
  • Deployed and optimized CyberArk PAM — improved secure access workflows by ~20%
  • Managed Active Directory for 2,000+ users across multiple environments
  • Implemented Azure AD SSO + MFA — achieved 100% client retention
  • Monitored infrastructure via LogicMonitor — maintained >95% uptime

Education

🎓 M.S. Business Analytics — University of California, Davis · 2023–2025 🎓 B.E. Computer Science — India · 2017–2021


GitHub Stats Top Languages


Currently open to AI Engineer and Full-Stack AI roles in San Francisco. F1 OPT → STEM OPT → H1B · E-Verify / sponsored companies preferred.

Portfolio LinkedIn

Popular repositories Loading

  1. autocoach autocoach Public

    AI Agent to teach you from your docs

    Python 1

  2. Volini Volini Public

    AI Voice Agent to talk about cars

    Python 1

  3. pixel-agents pixel-agents Public

    Forked from pixel-agents-hq/pixel-agents

    Pixel office.

    TypeScript 1

  4. LeetCode_Prep LeetCode_Prep Public

    Way to Prep for Leetcode

    1

  5. Velocity Velocity Public

    Velocity helps you read PDFs faster

    TypeScript 1

  6. FounderScope FounderScope Public

    TypeScript 1