Home
← All projects

Personal project · Design & development (solo)

nudg

  • Interaction Format
  • AI-native Tooling
  • Motion Runtime

Problem

Interactive animations usually live in binary files made in dedicated tools, so AI coding tools can't read or edit them, and there's no code review or readable history. More and more UI is built in the repo with AI, but interactions sat outside that workflow.

Key decisions

  1. 01Plain JSON — every platform already parses it, JSON Schema describes it, and LLMs write it reliably. A note field instead of comments leaves explanations an AI can read
  2. 02Let the AI check its own work — every validator error has a stable code, a location and a fix hint; simulation, motion graphs and frame rendering show the values and what it actually looks like
  3. 03Deterministic clock — the same events at the same times always produce the same values, the basis for simulation, rendering and conformance tests
  4. 04The core never draws — events in, property values out; drawing is the platform adapter's job, so a new platform needs only a thin adapter

Status

The v0.1 grammar, JSON Schema, conformance suite, TypeScript reference core, DOM adapter and demo, CLI (validate, simulate, plot, render) and MCP server cover everything web micro-interactions like toggles and like buttons need (stage 0). It is open source under MIT and published to npm as @nudg/core 0.1.0; gestures and a React adapter (stage 1) come next. The goal is an open-source format that many people use. (GitHub · npm)

Early stage (v0.1).

Details

Project name
nudg — The interaction format your AI can nudge
Client · Domain
Personal project / Open source (in progress)
Period
2026.10 -
Scope of work
  • Hands-onFormat design — states, events and motion as plain JSON, so a request like "a little bouncier" becomes a one-field diff (bounce 0.25 → 0.4)
  • Hands-onTurned "AI-native" into requirements — text source, a validator that says how to fix errors, headless simulation, frame rendering, CLI and MCP
  • Hands-onPlatform-neutral design — the core takes events and returns property values without drawing; each platform applies them through a thin adapter
  • Hands-onThe spec is the source of truth — JSON Schema plus a language-neutral conformance suite whose expected values come from an independent derivation, so the runtime never grades itself
  • Hands-onBuilt the TypeScript reference core (spring, tween and kick motion, state machine, OKLab color), a DOM adapter and a demo
  • Hands-onTools for an AI to check its own work — a CLI (validate, simulate, plot, render) and an MCP server, so an agent can call validation, values over time, motion graphs and real frame images directly
  • Open source under MIT (GitHub) and published to npm (@nudg/core); next: gestures and a React adapter (stage 1)
Role

Design & development (solo)

Tech stack
  • TypeScript
  • Node.js
  • JSON Schema
  • Claude Code

Contact

Let's talk

If you're working on turning AI into a real service, or building a development team, feel free to reach out.