Skip to content

Navigation Menu

Sign in
Sign up
@Shaan-alpha
Shaan-alpha
Follow

Shaan Satsangi Shaan-alpha

🎯
Focusing
Agentic AI & Systems Engineer | Creator of skillissue.tech | B.Tech CS '26 | Building multi-agent systems, RAG, & FastAPI backends | Python, TypeScript, LLMs

Block or report Shaan-alpha

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
Shaan-alpha /README.md
Shaan Satsangi, Agentic AI & Systems Engineer

Agentic AI Systems Β· AI/ML Engineering Β· RAG & LLM Applications Β· Python Backends Β· Data Engineering

Typing SVG

LinkedIn Portfolio Email GitHub


About Me

I'm an Agentic AI & Systems Engineer who likes owning a problem end-to-end, from the data and the retrieval layer through the model to the product people actually use.

  • πŸ”­ I build autonomous Python pipelines, PySpark / Databricks lakehouses, and RAG / LLM systems: then ship them as full-stack apps with Next.js & FastAPI.
  • 🧩 Deepest in agents, RAG and Python backends, with real range across data engineering and full-stack when the problem needs it.
  • πŸŽ“ B.Tech CSE, Class of 2026 (graduated). Earned an M.Tech CSE seat at IIIT Tiruchirappalli and turned it down to build full-time.
  • ⚑ I default to free, production-grade tooling: most of my projects run at ~0ドル/month.
  • πŸ“« Open to AI / ML / Backend roles, right now. Let's talk: shaansatsangi@gmail.com

🧭 How I Build

The same spine runs through almost everything below: the model writes the prose, never the number. Decisions live in code that can be tested; the LLM narrates, routes, and asks for clarification around it. Every layer fails open, except the gates, which fail closed.

flowchart LR
 IN["<b>Messy input</b><br/>APIs Β· webhooks<br/>PDFs Β· voice Β· sheets<br/>event streams"]
 subgraph CORE ["Deterministic core β€” the part that must be right"]
 direction TB
 ING["<b>Typed ingestion</b><br/>rate-limit aware<br/>conditional requests<br/>bounded fan-out"]
 LOGIC["<b>Pure decision code</b><br/>scoring Β· matching Β· salience<br/><i>every output traces to evidence</i>"]
 CACHE["<b>Fail-open cache</b><br/>Redis Β· Postgres Β· Parquet"]
 ING --> LOGIC --> CACHE
 end
 subgraph EDGE ["LLM at the edges"]
 direction TB
 NARR["<b>Narration &amp; synthesis</b><br/>receives computed JSON,<br/>never the raw data"]
 ROUTE["<b>Tool routing</b><br/>closure-bound per user<br/>failover across model chains"]
 end
 GATE{"<b>Gate</b><br/>is this worth<br/>sending at all?"}
 OUT["<b>Shipped surface</b><br/>Next.js Β· FastAPI<br/>Telegram Β· MCP Β· CLI"]
 SILENT(["<b>Silence</b><br/><i>audited, never accidental</i>"])
 IN --> ING
 LOGIC --> NARR
 LOGIC --> ROUTE
 NARR --> GATE
 ROUTE --> GATE
 CACHE --> OUT
 GATE -->|"clears the bar"| OUT
 GATE -->|"doesn't, or fails"| SILENT
 classDef core fill:#1e293b,stroke:#a78bfa,stroke-width:2px,color:#e2e8f0
 classDef edge fill:#312e81,stroke:#818cf8,stroke-width:2px,color:#e2e8f0
 classDef term fill:#0f172a,stroke:#475569,stroke-width:1.5px,color:#cbd5e1
 class ING,LOGIC,CACHE core
 class NARR,ROUTE edge
 class IN,OUT,SILENT,GATE term
Loading

Where each piece is real, not aspirational: the deterministic core is Skill Issue's two-pass scorer Β· the gate is Atlas's salience check, which returns send: false and means it Β· closure-bound routing is Atlas's 20 tools, each welded to one user id Β· fail-open caching is Skill Issue's four Redis layers.


What I work on, and what proves it

