DEV Community

ANIRUDDHA  ADAK
ANIRUDDHA ADAK Subscriber

Posted on

23 Projects in September: Why I Replaced Vibes With Measured Physics

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;
}
Enter fullscreen mode Exit fullscreen mode

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| ≤ ε·ω
Enter fullscreen mode Exit fullscreen mode

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) )
Enter fullscreen mode Exit fullscreen mode

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

Try the skills in your own terminal →

npx skills add aniruddhaadak80/skills
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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)