Skip to content

One agent, one computer, and it can do magic.

lovelaceroot run · always onlive

Fill in the latest funding for the 40 companies in my spreadsheet.

Thought for 9s

Put 4 researchers on it; filled funding, stage and lead investor for all 40. Flagged 3 conflicts for your review.

Dispatched 4 researchers
Crunchbase + press releasesrows 1–10
SEC filings and 13Fsrows 11–20
Founder posts and interviewsrows 21–30
Cross-check the conflictsrows 31–40
40 rows · 4 researchers · 4 min

Make four cover options for the launch post.

Thought for 6s

Made 4 in parallel; kept the 2 that still read at thumbnail size. Saved with the prompts that made them.

Layered blue and coral waves rising from the left
A coral seam cutting across deep blue, open cream below
Two facing slopes, blue and coral, under a wide cream sky
Two ribbons crossing, blue over coral
4 images · 2 kept · 90 sec

Draft a reply to the funding email, in my voice.

Thought for 4s

Pulled the thread and your last few replies for tone. Drafted a concise yes with two clarifying questions — awaiting your OK to send.

1 draft · 0 sent · awaiting you

Ship the notes dashboard as a real app.

Thought for 5s
├─ build · 2.1s
├─ started · port live ✓
└─ supervising · restart on crash

It’s running and supervised. If it ever dies I’ll bring it straight back up and tell you.

server.ts+84NotesGrid.tsx+212schema.sql+31
app live · watched

Update the deck with the numbers from the new model.

Thought for 3s

Pulled the revised model, updated six slides and the two charts that read from them. Left your commentary alone.

fund-ii-deck.md+46−31model-q3.xlsx+12−4charts/arr.svg+8−8
3 files · 6 slides · nothing overwritten

Anything waiting on me?

Thought for 2s

Two things: approve the funding reply, and confirm Thursday’s calendar change. Everything else is done or still running.

2 awaiting you · 0 blocked

It has a computer.This is what it does with it.

01 — Research

It goes and finds out.

  • Reads the filings — says what moved
  • Fills a spreadsheet — row by row
  • Runs 4 researchers — at once
  • Flags what it’s unsure of — for your review

40 rows · 4 researchers · 4 minutes

portfolio.csv40 rows
CompanyRoundLeadNorthwindSeries BAccelKestrelSeedIndexHalyardSeries ABalderFoxgloveSeries CAtomicoMeridianSeedCreandumSaltireSeries ANorthzoneBramblingSeries BEQT

02 — Create

It makes the actual thing.

  • Makes 4 images — keeps what fits
  • Charts your numbers — from your own files
  • Writes the brief — doc, deck or PDF
  • Keeps the prompt — that made each one

4 made · 2 kept · 90 seconds

launch covers90 seconds
Abstract watercolour in blue and coral
Three stoneware vessels on linen
A paper boat on still water
A container port at dawn

03 — Build

It ships it, running.

  • Writes code — and runs it
  • Ships an app — on a live port
  • Restarts it — when it falls over
  • Reads the error — then fixes it

2.1s build · live on a port · watched

StatCard.tsxNoteSearch.tsxSchedule.tsxStatCard.tsxNoteSearch.tsxSchedule.tsxwritingwritingwritinglivelivelive
export function StatCard({ label, value, delta }) {
  const up = delta > 0
  return (
    <Card>
      <Label>{label}</Label>
      <Row>
        <Value>{format(value)}</Value>
        <Delta up={up}>{delta}%</Delta>
      </Row>
      <Spark points={history} />
    </Card>
  )
}
const hits = useMemo(() =>
  notes.filter((n) =>
    n.title.toLowerCase().includes(q) ||
    n.tags.some((t) => t.startsWith(q))
  ), [notes, q])
 
return (
  <List empty="No notes yet">
    {hits.map((n) => <Hit key={n.id} note={n} />)}
  </List>
)
<Panel title="Overnight">
  <Setting
    label="Run while I sleep"
    hint="23:00 07:00"
    checked={enabled}
    onChange={(v) => agent.schedule(v)}
  />
  <Setting label="Wake me for blockers" />
  <Note>{next ? `next ${next}` : 'paused'}</Note>
</Panel>

Revenue

30 days
£48,210▲ 12.4%

MRR

£12,480+3.1%

Churn

1.2%−0.3%

launch3 of 128
  • Launch planmoved to March
  • Launch post4 covers kept
  • Launch metrics3 charts

Overnight

Run while I sleep

07:0023:00

Wake me for blockers

next run 23:00 · saved

04 — Watch

Then it carries on without you.

  • Wakes on a schedule — no one watching
  • Works overnight — reports by morning
  • Drafts the reply — waits for your OK
  • Says when something needs you — and only then

212 rows · 6 briefs · 1 retry, nothing lost

overnight0 failures
02:14enriched 212 rows
03:38retried one researcher
05:40wrote 6 briefs
06:00briefing ready
09:02waiting on your OK to send

Every job getsits own keys.

It never holds every permission at once. You put it in a mode, and the mode decides what it can reach, what it is refused outright, and what it has to come back and ask you for.

Find out why api-2 is throwing 502s.

  • systemctl status nginxactive (running) · 4d 2h
  • ss -tlnp14 listening
  • journalctl -u nginx --since 1h2 warnings · 0 errors
  • cat /etc/shadowrefused · secrets never enter its context
  • systemctl restart nginxasks you · a restart can’t be taken back
one host · read-only · secrets out of scope3 commands · 0 writes · 1 waiting on you
  • On its own
  • Refused
  • Comes back to you

The longer it runs,the less you explain.

One long memory instead of a fresh start every morning. Corrections hold, preferences stick, and everything you built up last month — the people, the projects, the reasons — is still there, so your time goes into the work.

First timeMarch 3

Draft the investor update.

Happy to — three things first: which numbers go in, what structure do you like, and who is it going to?

3 answers from you

Three weeks inMarch 24

Draft the investor update.

Done — your usual structure, Friday’s numbers, in your voice. Waiting for your OK to send.

nothing needed · your structure, your voice

It can do anythingyou can put into words.

Built by Recursion Endeavours

lovelace is an open source project