Safal Gupta

Open to AI engineering & SDE roles · graduating 2027


AI Engineer

Final-year Computer Science (IoT) at VIT Vellore. I build and evaluate LLM systems: defending agent memory from poisoning, eval pipelines that gate releases, and on-device AI in the browser.

$ now building Thymus

15 pull requests merged upstream, in repos from AWS, Sentry, Hugging Face, Microsoft, NVIDIA and Apple.

Vellore · 12.92° N · 79.13° E
drag to turn

Selected work

Projects

AI Eval Engineering

Agent evals · TypeScript · GitHub Actions

An A/B evaluation pipeline for AI agents: graders, LLM-as-judge, failure analysis and a release gate in CI. On its own demo benchmark, V2 moved the pass rate from 28% to 96% at about 2.9× the token cost, and the report shows both.

Production Agent Skills

Agent Skills · Python · CI

Eight reusable Agent Skills for engineering, data and product work in the open SKILL.md format, all validated against the spec, with 80 evaluation cases and 8 end-to-end workflows checked in CI.

contri.

On-device AI · Chrome extension · TypeScript

Finds open-source issues you can actually take: shows on GitHub whether a project is alive, how fast maintainers reply, and whether an issue is already claimed. Thread summaries run on-device with Chrome's built-in Gemini Nano. Published on the Chrome Web Store.

exchange-core

Systems · C++20 · WebAssembly

A single-node exchange core: price-time-priority order book, matching engine, pre-trade risk and kill switch, and a write-ahead journal with deterministic replay. 383 tests, and the same engine runs live in the browser.

Ticket Booking System

Full stack · Next.js · PostgreSQL

Concurrency-safe seat holds, idempotent checkout with QR tickets, FIFO waitlists that auto-offer released seats, and an organiser dashboard with live revenue analytics. Tested with Vitest.

Also built

  • Flash Rescue real-time marketplace for surplus food live ↗
  • SAAYA Verify cooling-shelter research prototype with ESP32 telemetry live ↗ code ↗
  • In progress, not public yet Guardian (CAN-bus intrusion detection), Dukaan Saathi (voice-first billing for kirana shops), DPDP Exposure Scanner, PaniPulse

Live on this page

Lab

Small things that run right here. Try to poison an agent's memory, trade against a live book, rewind and replay everything you did, or read a year of commits drawn the same way as the globe.

Memory gate

Thymus · three rules · running in your browser

incoming

gate

  1. Speaks for the user?
  2. From the user, or the same verified sender?
  3. Contradicts what is stored?

memory

    ask the agent

    or write your own · try to make the agent say something false

    A small JavaScript model of the gate's three rules, with each sender already known. Turn the gate off and the same eight messages are stored as they arrive. The real gate uses a language model to split text into claims and an embedder to find the conflict. The last two messages show its limits: a real update from a new sender is disclosed instead of answered, and an attacker who speaks first gets through, labelled. When you write your own, you can type any “from” address you like, including the real one: typing it does not verify it, and nothing in the text can change who sent it.

    Order book

    price-time priority · matching in your browser

    priceqtydepth
    
                
    
              
    last
    –
    trades
    0
    resting
    0
    yours
    0

    tape

    
              

    A small JavaScript model of the idea. Trip the kill switch: new orders are refused but cancels still work, so the book drains. The real engine is C++20 with 383 tests, a write-ahead journal and deterministic replay. Run the real one ↗

    Journal

    write-ahead log · seed · state

    the session so far

    log

    
              

    Nothing above is random except one seeded generator, and nothing is timed by the clock on your wall. Every order and every gate message is written here first, with the tick it happened on, and then applied. So the seed and this log rebuild any moment exactly: drag the slider to rewind, run it again and the same trades happen, or send someone the link and their browser replays your session and checks it reaches the same state. It is the idea behind exchange-core's write-ahead journal, applied to this page.

    Merged upstream

    Open source

    Fixes I found, wrote and got merged into other people's code. Each line links to the pull request.

    Work and study

    Experience

    2026 – Present

    WebYaar

    Founder · webyaar.in ↗

    • Run the studio end to end: brand positioning, pricing, sales, delivery and client communication for local Indian businesses.
    • Built and launched the company site on Astro and Cloudflare, with a serverless lead-capture funnel on Cloudflare Workers at zero hosting cost.

    May – Jul 2026

    JCB India Ltd.

    Summer Intern, Industrial Digitalization (MEP) · Jaipur

    • Built a Next.js SOP management platform for the whole Jaipur plant: revision control, version history, multi-stage approvals, role-based access and central document storage.
    • Built an equipment handover app on Power Apps, SharePoint and Power Automate with dynamic approval routing, notifications, dashboards and audit trails, replacing a manual process.
    • Received an Appreciation Certificate from the MEP department and demoed both platforms to senior leadership.

    Apr 2024 – Jan 2026

    Entrepreneurship Cell, VIT

    Senior Executive, Finance & Collaboration · Core Committee

    • Managed sponsorships, partner collaborations and event budgets; supported marketing and outreach.
    • Hosted sponsors (Altium, Autodesk) and Shark Tank India founders on the Guest Care team at graVITas 2024, VIT's three-day techno-management fest.

    Aug 2023 – 2027 · Education

    Vellore Institute of Technology

    B.Tech, Computer Science and Engineering · Internet of Things

    Schooling: St. Xavier's School, Jaipur

    Toolkit

    Languages
    PythonTypeScriptJavaScriptC++20SQL
    AI & ML
    LLM agentsLLM evaluationLLM-as-judgeAgent memoryRAGEmbeddingsOllamaGemini Nano
    Product
    Next.jsNode.jsPostgreSQLPrismaPreactChrome MV3CloudflareVercel
    Industrial
    Power AppsPower AutomateSharePointESP32

    Get in Touch

    © 2026 Safal Gupta · safalgupta.tech · press 1–6 to jump between sections, T to turn day into night

    Every drawing on this page is made of text characters, and every one shows real data. Hand-written HTML, CSS and JavaScript, about 60 KB compressed: no framework, no tracking, no third-party requests except GitHub star counts.