flowchart TD
 ME(("<b>Shaan</b>"))
 ME --> A["<b>Agentic AI</b>"]
 ME --> B["<b>RAG &amp; retrieval</b>"]
 ME --> C["<b>Python backends</b>"]
 ME --> D["<b>Data engineering</b>"]
 A --> A1["<b>Atlas</b> β€” 20 tools under Gemini<br/>function calling, live on Telegram"]
 A --> A2["<b>Syntrueno</b> β€” agent swarm that mutates<br/>real Cloud Run behind a human gate"]
 A --> A3["<b>telegram-mcp</b> β€” MCP server giving<br/>agents your own Telegram account"]
 B --> B1["<b>Think9 Brain</b> β€” cites its source section,<br/>refuses when the corpus can't answer"]
 B --> B2["<b>disaster-management-rag</b> β€” 18/20 held-out,<br/>reproducible with no API key"]
 B --> B3["<b>JARVIS-PY</b> β€” semantic memory +<br/>threshold-gated PDF RAG, fully local"]
 C --> C1["<b>Skill Issue</b> β€” FastAPI, Neon, Upstash,<br/>OAuth, warm p95 ≀ 200 ms"]
 C --> C2["<b>VouchRank</b> β€” multi-tenant SaaS on<br/>Postgres RLS + 12 Deno edge functions"]
 D --> D1["<b>YouTube Wrapped</b> β€” Databricks medallion<br/>lakehouse on Delta Lake"]
 D --> D2["<b>CRM Sales Warehouse</b> β€” Airflow-orchestrated<br/>star schema, dbt-tested, Power BI"]
 classDef root fill:#a78bfa,stroke:#7c3aed,stroke-width:3px,color:#0f172a
 classDef pillar fill:#312e81,stroke:#818cf8,stroke-width:2px,color:#e2e8f0
 classDef proof fill:#1e293b,stroke:#475569,stroke-width:1.5px,color:#cbd5e1
 class ME root
 class A,B,C,D pillar
 class A1,A2,A3,B1,B2,B3,C1,C2,D1,D2 proof
Loading

πŸš€ Featured Projects

πŸ“ˆ Atlas Β· β–Ά Talk to it

AI Agent Β· Fintech Β· Backend

An AI financial analyst that lives in Telegram: conversation only, no slash commands or buttons. Learns you as you talk, pulls live quotes and fundamentals through an eight-provider failover chain (five quote, three fundamentals), reads PDFs and spreadsheets natively (tables stay tables), transcribes voice notes, and sends a morning briefing only when something on your watchlist matters; silence is enforced control flow, not a prompt suggestion.

Gemini function calling drives the loop across 20 tools, each closure-bound to one user so the model cannot reach another's data. Always-on under systemd with a polling watchdog that force-exits a bot which is up but no longer listening: back serving six seconds after kill -9. 191 tests.

Python Gemini Telegram PostgreSQL SQLAlchemy Azure

β–Ά Talk to it Β· Code

⚑ Skill Issue

Full-Stack Β· AI Β· Production

release

Reads any public GitHub profile and scores it out of 100 across six weighted signals, then places you on a 7-tier ladder from Hobbyist to Principal with a sub-rank. Every point traces to real evidence in your repos; the AI writes the narrative, never the numbers (0 hallucinated scores). Pick Roast Mode for what a blunt senior would say, or Mentor Mode for how to fix it. Free, no signup; sign in to save reports and share them.

It scored me 81/100: Staff Engineer, nine points off Principal, then roasted me for it.

Next.js FastAPI Neon Vercel Groq

Live Β· Code

Full-Stack Β· SaaS Β· AI

Multi-tenant, white-label reputation + AI-search-optimization SaaS: a compliance-first review funnel (FTC / Google 2026 review rules), LLM-visibility audits (ChatGPT Β· Gemini Β· Perplexity), embeddable social-proof widgets, Stripe subscriptions + billing portal, and Supabase Postgres Row-Level Security tenant isolation across 12 Deno edge functions; fully clickable live in demo mode.

React Vite Supabase PostgreSQL Stripe Deno

β–Ά Live Demo Β· Code

🎬 AI Reel Factory

AI/ML Β· Data Eng Β· Automation

Fully autonomous, ~0ドル/month pipeline that researches news, writes & narrates scripts in a near-human voice, generates AI B-roll, auto-edits a captioned cinematic vertical video, and publishes daily YouTube Shorts: one Telegram tap is the only human input.

