№03 Altruism Engine
300 neural-network critters evolving over 3000 generations to answer one question: share food, or hoard it?
My high-school senior project. 300 agents across 3 species + 10 predators, each running a 10-hidden-layer feedforward net batched through torch.bmm so the whole ecosystem steps forward in a single GPU call. Two modes let me compare selection pressures directly: altruism (food split proportionally) vs. steal (largest agent takes everything). Top 10% breed, mutation rate 0.1, 3000 generations of watching tiny fish either get along or very much not.
PythonPyTorchEvolutionary Computation
№05 BLINK 2D
The 2D prototype before BLINK 3D got ambitious. Pygame, top-down, same "eyes open = paused" mechanic.
The top-down proof of concept before the 3D version took over my life. Procedurally generated houses across three floors, keyboard fallback if you'd rather not point a camera at yourself, crafting wheel, an AoE petrify pulse for when you're cornered, enemies with a suspicion meter, and a seven-level guided tutorial so new players don't immediately rage-quit.
PythonPygameGame Dev
№06 GitHub Blogger Agent
Paste a GitHub repo; get a report a manager could actually skim. Or chat with the repo like it's a slightly overworked senior dev.
Pulls up to 90 days of commits, categorises them by what they actually did (not just what the commit message claimed), feeds the real diffs to Gemini 1.5 Flash, and renders a stakeholder-ready report with a commit heatmap, language chart, prose summary. There's also a 'Dev-GPT' chat mode grounded in the README and commit history, which turns out to be suspiciously good at answering 'why does this file exist?'. Flask + Jinja2 + markdown-it-py on the rendering side.
PythonFlaskGemini
№07 Personal Job Autofill
A Chrome extension that fills job applications for me. Nothing leaves the browser. No servers, no analytics, no vibes-based data collection.
Manifest V3, fully local. Multi-profile support (different personas for different roles), custom keyword→value mapping when field labels are weird, a Fill Report tab showing what got filled / skipped / couldn't match, a Cmd-Shift-F shortcut, and a toolbar badge with a per-page field count. Fires React/Vue-safe focus/input/change/blur events so modern form frameworks actually register the fill. Every byte of data lives in chrome.storage.local.
JavaScriptChrome ExtensionMV3
№08 Viral Illness Dose-Response Model
Numerical model of a viral infection under medication. Euler's method + an IVT argument hand off the therapeutic dosing window in closed form.
Discretised ODE model of viral particle count vs. drug concentration, integrated with forward Euler on a 1-hour time step. An IVT argument over the simulation output pins the therapeutic dosing window to 10.2–10.3 million particles, which maps to ~24.25 µg/hour given 2.5%/hour kidney clearance. Three self-contained Python programs, one per model variant. One of the first projects where 'write the model, run it, read off the answer' clicked for me.
PythonNumerical MethodsPharmacokinetics
TIP · CODE IS WORTH MORE THAN ITS WEIGHT IN XP.