TL;DR #
Built a self-hosted Hugo blog at locals.tf/blog with automated workflows for:
- Converting OpenCode session transcripts into polished blog posts using AI
- Parsing trading screenshots (IBKR/Binance) into weekly analysis posts
- Free API integration (Google Gemini or Groq) for AI processing
Introduction #
This OpenCode session focused on setting up a blog publishing system for two distinct content types: technical posts from our collaboration sessions and weekly trading analysis. The goal was to minimize ongoing maintenance while making post creation as effortless as possible.
The solution uses Hugo (static site generator) served via existing nginx, with shell scripts that leverage AI to transform raw inputs into ready-to-publish markdown.
The Platform Choice: Hugo #
We chose Hugo over alternatives for several reasons:
- Zero runtime dependencies - Single Go binary, no PHP/Python/node required at runtime
- Markdown-based - Content is just text files, version control friendly
- Fast builds - Generates static HTML in milliseconds
- Great theming - Blowfish theme provides professional look out of the box
- Already have nginx - No additional services needed
The blog is now live at https://locals.tf/blog/
Workflow 1: VibeCode Session Posts #
For each VibeCode session, the workflow is:
- Export session with
/exportcommand - Run:
./scripts/vibecode-to-blog.sh <export.md> "Post Title" - AI processes the transcript to add:
- TLDR section
- Introduction
- Section headings with explanations
- Summary with lessons learned
- Review/edit the generated markdown
- Run
./scripts/build.shto deploy
The script uses either Google Gemini or Groq (both have free tiers) to process the transcript.
Workflow 2: Trading Analysis Posts #
Weekly trading posts require:
- Screenshot positions from IBKR and Binance mobile apps
- Copy screenshots to server (via Syncthing or similar)
- Run:
./scripts/trading-to-blog.sh 2026-02-21 <ibkr.png> <binance.png> - AI parses screenshots to extract:
- Open positions with symbols, quantities, values
- P&L for each position
- Script generates markdown table with positions
- User adds manual analysis/thesis notes
- Build and deploy
Technical Setup #
Directory structure:
~/dev/blog/
├── content/
│ ├── vibecode/ # Session posts
│ └── trading/ # Weekly analysis
├── scripts/
│ ├── vibecode-to-blog.sh
│ ├── trading-to-blog.sh
│ └── build.shBuild output: /var/www/locals.tf/blog/ (served by nginx)
Summary #
The blog is now operational with:
- Hugo + Blowfish theme deployed
- OpenCode transcript processing script ready
- Trading screenshot parsing script ready
- Free API integration (Groq for reliability)
Next steps:
- Get Groq API key (free at https://console.groq.com)
- Test the full workflow with real screenshots
- Add TradingView chart embeddings for trading posts