Skip to contentNew · Nine works, each built from one design.md

Work 02 of 9 · Playbook B

Mainspring

The scheduler that keeps autonomous agents on time and in context.

Playbook
B · AI & agent products
Variant
B1 · Framed dark canvas
Loud idea
Frame rails and crosshairs
Type
Inter 400 · Inter · Geist Mono
Preview width
Open the full page

Autonomous agents, on time and in context.

Trigger agents from cron, webhooks or events. Every run starts with its memory, tools and state restored.

One timeline for every agent. Retries and approvals, in order.

See what ran, what’s running and what’s waiting on a person. Every run keeps its trigger, its memory checkpoint and its budget.

SchedulesTue · Sep 23 · UTC

5 agents1 retrying

  • Daily briefCron · 06:30

    Done · 42 min

  • Lead enrichmentWebhook · crm.lead

    Running · 73%

  • Invoice follow-upEvent · invoice.overdue

    Needs approval

  • Support triageCron · every 30 min

    Retry 2 of 3

  • Memory compactionAdaptive · off-peak

    Queued · 12:30

Runs today
1,284
Resumed
97.6%
Start delay
1.8 s

Trigger on anything.

Start runs from cron, webhooks, queue events or a wake-up time the agent picks itself.

Resume with memory.

Each run restores its memory, tools and state from the last checkpoint.

Stay within budget.

Token budgets, timeouts and tool approvals stop runaway jobs early.

Give every agent a schedule. Start with one package.

npm i @mainspring/sdk

Node 20+ and Python 3.11+ · Free for 10,000 runs a month

Mainspring

Durable scheduling and memory for teams running AI agents in production.

© 2026 Mainspring Systems · Mainspring is fictional; this page is a 71UI study.

All systems operational

Brief

What it had to do.

Subject
Durable scheduling and memory for teams running AI agents.
Audience
Platform engineers shipping agent workflows to production.
Job
Start building, or read the runtime docs.
Proof
A live schedule panel built in HTML with realistic runs.

Token plan

Written before any code.

design.md’s Agent Protocol asks for this table first. Ratios are WCAG 2, measured on the surface each color actually sits on.

ColorHexRoleContrast
Canvas#000101Page
Panel#09090CProduct surfaces
Ink#ECEBE7Body text17.52:1
Warm gray#8A857BSecondary text5.42:1 on panels
Frame#1F20201px rails (12% white)
Cyan#22D3EEData only

Decisions

Why it looks this way.

  1. 01

    The loud idea is the frame: 1px rails and crosshair glints. The hero stays a still radial glow, so the page spends no ambient-loop budget.

  2. 02

    Section titles are two-tone (white, then warm gray) — a quiet system device, not a second loud idea.

  3. 03

    Qronos ships #757168 secondary text (4.30:1); Mainspring uses #8A857B (5.42:1).

  4. 04

    Product-mock labels are 10px Geist Mono at +0.1em — data labels, never body text.