
The decisions that made it work
01
Batch the stream at 80 characters
Formula-aware batching instead of token by token rendering. I spent a week on the naive version first, which is how I know the flicker is unrecoverable for trust.
02
Generate the animation, then heal it
Claude writes the animation code, a subprocess renders it, stderr is parsed, and failures retry against a template fallback. Cached by hash so a video renders once.
03
I benchmarked my way out of a vector database
BM25Plus over the uploaded documents scored well enough that the vector database never got installed. Less infrastructure is more product, and I nearly skipped the benchmark that proved it.
0
vector databases
1
LLM provider end to end
2
self-healing retries max
Built withNext.jsKaTeXFastAPIClaudeManimLiveKitDeepgram
Next projectVerdaEuropean retail group, 40 locations
Want one like this?Landing pages from $999, live in about 10 days.Start a project
