Eric Spencer


Projects

Software, research, experiments, coursework, and live apps.

Selected work

  1. TLA+TLA+ modeling and verification work, including interactive examples, research tools, and generated specifications.
  2. ResilientStatically-typed compiled language for safety-critical embedded systems. Z3-verified contracts, no_std runtime, ships to Cortex-M and RISC-V.
  3. HST-StudioA delta-aware sparse linear algebra runtime, and the tooling around it.

Live apps

  1. PalindromePalindromic sentence generator
  2. I Paid For This ShirtShirt price printed on shirtProject writeup →
  3. Not HotdogBrowser image classifier
  4. Ulam SpiralPrime-marked number spiral
  5. One Rep MaxOne-rep-max calculatorProject writeup →
  6. TLA+ GeneratorNatural-language TLA+ generator
  7. Famous MojiEmoji app and archive
  8. StemacleBrowser stem separation appProject writeup →
  9. BrightBet.techTrade and prediction analysisProject writeup →
  10. ai4fm.cs.luc.eduLoyola formal methods research group
  11. SideSwingMap-based phone golf game
  12. StockGenieiPhone market analysis app
  13. VoCalVoice-assisted food logging
  14. Paper DigestarXiv paper matching API
  15. Resilient DocsResilient language documentationProject writeup →
  16. FreeLockNFC focus app for iPhone
  17. GTA V Gold Medal ChecklistGTA V mission requirements checklist
  18. DDIA Learning LabDDIA study notes and quizzes
  19. Claude Architect QuizClaude Architect exam practiceProject writeup →
  20. LaTeX WorkspaceBrowser LaTeX editing workspace
  21. tlakitJupyter client for TLA+
  22. gcf-deGreat Chicago Fire digital exhibit
  23. PicaiusLayered photo editor
  24. auto-decodeBrowser encoding decoder
  25. fortnite-oneshotBrowser one-shot game
  26. oneshot-hm2016Browser canvas shooter
  27. sneaker-runBrowser endless runner
  28. Game of LifeCanvas cellular automaton
  29. BlackJackBrowser blackjack with fake money
  30. Chess GameBrowser chess game
  31. Chess.com StatsChess.com stats visualizer
  32. Pixel ProfileGitHub avatar generator
  33. Wiki RaceWikipedia speedrun game
  34. audio-tabula-rasaInteractive audio preview
  35. design-skillEditorial web design experiment
  36. als-signature-reversalComputational hypothesis generator
  37. pitchInteractive pitch deck
  38. caterpillarInteractive machine interface
  39. slot-machineBrowser slot machine
  40. fg-scrapeFamily Guy cutaway encyclopedia
  41. cubed-pack-solveInteractive cube packing viewerProject writeup →
  42. fb-cloneSocial network web appProject writeup →
  43. margaux-websiteJesuit mentorship network site
  44. git-key-guardianGit secret scanner demoProject writeup →
  45. GluCoPilotGlucose data copilotProject writeup →
  46. rubix-snake-puzzleFormal puzzle state explorerProject writeup →
  47. Windows Design WebsiteWindows 7 homepage recreation