Python GitHub Actions Gemini FFmpeg

β–Ά Watch Β· Code

πŸ“Š YouTube Wrapped

Data Eng Β· Analytics

Personal watch-history analytics product built on a Databricks medallion lakehouse (Bronze β†’ Silver β†’ Gold) over Delta Lake, served through a deployed FastAPI + Next.js dashboard.

Databricks PySpark Delta Lake FastAPI

Code

πŸ—οΈ CRM Sales Warehouse

Data Eng Β· Analytics

End-to-end CRM analytics platform: Python ETL/ELT into a star-schema PostgreSQL warehouse, orchestrated with Airflow, validated with dbt tests, and surfaced as a 5-page Power BI executive dashboard.

Python dbt Airflow Power BI

Code

🧠 JARVIS-PY

AI/ML

Local-first AI voice assistant with wake-word barge-in, online/offline STT, semantic memory, PDF RAG, tool-agent routing, reminders, and interruptible TTS; privacy-first, runs on your machine.

Python Ollama FAISS Vosk

Code

πŸ›‘οΈ Sahaara

Full-Stack

Safety-focused full-stack app with gesture-based emergency SOS, MapLibre live location sharing, trusted contacts, and Twilio SMS alerts; built for fast, reliable real-world response.

Next.js Supabase Twilio MapLibre

Code

πŸ›°οΈ Syntrueno Β· β–Ά Live service

Agentic AI Β· Zero-Trust Β· GCP

A zero-trust autonomous cloud-ops swarm. Gemini agents diagnose live incidents, propose remediations, judge their own plans for safety, and: behind a single-use SHA-256 human gate bound to that exact action: execute real changes against real Cloud Run infrastructure, then re-read live state until it converges rather than trusting the API's acknowledgement.

Five guards fail closed, cheapest first. Every refusal is audited into a hash-chained Firestore ledger, never silent. 288 tests run offline in ~2.7 s with no credentials.

Python Gemini Cloud Run Firestore

β–Ά Live Β· Code

🧾 Think9 Brain Β· β–Ά Live

RAG Β· LangGraph Β· Retrieval

A grounded institutional-memory assistant that cites the exact source section, states a good-as-of date, and holds back superseded documents. Built to be trusted, which means built to say "I don't know."

Refusal recall is 1.000 on both eval sets: across 32 unanswerable questions (invented vendors, plausible-but-absent figures, out-of-scope functions) it never once fabricated an answer.

Python LangGraph FastAPI Groq

β–Ά Live Β· Code

More: telegram-mcp (MCP server for your own Telegram account) Β· Face Sort Studio (local CV photo organizer) Β· Cog & Cosmos (Svelte/PixiJS idle game) Β· and browse all repos β†’


🌐 Open Source

Shipping into other people's codebases, where the review bar isn't mine to set.

Merged upstream

PR Project What it fixed
ha-mcp#1670 Home Assistant MCP · 4.6k ⭐ A restart through a reverse proxy returned 502/503 and was read as a failure; the known-good patterns now cover it
android#7018 Home Assistant Android · 3.9k ⭐ Refactored the media-player widget config activity to Compose + Material 3
narwhals#3697 Narwhals · 1.7k ⭐ Added a maintain_order argument to Expr.list.unique / Series.list.unique, across the backend implementations
anker-solix-api#314 anker-solix-api · 296 ⭐ Extended X1 device support by updating the status enumerations

Open, in review

