Colophon

How this site is built. Every check runs on every push.

Stack

Astro with static output — zero JavaScript by default. The interactive pieces (the Council hero, ⌘K, the theme toggle, the mobile menu) are Preact islands, hydrated only where they're used. TypeScript in strict mode throughout, with Zod schemas on every content collection.

Content integrity, enforced by the build

Every project's status badge, every metric and every key finding needs a source in its frontmatter — a repo path, a FINDINGS.md line, or a dated confirmation. The Zod schema rejects an entry that skips one; the build fails, not just a lint warning. A separate script scans the built site for a short list of banned terms (never committed to the repo) so nothing private ends up published by accident, and a second script fails the build on any leftover draft-only placeholder note. Both run again in CI on every push.

Type & fonts

Inter Variable for UI text, Geist Mono Variable for data and labels — both self-hosted as WOFF2 subsets, with metric-matched fallback fonts so the swap doesn't shift layout (CLS stays at 0). No Google Fonts CDN, no third-party font requests.

Targets

  • Lighthouse mobile 100 across performance, accessibility, best practices and SEO on the homepage, /work, one case study and one paper.
  • LCP under 1.2 s on throttled 4G, CLS 0, INP under 100 ms.
  • Homepage JavaScript under 90 KB gzipped.
  • WCAG 2.2 AA: full keyboard access, visible focus rings, a genuinely static experience under prefers-reduced-motion.

Testing

Vitest covers the schemas, the lints and the pure logic behind the live demos (the tie-out engine's integer-cents math, the order-book model). On every push, CI also runs Playwright smoke tests on every page, an axe accessibility pass on every page in both themes, the four live demos end to end, Lighthouse, a JavaScript size budget and a link checker.

Hosting & decisions

Netlify, chosen over Cloudflare Pages mainly for repo-versioned cross-domain redirects and a zero-backend contact form. Every non-obvious choice — including that one — is logged as it's made in DECISIONS.md, an ADR-lite log in the repo.

Source

The whole site goes public at launch, at github.com/mit37/mitanshm.com: the same repo this page is served from.

m.mittal
Home
Work
Research
Lab
About
Experience
Now
Résumé
Uses
Colophon
Contact
AccountWardin-build
Redlbuilt
The Councilresearch
BEMAresearch
EXIT LIQUIDITYin-build
NEXUSarchived
Warrant + Forgebuilt
Concordarchived
BlueCollarPalin-build
Chispenbuilt
Warrant Portalbuilt
JobAppin-build
Night/Dayexplored
BLACKSITE: NULLin-build
SlugBitesbuilt
Riptidebuilt
AeroBitesarchived
Internbuilt
CAD & 3D printingexplored
ForgeCouncilexplored
ADDE: adversarial due-diligence engineexplored
Model routing in practiceexplored
AI due-diligence market mapexplored
Quorumarchived
Colossus Wakeexplored
FitFindrbuilt
Project Omniexplored
Oblivionexplored
MeetWisebuilt
EyeOSexplored
LinkLeap AIexplored
Up-Toexplored
Offline speech-to-notes (Java)explored
AI-assisted game production pipelineexplored
COLLAPSEarchived
THE TRIALSarchived
EcoNodearchived
ESP32-S3 / LoRa benchexplored
CleanPlaybuilt
Rezonyrbuilt
Habit Tracker Telegram Botbuilt
Job Board Aggregatorin-build
Visual Hand Trackbuilt
CLI Task Trackerbuilt
All work44 entries
Can’t Hallucinate, Can Still Be Wrong: Calibration of a Typed-Decision Model Under Input Noisepaper
Disagreement as Signal: A Hybrid Multi-Agent and Council Architecture for Error Detection in LLM Systemspaper
Killing Good Ideasessay
Uncorrelated Failure Modesessay
ADDE: adversarial due-diligence engineexplored
AI due-diligence market mapexplored
AI-assisted game production pipelineexplored
Aura Chatexplored
Colossus Wakeexplored
EcoNodearchived
ESP32-S3 / LoRa benchexplored
EyeOSexplored
FitFindrbuilt
ForgeCouncilexplored
LinkLeap AIexplored
MeetWisebuilt
Model routing in practiceexplored
Offline speech-to-notes (Java)explored
Oblivionexplored
Print benchexplored
Project Omniexplored
Provably-fair outcome enginebuilt
Quorumarchived
Up-Toexplored
Copy hello@mitanshm.com
Switch theme
Play motion
RésuméPDF
Open GitHub ↗mit37
Open LinkedIn ↗
Toggle layout gridh
Toggle single-key shortcuts/ h