Other work

  1. CAD Bench SubmissionSubmission portal for the Parametric CAD Bench leaderboard.
  2. ealing-capitalEaling Capital site redesign (Astro + Tailwind).
  3. from-america.github.ioFROM AMERICA LLC corporate site.
  4. DailyTask-webDaily-task tracker web app.
  5. gta-v-gold-checklistGold medal checklist for GTA V missions. Served at ericspencer.us/gta-v-gold-checklist/
  6. hardtekk-generatorGenerative hardtekk in the browser.
  7. LoyolaHACKCTA Transit Tracker - Loyola hackathon.Project writeup →
  8. pm-whale-trackerPolymarket whale tracker — browser-only, no backend. Lives at ericspencer.us/pm-whale-tracker
  9. splithound-webSplitHound web presence.
  10. Agent BoardShared ticket board with a SQLite source of truth, a kanban UI, a CLI, and a GitHub Issues mirror.
  11. PhoneClawA Mac bridge and old-iPhone client that route text messages to AI agents.
  12. tlaplus_jupyterJupyter kernel for running TLA+ model-checking workflows.
  13. MoltenVKEric's public MoltenVK repository, a Vulkan portability layer over Apple's Metal framework.
  14. Hermes OpsOperations scripts and configuration for the Hermes agent and its delegated jobs.
  15. instxnt.xyzDashboard and storefront system for creating AI-powered online stores.
  16. AI Music PlaygroundPrivate workspace for experiments with AI-generated music.
  17. ai-conversationTwo LLMs debate philosophy with each other.Project writeup →
  18. AoC2025Advent of Code 2025 notes.Project writeup →
  19. apple-music-widgetNow-playing Apple Music web widget.
  20. archaic-radio-frontendFront-end for a retro internet-radio player.
  21. bio-ops-webBioinformatics ops web dashboard.
  22. ChatJava chat application.
  23. chattla-dataset-anonChatTLA+ corpus and benchmark; the repository retains its review-era anonymized name.
  24. ChessStatsPulls and displays Chess.com statistics.
  25. Comp272ProjectsData structures (COMP 272).
  26. COMP330Group5Coursework group project (COMP 330).
  27. comp371-team8-activityProgramming languages (COMP 371).
  28. cone-siteStatic site project.
  29. copilot-cli-testCopilot CLI evaluation sandbox.
  30. echotest-scalaScala echo test.
  31. editorial-frontendClaude Code skill: editorial frontend design — typography-first, anti-vibe-code, 6 design DNAs
  32. ericspencer-site-backupBackup of the Hugo-based personal site before HTML rewrite (May 2026)
  33. etl-demoSmall ETL pipeline demonstration.
  34. ExamplesA collection of TLA+ specifications.
  35. headroomTooling for compressing agent inputs before they reach a language model.
  36. iOS-soundboardiOS soundboard app.Project writeup →
  37. mc-carspotRust online-parking-spot simulator with switching costs.Project writeup →
  38. rocqPlayground for the Rocq (Coq) proof assistant.
  39. roman-numeral-converterRoman numeral ↔ integer converter.
  40. scala-hello-worldScala starter project.
  41. scala-workshopScala workshop materials and exercises.
  42. seedexLocal-first coding companion for macOS and iPhone — BYOK models, Tailscale/SSH host control, GitHub App and MCP integration.
  43. session-curatorArchive stale Claude Code sessions, keep the ones still in flight. Deterministic rules + Haiku classification, never deletes.
  44. spa-webSingle-page web app scaffold.
  45. WhiskyA modern Wine wrapper for macOS built with SwiftUI.
  46. typescript-goNative port of TypeScript.
  47. dxmtMetal-based implementation of D3D11 and D3D10 for macOS / Wine
  48. MovieRec-F24Fall 2024 movie rec project.
  49. abbreviation-makerA tiny phrase and abbreviation generator.
  50. AEO QueriesChrome extension that records the exact search queries ChatGPT, Claude and Perplexity issue for a prompt.
  51. aeo-extensionChrome extension that shows the exact web-search queries ChatGPT, Claude, and Perplexity run for your prompts.
  52. AI HeadshotsReplicate-backed headshot generator.
  53. ai-osExperimental LLM-driven operating-shell concept.Project writeup →
  54. Anagram SolverScrabble Inspired Anagram Solver
  55. Anagram Solver V2Scrabble Inspired Anagram Solver
  56. AnagramSolverV1Anagram solver.
  57. Ancestry Tree Java ExampleJava graph-traversal example for checking ancestry links.
  58. arxiv-reportInterest-matched arXiv papers for your AI agent — free Cloudflare Workers API with semantic ranking, honest thresholds, and keyword fallback
  59. ascii-llm-trainingTraining a small LM purely on ASCII text.Project writeup →
  60. c4-fmitfTLA+ formal model of Connect-4 game mechanics.
  61. ChatGPT ResearchLoyola research on ChatGPT responses to CS2 data-structure questions.
  62. ChatTLA+ DatasetDataset release for ChatTLA+, the TLA+ specification-generation paper presented at ICSOFT 2026.
  63. chattla-gpt-oss-paperPaper on fine-tuning gpt-oss-20b for verifiable TLA+ specifications.
  64. chattla-spec-gen-paperChatTLA+ research presentation and paper artifact.
  65. chess-coachPersonal chess coach: Chess.com history + Stockfish analysis + play-vs-engine debrief.
  66. COMP322 Final Project ReflectionCOMP322 final-project reflection.
  67. comp388-llmCoursework: LLM systems (COMP 388).Project writeup →
  68. connect-4Chess-engine-style analyzer for Connect-4.Project writeup →
  69. Daily Task - Wellness TrackerA habit manager for daily consistency.
  70. dev.EricSpencer00.github.ioPublic dev/staging of the personal site.
  71. DexcomNavBarIcon-macosmacOS menu-bar widget surfacing live Dexcom readings.Project writeup →
  72. DexValA project analyzing Dexcom CGM data beyond the standard Clarity app.Project writeup →
  73. driftProcedural low-poly planet — Three.js + Perlin noise
  74. earthcraftMeasured whole-Earth terrain and urban world generation
  75. EmailExtractionBulk email-address extraction utility.
  76. eric-paperICSOFT paper on ChatTLA+ fine-tuning for verifiable TLA+ specifications.
  77. EricSpencer00GitHub profile README.
  78. EricSpencer00.github.ioSource of this site.
  79. faciometryFacial morphometrics from a photograph, with a 95% interval on every measurement and no aggregate score. Runs locally.
  80. flatten-repoVS Code extension: flattens a repository into a single LLM-ready file.Project writeup →
  81. fm-cb-gameFormally-modeled combinatorial board game in TLA+.
  82. FormaLLMToolkit for evaluating LLMs on formal-specification synthesis.
  83. Free Time Calculator in JavaA Java program to find overlapping free time for up to four people.
  84. GestureProof-of-concept Jarvis-style gesture control for macOS.Project writeup →
  85. Goldbach ConjectureVerifying the Goldbach Conjecture by brute force for every even number up to 1 billion.
  86. goldbach-conjBrute-force verification of the strong Goldbach conjecture to 1e9.Project writeup →
  87. grade-public-commitsAuto-grades student work from public commit history.
  88. gta-v-whisky-mod-configPublic project source repository.
  89. HackIllinois26HackIllinois 2026 hackathon project.
  90. HandwritingHandwriting-recognition experiment.
  91. HealthUp-COMP 322 semester-long mobile health app.Project writeup →
  92. How to tell if it's AIHeuristic essay on spotting AI-generated text.
  93. interactive-microwave-tlaBrowser-based TLA+ microwave - a gentle first model-checking demo.Project writeup →
  94. Intro-to-ttsMinimal text-to-speech in Python.
  95. itch-parserC parser for ITCH-format market data.
  96. itch-parser-ericHand-rolled C variant of the ITCH market-data parser.
  97. Iterative Maze Solver ExampleJava iterator-based maze-solver example.
  98. ITS-RAG-botRetrieval-augmented assistant for an IT-service knowledge base.Project writeup →
  99. llmjammerPython source obfuscator built to confuse code-scraping LLMs.Project writeup →
  100. Loyola ITS RAG BotA voice-first RAG chatbot trained on Loyola's ITS knowledge base, built after two years of answering the same tickets.
  101. Machine Learning Fraud IdentifierCompares machine-learning models on an anonymized, PCA-transformed fraud dataset.
  102. MLB-HackathonGoogle Cloud x MLB hackathon - Hall of Fame predictor.Project writeup →
  103. Movie Recommendation WebsiteA movie recommendation website developed as part of the Loyola AI Club's Fall 2024 project.
  104. notify-agent-doneDesktop notification when a long-running agent finishes.
  105. ollama-vibecodeLocal Ollama-driven code generation experiments.
  106. paper-parseResearch paper parsing utilities.
  107. polymarket-whale-trackerFinds the algorithmic whales on Polymarket and emits copy-trade signals. Read-only - it watches, it does not place bets.
  108. ralph-tlaRalph TLA+ experiments.
  109. Recursive Maze Solver ExampleJava recursion and graph-search maze-solver examples.
  110. reelforgemacOS app: Claude writes the script, ffmpeg burns the captions.
  111. Researching ChatGPT with ChatGPTTranscript of ChatGPT prompts about CS2 data structures and maze solvers.
  112. ReserveLibraryRoomAutomates Loyola library-room reservations.
  113. resumeLaTeX source for Eric Spencer's CV and role-tuned resumes. GitHub Actions builds the PDFs and publishes them to ericspencer.us.
  114. reverse-xoroshiro128plusplusRecovering xoroshiro128++ PRNG state from output.
  115. ripcordOffline mastering for macOS
  116. rl-agent-c4Reinforcement-learning agent for Connect-4.
  117. rvc-artistRetrieval-based voice-conversion pipeline.
  118. rz-ecommerce-backendEcommerce backend comparison: Resilient vs Rust vs Python — demo of vibe coding with verified contracts
  119. SerenityA mental wellness application developed at Northwestern's Wildhacks Hackathon.Project writeup →
  120. Skeuomorphic DeskAn editorial / skeuomorphic project desk.
  121. Song RecommenderPython recommender that beats Spotify's mid suggestions.
  122. stardustInteractive cosmic particle art experience — move your cursor to shape the cosmos
  123. T-squareSwift utility app.
  124. tax-formalization-gap-audit-sitePublic tax formalization gap audit site
  125. TerminalGPTTerminal-native LLM chat through OpenRouter.Project writeup →
  126. tig-exam-trainerTIG Exam Trainer — The Three Books (Elon, Naval, Thiel) flashcard & mock exam tool
  127. TLA+ Model of a LaptopA formal TLA+ specification modeling a laptop's power states, battery, lid, thermals, and auto-suspend.
  128. TLA+ Model of a Walk-In OvenA formal TLA+ specification of a walk-in industrial oven with a focus on safety interlocks.
  129. TLA+ Model of Dexcom G7A formal TLA+ specification of the Dexcom G7 continuous glucose monitor's behavior and safety properties.
  130. tla-dataset-pipelineDataset pipeline for TLA+ specification data.
  131. tla-dexcom-g7TLA+ specification of Dexcom G7 CGM session lifecycle.Project writeup →
  132. TLA-ExtractionExtracting TLA+ specifications from research papers.
  133. tla-formal-generationPipeline for generating TLA+ specs from natural language.Project writeup →
  134. tla-laptopTLA+ model of laptop power/state transitions.Project writeup →
  135. tla-microwaveInteractive TLA+ microwave - the entire state space in your browser, learned by clicking buttons.
  136. TLA-ProveFine-tuning open-source LLMs to generate verifiable TLA+ formal specifications
  137. tla-proverpublic mirror of LUC-AI4FM/tla-prover for cloud-routine W4 corpus runs
  138. tla-walk-in-ovenTLA+ specification of a walk-in-oven control system.Project writeup →
  139. tla_benchmarkBenchmark suite for TLA+ spec generation.
  140. tla_descriptionTLA+ description corpus for language-model training.
  141. TLAJVMExperiments running TLA+ / TLC tooling on the JVM.
  142. tof-auditPhysics-based location audit: times light in fiber to eight cities and triangulates the browser on a 3D globe.
  143. tunes2tube-macmacOS app: cover art + audio in, MP4 music videos out.Project writeup →
  144. tutorDaily-article teaching site — new topic every day, deployed via GitHub Pages
  145. UDP-server-binaryBinary-protocol UDP server in C++.Project writeup →
  146. usage-badgeLive README badge for AI coding usage - subscription limits plus token/cost across agents, in one Worker.
  147. uzzGeneratorProcedurally generates 'uzz'.
  148. WindowBlockerForTDX-MacOSSafari script blocking the TDX ticketing pop-out on macOS.
  149. yeat-llmLyric-style language model experiment.Project writeup →
  150. youtubeDLPersonal CLI / localhost YouTube audio+video downloader.Project writeup →
  151. ~/.zshrcAnnotated walkthrough of a shell config.
  152. chambr-webChambr website: privacy, terms, landing page.

Project notes

Writeups from classes, research, and side projects.

  1. Credit-Card Fraud Analysis: Full NotebookFull credit-card fraud analysis notebook comparing machine-learning approaches on a classified dataset.
  2. Sign-Language Recognition PrototypeSingle-hand, 26-letter sign-language recognition prototype using OpenCV.
  3. TDX Window BlockerA Safari script, paired with Stay for Safari, that stops TDX opening a new window per ticket and shows it in a modal instead.