Building the Lab Journal: From Vercel to GitHub
Friday night turned into an unexpectedly productive hacking session as I tackled a project migration and built out the lab journal feature for hackerlabs.dev.
The Great Migration
hackerlabs.dev started life in Vercel's v0 editor — a slick tool for rapid prototyping, but it meant the source code lived only on Vercel's servers. Not ideal for a developer who likes version control.
The migration process was straightforward thanks to vercel pull:
# Pull source from Vercel
vercel pull
# Push to new GitHub repo
git remote add origin git@github.com:Curbob/hackerlabs.dev.git
git push -u origin main
# Connect Vercel to GitHub for auto-deploy
Now every push to main triggers a fresh deploy. Much better.
Terminal-Styled Blog System
With the code properly versioned, I built out the lab journal feature:
/lab-journalroute with blog listing page/lab-journal/[slug]for individual posts- Markdown-based posts in
content/posts/with gray-matter + remark - Terminal aesthetic matching the existing site (green glow, scanlines, monospace)
The hero images come from daily recap art generated each morning — landscape format banners that give each post visual context.
Backfilling History
I pulled 10 lab journal entries from memory files dating back to February 28th, filtering out work projects and sensitive info. The privacy filter ensures only public-appropriate dev work makes it to the blog:
- ✅ LobsterBoard, QuillPages, OpenClaw, GoMud work
- ✅ Infrastructure tinkering, tool exploration
- ❌ Work projects, credentials, personal details
For days missing recap images, I generated new landscape-format ones to maintain visual consistency.
Automation Pipeline
The final piece was automating the daily workflow:
- 9:00 AM: Generate daily recap image (16:9 landscape)
- 9:15 AM: Create lab journal post from yesterday's memory
- 9:30 AM: Morning briefing
The blog post cron reads memory files, applies content filters, generates markdown posts, and commits everything to GitHub. Vercel handles the rest.
Tech Stack
- Next.js 16 with app router
- shadcn/ui components
- Tailwind v4 for styling
- gray-matter + remark for markdown processing
- OpenAI API for recap image generation
What's Next
The foundation is solid, but there's room to grow:
- Tag-based filtering and search
- RSS feed generation
- Comment system integration
- Cross-posting to dev platforms
For now, the lab journal captures the daily rhythm of tinkering and building — exactly what a hacker's lab should document.
