I build systems that look inside before they act: LLM instrumentation, grounded QA that can refuse, multi-host security correlation, paper trading research, and physics simulation. The thread is the same — catch instability early, explain it, and know when not to ship an answer.
It started with drones I build and fly: homemade F450 and F550 frames, built up from motors, ESCs, flight controller, radio. Descend too fast and a rotor drops into its own downwash: vortex ring state. The aircraft could show me the failure. It couldn't explain it.
/02 · SOFTWARE
So I wrote code to ask the hardware better questions: telemetry logging, tuning tools, scripts that turned every flight into data I could interrogate. Software became the instrument layer between what the machine did and what I actually understood about it.
/03 · SIMULATION
The logs said what happened, never why. For that I had to build the physics myself (a reduced-order vortex-ring model, a BEMT-style propeller model) and walk the whole flight envelope on a screen, including the corners too dangerous to fly. Simulation is how I push a system to failure without breaking it.
Anima aims that same instinct at language models: forward hooks into the internals, probe heads reading valence, arousal, and uncertainty from the activations — not from the finished sentence. That pattern repeats across the dossier: Corvex stitches weak host alerts into one campaign before quarantine, BumbleBee cites or refuses on coverage, GodFather lets Risk cut size but never raise it, Orqis opens a reviewable patch instead of silent-pushing. Hardware → software → simulation → models → ops. The question never changed: can you see instability building before the system commits.
PRINCIPLES · 03
Look inside, not just at the output. Hooks, probes, and sealed evals beat trusting the last token.
Simulate when reality costs. Reduced-order sims, BEMT-style models, and walk-forward tests expose failure modes you cannot afford live.
Refusal is a feature. A calibrated "I don't know" is safer than a confident hallucination.
"I build systems that operate under uncertainty — measurable, explainable, and grounded in real constraints — across interpretability, security, finance, legal research, and physical simulation."
PAGE / 03
THE LAB
PHYSICS · REDUCED-ORDER SIMS · SELF-DRIVEN · demo curves here, real solvers in the repos · drag ↓
EXPERIMENT 01 · BEMT-STYLE MODEL
Propeller Simulator
Illustrative demo of the thrust / efficiency / power surface. The BEMT-style solver (simplified; RPM × pitch × blade count, CSV sweeps) lives in the repo. The readout below is a demo curve, not thrust-stand data.
Illustrative Vortex Ring State envelope — the failure mode that taught me to simulate before I fly. Drag into the unstable zone; the reduced-order simulator (Helmholtz / Kelvin Γ, not CFD) is in the repo.
These sims exist because the aircraft demanded them. Homemade F450 / F550 builds taught the failure modes; the solvers let me walk the envelope without breaking hardware. Sim and flight are one project told from two ends.
MULTIROTOR
Homemade F450 quad + F550 hex builds, frame up: motors, ESCs, flight controller, radio. PID tuning, propeller selection informed by the BEMT-style model, telemetry logging per flight.
GROUND + HOME
Rovers, an automated plant-watering system, and home automation on ESP8266-class microcontrollers.
HOMELAB
Raspberry Pi NAS with sanitized configs, media + monitoring stack, and distributed-computing experiments.
Build dossiers (BOMs, flight logs, safety notes) are kept in a private build-log repo.
SIMULATE!
PAGE / 04
CASE FILE #01
LLM INTERNALS · INTERPRETABILITY · HERO FILE
EXHIBIT APROBE READOUT
CASE FILE #01 · HERO
ANIMA
"Hooks into the model while it writes. Valence, arousal, and uncertainty per token — so you can catch a bad stream before it finishes."
Anima is an interpretability meter for Hugging Face causal LMs — not a claim that the model "feels" anything. Forward hooks grab hidden states at chosen layers while tokens stream. Small probe heads map those states to valence, arousal, and uncertainty per token. When the readout looks unreliable, a guard recommends abstaining instead of shipping the answer. Evaluated on five open models: TinyLlama 1.1B scored 94/100 on the benchmark's weighted validity rubric (60 = publication bar). Streams over REST and WebSocket, with a dashboard and a public HF Spaces demo.
Why it matters: you see the instability in the activations, not only in the finished sentence
Hooks: per-token hidden-state capture at selected layers
Probes: GoEmotions-trained heads for valence, arousal, uncertainty
Guard: abstain when the readout looks bad (HaluEval + TruthfulQA fixtures)
"Transformer-free grounded QA: cite when the pack covers it, refuse when it doesn't — no HF transformer on the product path."
private repo
CEC · GRU encoder · SoftCorrelator · CoverageGate
no HF transformer on the product path · python -m bumblebee.cli ask
DOSSIER · ARCHITECTURE
Private research system: a transformer-free alternative for closed-corpus QA. Question → local GRU state encoder → SoftCorrelator over a frozen evidence pack → CoverageGate → answer with citations, or refuse. Skills (chat / math / code) can short-circuit via packs and tools; hard asks fall back to CEC. Not a frontier next-token LLM. Not a Hugging Face transformer backend on the product path. The point is honesty under a sealed pack: cite what you can ground, refuse the rest.
Why it matters: refuse-by-design beats a fluent wrong answer on a thin corpus
Encoder + correlator: local GRU state · sparsemax mass across evidence cells
Gate: cite with sources, or refuse when coverage fails
Honesty: BM25 still leads in-domain F1 on the sealed pack · skills ≠ core CEC
DASHBUMBLEBEE CEC · ASK / CITE / REFUSE
Bumblebee CECask · cite · refuse · demo pack
Better at OOD refuse + citations · worse at in-domain F1 vs BM25 · not a live model
Scripted sealed-pack demo shaped like bumblebee dash. Demo output, not a live model run. Private repo.
PAGE / 06
CASE FILE #03
SECURITY · MULTI-HOST · CORRELATE
EXHIBIT CCAMPAIGN TIMELINE
CASE FILE #03
CORVEX
"Weak per-host alerts become one campaign timeline. No LLM. No cloud API. Containment stays locked until you unlock it."
Multi-host campaign correlator for threat hunting. Each host runs weak detectors (lateral_auth, micro_exfil, recon_fanout). Corvex fuses the HMAC-signed events into one ATT&CK-shaped timeline so an analyst sees the campaign, not a pile of unrelated alerts. Observe-only sensors: Windows via wevtutil, macOS via lsof (plus optional channels). Live containment stays locked off by default. Holds on synthetic ATT&CK-shaped fleets; not yet validated on real enterprise telemetry or a pure-benign baseline.
Why it matters: single-host noise becomes a cross-host story you can act on
Chrome from corvex dash run-feed. Widget is a demo theatre — sealed synthetic packs, not commercial SOC parity. repo + demos ↗
CORRELATE!
PAGE / 07
CASE FILE #04
MULTI-AGENT DESK · NSE PAPER · PRIVATE REPO
EXHIBIT D20-AGENT BUY/SELL DESK
CASE FILE #04 · PRIVATE
GODFATHER
"A multi-agent NSE paper desk. Scout ranks. Risk can only cut size. Session owns the open — never silent live money."
private repo
Scout · Risk · Session · shared ledger
paper / session-sim · not investment advice
DOSSIER · MULTI-AGENT
Private multi-agent auto-trade orchestration for NSE research. Specialized agents share one desk: Scout ranks prior-session bulk/block BUY filings (no lookahead), Risk enforces fail-closed capital caps and cooldowns, Session owns open-range entry and same-day exits. Their outputs fuse into a single paper ticket. Risk may cut size or force cash — it is never allowed to raise risk. Paper / session-sim only. Not investment advice.
Why it matters: agents debate under hard risk gates, not free-form "buy" chatter
Scout: prior-session bulk/block BUY · no lookahead
Cofounded. Orqis watches agent and app logs, flags incidents (including runaway tool loops), explains the break in plain English over MCP, and opens a reviewable unified-diff patch or PR. Deterministic libcst fixes plus confidence-gated LLM assist. A human approves before merge — it never pushes the default branch on its own. That refusal-to-automerge is the product, not a footnote.
Why it matters: agent ops without silent writes to the default branch
Detect → explain: runaway loops, stack traces · RCA into the IDE via MCP
Patch: libcst remediations + gated LLM assist
Review: PR-first · human in the loop · refuse silent push
Running athera.digital (SMB AI automation) and VidhiSetu (Indian-legal RAG with citation audit, closed beta, refined with informal feedback from 2 law agencies and 3 lawyers). Client names stay private.
WHAT I SHIP
Athera: SMB automation, lead / outreach, client sites
Builder across security correlation, grounded QA that can refuse, LLM instrumentation, paper trading research, agent ops, legal-tech RAG, and physical simulation. The through-line: measurable performance, tight feedback loops, and knowing exactly when a system should refuse to answer.
OFF-KEYBOARDGoa Globe 2024 football: team 2nd place. School team 4 years; state-level CBSE tournament. Also competitive skating (past), badminton, swimming, Model UN, and two SWEA school trips (three days each). Built websites to help NGOs get online; 50+ hours of community service.
STACKDAILY
langPython · TypeScript · GLSL · C
mlPyTorch · Hugging Face · LangChain · vLLM
webFastAPI · Next.js · WebGL · Three.js
dataPostgres · Qdrant · Redis · DuckDB
infraDocker · Linux · GH Actions · n8n
STATSDOSSIER · FILE
05case files
·public repos
02internship orgs
·other projects
STAMPSCREDENTIALS
YCYC Startup School IndiaAccepted participant · not a YC batch / funded claim