PR Project What it does
ollama#16715 Ollama · 180k ⭐ Fixes CLI image-path parsing bugs
supabase#46915 Supabase · 109k ⭐ Allows newlines in the SMS OTP template string in Studio
appwrite#12597 Appwrite · 57k ⭐ Allows a null name parameter on the user-creation endpoints
helm#32250 Helm · 30k ⭐ Surfaces the installed chart's source location
dbt-core#12952 dbt Core · 14k ⭐ Fixes the snapshot unique_key error messaging
langchain-google#1950 · #1840 LangChain Google · 402 ⭐ Stops the spurious $defs warning on converted schemas; migrates the integration tests to async
×ば぀2</i>\"]\n IOT --> HM[\"Home Assistant MCP<br/><b>merged βœ…</b>\"]\n IOT --> HA[\"Home Assistant Android<br/><b>merged βœ…</b>\"]\n IOT --> AS[\"anker-solix-api<br/><b>merged βœ…</b>\"]\n\n classDef root fill:#a78bfa,stroke:#7c3aed,stroke-width:3px,color:#0f172a\n classDef area fill:#312e81,stroke:#818cf8,stroke-width:2px,color:#e2e8f0\n classDef merged fill:#064e3b,stroke:#10b981,stroke-width:2px,color:#d1fae5\n classDef review fill:#1e293b,stroke:#475569,stroke-width:1.5px,color:#cbd5e1\n class ME root\n class DATA,INFRA,AI,IOT area\n class N,HM,HA,AS merged\n class H,S,AP,O,LG,DBT review\n"}" data-plain="flowchart LR ME(("<b>Contributions</b>")) ME --> DATA["<b>Data &amp; DataFrames</b>"] ME --> INFRA["<b>Infrastructure</b>"] ME --> AI["<b>AI tooling</b>"] ME --> IOT["<b>Home &amp; IoT</b>"] DATA --> N["Narwhals<br/><b>merged βœ…</b>"] DATA --> DBT["dbt Core<br/><i>in review</i>"] INFRA --> H["Helm<br/><i>in review</i>"] INFRA --> S["Supabase<br/><i>in review</i>"] INFRA --> AP["Appwrite<br/><i>in review</i>"] AI --> O["Ollama<br/><i>in review</i>"] AI --> LG["LangChain Google<br/><i>in review ×ば぀2</i>"] IOT --> HM["Home Assistant MCP<br/><b>merged βœ…</b>"] IOT --> HA["Home Assistant Android<br/><b>merged βœ…</b>"] IOT --> AS["anker-solix-api<br/><b>merged βœ…</b>"] classDef root fill:#a78bfa,stroke:#7c3aed,stroke-width:3px,color:#0f172a classDef area fill:#312e81,stroke:#818cf8,stroke-width:2px,color:#e2e8f0 classDef merged fill:#064e3b,stroke:#10b981,stroke-width:2px,color:#d1fae5 classDef review fill:#1e293b,stroke:#475569,stroke-width:1.5px,color:#cbd5e1 class ME root class DATA,INFRA,AI,IOT area class N,HM,HA,AS merged class H,S,AP,O,LG,DBT review " dir="auto">
flowchart LR
 ME(("<b>Contributions</b>"))
 ME --> DATA["<b>Data &amp; DataFrames</b>"]
 ME --> INFRA["<b>Infrastructure</b>"]
 ME --> AI["<b>AI tooling</b>"]
 ME --> IOT["<b>Home &amp; IoT</b>"]
 DATA --> N["Narwhals<br/><b>merged βœ…</b>"]
 DATA --> DBT["dbt Core<br/><i>in review</i>"]
 INFRA --> H["Helm<br/><i>in review</i>"]
 INFRA --> S["Supabase<br/><i>in review</i>"]
 INFRA --> AP["Appwrite<br/><i>in review</i>"]
 AI --> O["Ollama<br/><i>in review</i>"]
 AI --> LG["LangChain Google<br/><i>in review ×ば぀2</i>"]
 IOT --> HM["Home Assistant MCP<br/><b>merged βœ…</b>"]
 IOT --> HA["Home Assistant Android<br/><b>merged βœ…</b>"]
 IOT --> AS["anker-solix-api<br/><b>merged βœ…</b>"]
 classDef root fill:#a78bfa,stroke:#7c3aed,stroke-width:3px,color:#0f172a
 classDef area fill:#312e81,stroke:#818cf8,stroke-width:2px,color:#e2e8f0
 classDef merged fill:#064e3b,stroke:#10b981,stroke-width:2px,color:#d1fae5
 classDef review fill:#1e293b,stroke:#475569,stroke-width:1.5px,color:#cbd5e1
 class ME root
 class DATA,INFRA,AI,IOT area
 class N,HM,HA,AS merged
 class H,S,AP,O,LG,DBT review
Loading

πŸ› οΈ Tech Stack

πŸ—„οΈ Data Engineering & Analytics

Python SQL PostgreSQL PySpark Databricks Delta Lake Airflow dbt Power BI Tableau Pandas NumPy Matplotlib Seaborn

