I build the pipeline that runs CuratedAI, then I read everything it produces.
A year of it
AugSepOctNovDecJanFebMarAprMayJunJul
210 active days in the last year
Less
More
210 days out of 366. Every square is one day, shaded by what came out
of it: stories published in the briefing, tools reviewed into the directory, changes
shipped to this site. The pale ones are days nothing did. Hover any square to see
what that day actually was.
One day’s reading
212 in, 10 out. Every tick is a story that arrived on a typical
day. The ten standing full height are the ones that survived. Across the 148 days
where I have both the intake and the published briefing, 31,727 went in and 1,483
came out. About one in twenty-one. The other twenty are the job.
tools reviewed
200
briefings published
194
stories, all sourced
1,943
views in 5 months
26M
Most people who write about AI tools do not run them. Most people who run them do not
write. I do both, which is the only reason this directory is worth reading.
My work is AI automation and integration: wiring models into systems that already exist,
building pipelines that carry content from source to publication, and making the dull
parts run unattended. CuratedAI is one of those systems, built and maintained end to end.
The briefing, the directory and the newsletter all come out of it.
That is also the review standard. A tool goes in when I have seen it work, and the
listing says when something is gated, region-locked or shipped as weights with no
product behind it. Nothing here is paid for. No tool appears because a company asked.
Every briefing story links to where it came from: the announcement, the paper, the repo.
You should be able to check my reading instead of trusting it.
What I work on
AI automation
Systems integration
Content pipelines
Agent workflows
Model evaluation
Video automation
Things I built
01
AI Shorts Clipper
PRIVATE · PYTHON · ~7,500 LINES
The node marked Shorts & reels in the schematic above is not a
person with an editor. It is this: a pipeline that takes a YouTube URL and returns
finished vertical clips with burnt-in word-level captions, a written hook, a
description and a publish slot. It runs unattended.
transcript
→
score
→
re-rank
→
cut
→
transcribe
→
caption
→
hook
→
render
→
schedule
The hook is a tournament, not a prompt. Eight candidates are generated,
validated, judged, run off against each other and trimmed to twelve words. Any
clip that falls back to its own title gets a second pass automatically, because
the fallback is the failure case and it should not ship quietly.
Publishing is quota arithmetic. The YouTube API allows 10,000 units a day
and an upload costs 1,600, so the scheduler posts three, spends 4,800, writes its
state and stops. It picks up where it left off the next morning.
A y/N prompt is not a safety gate. Anything that rewrites already scheduled
or already live videos passes through a separate confirmation that a reflexive
return key, a piped yes, or a --yes flag cannot satisfy.
Everything reachable from a terminal eventually gets run by accident.