
LifeLog — the daily rhythm and the AI cover system
The daily posting challenge
When I created LifeLog, the idea was to document the journey in real time — not spaced-out posts, but a consistent record of what’s being built, learned, and discovered every day.
The problem is the dev life is hectic: between refactoring 83% of Capivara’s frontend, debugging NaN in TatuEngine training, and configuring geofencing on Dogwalk, sitting down to write a post keeps getting pushed to tomorrow. And the next day. And suddenly a week goes by.
The solution isn’t “having more time” — it’s having a system that eliminates the friction to publish. And the biggest friction point was the cover.
The cover bottleneck
Every LifeLog post has an AI-generated cover — a 16:9 thematic wallpaper representing the post’s project. The system uses a Cloudflare Worker running FLUX.1 Schnell (via Replicate), called by the scripts/generate-cover.py script.
The flow was:
- Write the post in MDX
- Run
python3 scripts/generate-cover.py <slug>to generate the cover - Add
cover: /covers/<slug>.webpto the frontmatter - Build and deploy
But steps 2 and 3 were manual — easy to skip. Result: the most recent post (capivara-updates-2026-07-17) went live without a cover, showing only the placeholder.
The fix
I fixed it immediately by generating the cover and adding the field to the frontmatter. The script works well — 577KB of AI art in a tropical tech style (Capivara theme, amber/orange):
python3 scripts/generate-cover.py capivara-updates-2026-07-17
But the important part wasn’t just the fix — it was establishing the process:
- Daily posts — size doesn’t matter, the record does
- Cover mandatory — no
cover:in frontmatter means no publish --allscript —python3 scripts/generate-cover.py --allgenerates all pending covers at once
The ecosystem on July 19
Speaking of daily records, here’s today’s X-ray:
| Project | Status |
|---|---|
| Arachne (:9000) | Scraping + RAG + MCP tools — 25 tools, multimodal vision |
| Capivara (:8001) | 83% frontend refactoring complete, schema drift fixed |
| PataPass/Dogwalk | Geofencing, multi-city, solid E2E tests |
| Portfolio | Games redesigned, identity redesign |
| TatuEngine | Wave Field Theory, Teacher-Student pipeline, 128 Python tests |
| LifeLog | Focus on consistency — daily posts from today |
What’s next
The plan now is:
- Keep the rhythm — one post per day, even if short
- Auto-cover pipeline — ideally CI/CD generates the cover if the post doesn’t have one
- Backfill — fill the days that went without posts
After all, it’s called LifeLog — not LifeWeekLog.