πŸ€– AI / ML

scikit-learn TensorFlow Keras LangChain Ollama Gemini Groq FAISS OpenCV

πŸ’» Full-Stack

TypeScript Next.js React Vite Tailwind CSS FastAPI Supabase Neon Stripe Deno

☁️ DevOps & Cloud

Git Docker Linux GitHub Actions Playwright Google Cloud Cloudflare Vercel Render

+ more tools I reach for

NumPy Whisper ONNX NLTK Flask Redis SQLite FFmpeg Twilio JavaScript C++ Jupyter


🎯 What I'm Up To

  • πŸ›°οΈ Built Syntrueno for the Google Cloud "All Things Agentic" Hackathon: an agent swarm that makes real infrastructure changes behind a cryptographic human gate. Live on Cloud Run.
  • πŸš€ Shipping Skill Issue at skillissue.tech β€” currently v1.0.12. Scores any GitHub profile out of 100, roasts it, and hands you the receipt. Free, no signup.
  • πŸ“ˆ Running Atlas live on Telegram (@AtlasAnalyst_bot); always-on AI financial analyst, self-healing, 191 tests. Earned a Certificate of Distinction at the Atlas AI Hackathon (Humanity Founders).
  • 🎬 Running AI Reel Factory: a fully autonomous, ~0ドル/month pipeline that publishes daily Shorts to @butitmatters.
  • 🌐 Contributing upstream β€” merged into Home Assistant MCP, Home Assistant Android, Narwhals, and anker-solix-api; open PRs at Ollama, Supabase, Appwrite, Helm, dbt Core, and LangChain Google.
  • 🀝 Open to AI/ML Β· Agentic AI Β· Backend Β· Data Engineering roles and available immediately.

πŸ“œ Certifications & Awards

Certification Issuer Year
πŸ† Certificate of Distinction: Atlas AI Hackathon Humanity Founders 2026
πŸŽ“ M.Tech CSE admission offer (declined for full-time work) IIIT Tiruchirappalli 2026
Introduction to Model Context Protocol (MCP) Anthropic 2026
Data Science, AI/ML Engineer & Data Engineer micro1 2026
Fundamentals of Machine Learning Microsoft 2023
Fundamental AI Concepts Microsoft 2023
πŸ₯ˆ 2nd Place: IEEE Debate Competition IEEE -

πŸ“ˆ GitHub Activity

⚑ Recent Activity


πŸ’¬ Guestbook & AMA

VisitorMessageDate
πŸ‘‹ Want to appear here? Sign the guestbook above!

🀝 Let's Build Something

I like turning messy inputs into useful outcomes; data platforms, AI systems, and products that ship.
Always happy to talk data, AI, and building things.

LinkedIn Email Portfolio

Pinned Loading

  1. Skill-Issue Skill-Issue Public

    Turn any GitHub profile into a deterministic, explainable 100-point engineering score and shareable GitHub Receipts. The AI writes the narrative, never the numbers.

    Python 2

  2. AI-Reel-Factory AI-Reel-Factory Public

    Autonomous near-0ドル content factory: researches news, writes scripts, narrates in a near-human voice (Google Chirp 3 HD), generates AI B-roll, auto-edits a captioned cinematic vertical video, and pu...

    Python 1

  3. vouchrank vouchrank Public

    VouchRank: white-label reputation and AI-search-optimization (AIO/GEO) SaaS for local businesses. React + Vite + Supabase.

    JavaScript

  4. jarvis-py jarvis-py Public

    Offline AI voice assistant with semantic memory, wake-word detection, local LLM inference, streaming TTS, and modular tool-agent architecture.

    Python 5

  5. Youtube-Wrapped Youtube-Wrapped Public

    Spotify Wrapped-style analytics for personal YouTube watch history. Databricks medallion lakehouse (Bronze -> Silver -> Gold) on Delta Lake, served via FastAPI + Next.js.

    Jupyter Notebook 1

  6. CRM-Sales-Warehouse CRM-Sales-Warehouse Public

    End-to-end CRM and sales data pipeline on the Maven Analytics dataset: Python ETL into a PostgreSQL warehouse, orchestrated with Airflow, surfaced via a Power BI dashboard.

    Python 2

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /