This is a submission for the MLH x DEV Writing Challenge
Twenty three original repos. One month. One rule.
I wrote the rule down after I broke it a few times ↘
Do not ship a number you cannot explain.
Measure it first, then show the working.
Every project this month came out of that one habit.
It is a low bar, but almost nothing passes it. ヾ(≧ ▽ ≦)ゝ
What I Built
It started with an animation I could not defend
Someone shipped a dropdown with transition: all 300ms ease.
I asked three questions in review:
- Does it settle, or does it wobble?
- How far does it overshoot?
- Will it force layout on every frame?
Nobody knew. The duration was a vibe. →
So I built Folio Motion, a motion physics lab for the browser.
It does not look up a table of nice numbers. It integrates the spring equation:
const DT = 1 / 240; // fixed step, 240 Hz
for (let i = 0; i <= steps; i++) {
const accel = (-k * x - c * v) / m;
const vNext = v + accel * DT; // velocity from force
x = x + vNext * DT; // position from new velocity
v = vNext;
}
That exact function is what renders the CSS I export.
The curve you see is the trace the solver produced, not a drawing of a curve. (⌒▽⌒)👉
The bug that taught me the most
My first version declared a spring settled when its position came near the target.
That is wrong, and I shipped a test that proves it. ◑﹏◐
An under damped spring passes through the target at high speed several times before it actually stops.
A position only check reports zero overshoot for a violently bouncing motion.
So rest needs a velocity condition as well. With ω = √(k/m):
settled ⟺ |x| ≤ ε AND |v| ≤ ε·ω
A body travelling at v coasts roughly v/ω further.
That second clause is what proves the motion would stay put, instead of just flying past it.
Then I scored it with five weighted factors, every one measured rather than guessed:
| Factor | Weight | Measured from |
|---|---|---|
| Settle time | 30 |
first moment at rest, in ms |
| Overshoot | 25 |
peak position past target |
| Onset latency | 20 |
time to cover the first 10% of travel |
| Velocity profile | 15 |
peak velocity, normalized by distance |
| Accessibility | 10 |
whether the property forces layout or paint |
The contributions shown in the UI sum exactly to the headline score.
There is a test for that too, because a score you cannot add up is just a vibe with decimals. ←
Since I do not trust numbers, the app signs its own history
Each spec owns an independent append only chain:
seal_n = SHA-384( UTF-8(prevSeal) || canonicalJson(event_n) )
canonicalJson sorts keys recursively, drops undefined,
and maps non finite numbers to null.
That is the part that makes a seal computed in a browser test
byte identical to one computed on the server.
Deleting a spec writes a tombstone, never a row removal,
so the chain stays replayable forever.
Hit /verify and it recomputes every seal,
then tells you the index of the first broken link. (❤️ ω ❤️)
Then the month got out of hand
Folio Motion was supposed to be the only thing.
It was not. ↙
The same instinct showed up over and over, so I stopped treating these as separate projects
and started seeing them as one habit wearing different clothes.
The skills layer ↘
| Project | What it does |
|---|---|
| skills |
521 production grade agent skills across 47 professions, installed with npx skills add
|
| skillforge | a free open registry where you can search, safety score, compose and install those skills |
| skill-relay | a relay lab that discovers and repackages public skills across every harness |
One skill file is SKILL.md. Numbered steps, real pitfalls, success signals, copy paste commands.
No filler. If a skill cannot survive contact with a real repo, it does not ship.
The prompt layer ↙
| Project | What it does |
|---|---|
| gpt-6-astra-awesome | 3,360 original Astra prompts across 28 categories, plus a cinematic web showcase |
| prompt-forge | prompts in, runnable SVG, arcade, 3D and simulation artifacts out |
The analyzers, all deterministic, none of them a black box ↘
| Project | What it does |
|---|---|
| truthlens | is this creator worth your time, scored from explainable signals |
| neural-cartographer | a six factor code intelligence atlas with a sealed score |
| hooklens | catch a webhook live, inspect it, replay it as curl |
| upgrade-atelier | a keyless upgrade dossier for npm deps with live release signals |
The planetary crew, all reading public feeds and nothing else ↙
| Project | What it does |
|---|---|
| terra-pulse | live earthquakes and disasters, one sealed risk index |
| helios-pulse | solar maximum tracking with aurora reach |
| solar-sentinel | solar storms arriving at Earth, live |
| aurora-lens | solar plus seismic ops globe |
| pulsegrid | space weather crossed with earthquakes and wildfires |
Agents, safety and governance ↘
| Project | What it does |
|---|---|
| repomedic | the triage agent from The Agent Harness Hackathon |
| stewardship-ledger | an evidence first casebook for accountable AI |
| helio-commons | a mission board for space compute bets |
| ai-agents-duel | two agents arguing it out in a digital stadium |
| cryptid-field-station | report, verify, track |
And three that are just mine ↙
| Project | What it does |
|---|---|
| your-voice-journal | a voice and multimedia journal on my own database |
| RSI | a grounded recursive self improvement loop |
| ai-exploration | daily AI links turned into short plain notes |
The thread
Same stack, same rules, over and over.
Next.js, real Postgres, real public feeds, no required environment variables,
a test for every claim, and an MCP server so an agent can use it too.
Folio Motion has 17 stars and 6 forks now.
That is the number I care about least, and I mean that. ↖
Demo
Everything below is live right now, not a screenshot.
Twenty of the twenty three run a public URL.
The ten second wow ←
Open the Folio Motion lab,
drag damping from 30 down to 5,
and watch three things move at once.
The box starts bouncing.
The settle time readout climbs from 371ms to 1246ms.
The score bar drops.
All three come from one live integration of x'' = (−k·x − c·v) / m,
the same function that renders the CSS you export. (👉゚ヮ゚)👉
Live apps
| Project | Link |
|---|---|
| Folio Motion | folio-motion.vercel.app |
| GPT-6 Astra Hub | gpt-6-astra-showcase.vercel.app |
| Skills Directory | aniruddha-skills-directory.vercel.app |
| SkillForge | skillforge-aniruddha-adaks-projects.vercel.app |
| Skill Relay | skill-relay-tau.vercel.app |
| TruthLens | truthlens-virid.vercel.app |
| Neural Cartographer | neural-cartographer.vercel.app |
| RepoMedic | repomedic-gules.vercel.app |
| Prompt Forge | prompt-forge-neon-one.vercel.app |
| HookLens | hooklens-brown.vercel.app |
| Upgrade Atelier | upgrade-atelier.vercel.app |
| Helios Pulse | helios-pulse.vercel.app |
| Terra Pulse | terra-pulse-sooty.vercel.app |
| Aurora Lens | aurora-lens-ruddy.vercel.app |
| Solar Sentinel | solar-sentinel-vert.vercel.app |
| Helio Commons | helio-commons.vercel.app |
| Stewardship Ledger | stewardship-ledger.vercel.app |
| AI Agents Duel | ai-agents-duel.vercel.app |
| Your Voice Journal | your-voice-journal.vercel.app |
| RSI Atlas | aniruddhaadak-rsi.vercel.app |
Try the skills in your own terminal →
npx skills add aniruddhaadak80/skills
One command, and OpenCode, Claude Code, Cursor, Codex, Copilot,
Gemini CLI and 75 other harnesses all gain 521 skills.
They load on demand through progressive disclosure,
so an unused skill costs you nothing in context.
Run Folio Motion yourself ↙
git clone https://github.com/aniruddhaadak80/Folio-Motion
cd Folio-Motion
npm install
npm run dev
No .env file. No database to provision first.
That was a rule I set after losing an evening to setup.
Verify my own claims ↘
git clone https://github.com/aniruddhaadak80/Folio-Motion
npm install && npm test
Four unit suites cover the engine, integrity, repository and schema.
Nine Playwright journeys drive the real UI on desktop and mobile,
and they fail on any uncaught console error.
Nine journeys plus four suites is the whole safety net.
Small, but every claim in this post traces back to one of them. (@^0^@)/
Partner Technologies
The short version: I leaned on open tooling hard, and I stayed off anything I could not inspect.
Vercel ↗
Twenty deployments, one command. Every project ships with a real URL
instead of a paragraph describing what it would look like deployed.
That single decision is why the table above has twenty rows in it.
Next.js 16, React 19, TypeScript 5.9
The boring stack, on purpose. When a physics number looks wrong,
I want to know it is the integrator and not the framework.
Model Context Protocol ←
This is the one that changed how I build.
Eight tools over JSON-RPC 2.0 on Folio Motion:
analyze_motion, list_specs, get_spec, save_spec,
delete_spec, export_spec, library_signals, verify_integrity.
One of them writes. It goes through the same service layer as the UI,
which means an agent cannot take a shortcut a human could not.
Every other project this month shipped MCP tools too.
It is becoming the default interface for my work rather than a feature. ◉_◉
GitHub MCP server, plus my own →
RepoMedic drives the official GitHub MCP server
alongside a custom one I wrote for repo health checks.
Thirteen tools in total, and read only scans run free.
Daytona sandbox
Fix candidates in RepoMedic get executed in an isolated sandbox
before a human ever sees them.
A diff that looks correct is not the same as a diff that passes.
Playwright
Nine journeys on the real UI. Console errors fail the run.
This is how I stop shipping a broken mobile layout.
Postgres, and Neon where it fits
Real persistence everywhere, soft deletes, idempotent writes.
A motion spec should still exist tomorrow, sealed and replayable.
Public data over private data ↖
NOAA, NASA and USGS feeds. The npm registry for real release state.
YouTube for TruthLens.
Every one of those is a public API with a rate limit and a schema,
so I had to cache honestly and label the fallback when a feed is down.
Falling back silently would have broken my own rule.
A note on honesty →
Several of these are not formal partner programmes, they are just tools.
I would rather say that plainly than imply a partnership that does not exist.
Hackathon Experience
The honest answer is that my hackathon was remote, and it was in August.
The Agent Harness Hackathon, run by WeMakeDevs, TrueFoundry and Qodo,
Aug 24 to 30, 2026.
I built RepoMedic there, an autonomous triage agent for open source repos,
running on the TrueForge harness. (◎﹏◎)
It scans repos for failing CI, dead README links, stale issues and
vulnerable dependencies, investigates each one in a sandbox,
then stops and asks a human before anything irreversible happens.
No issue gets filed. No comment gets posted. No PR gets opened
until I press Allow in the chat. (⓿_⓿)
What I take from it is the approval gate.
It reframed everything for me.
Before the hackathon I thought agent safety meant a warning label in the README.
After it, I think safety means the tool physically cannot act
until a person says so, and the read only paths cost nothing.
That one idea leaked into every project this month.
Folio Motion signs its own history with SHA-384 so nobody has to trust the score.
TruthLens and Neural Cartographer show every factor behind a number.
Stewardship Ledger keeps a casebook you can audit.
Twenty of twenty three ship a seal. ヾ(≧ ▽ ≦)ゝ
The hackathon was one week.
The habit is still running.
If you only try one thing
Open the Folio Motion lab,
drag damping to 5, watch the settle time hit 1246ms,
then open the factor breakdown underneath the score.
That breakdown is the whole month.
Every number, where it came from, and the threshold it was measured against. ←
npx skills add aniruddhaadak80/skills
If that helps you ship something you can explain, I am glad.
Thanks for reading. Come say hi, I read every comment. 👈(゚ヮ゚👈)
Top comments (0)