Blog

Thoughts on software architecture, AI, algorithmic trading, investing, and building for the long term.

Software Architecture · Jul 05, 2026

GoAccess in Filament: A Zero-Dependency, Privacy-First Analytics Pipeline for Laravel

A deep dive into building a self-hosted web analytics dashboard inside Filament using GoAccess, Nginx log parsing, and secure local file serving without tracking cookies or GDPR banners.

5 min read
Software Architecture · Jul 05, 2026

Automated Blog Hero Images: Gemini Generation, GD Thumbnails, and Eloquent Observer Wiring

How a Gemini API call, a PHP GD thumbnailer, and a single Eloquent observer turned blog hero images into a zero-touch pipeline. No admin panel interaction required.

5 min read
Software Architecture · Jul 05, 2026

AppImage CI for PyQt6 Desktop Apps: From uv sync to a Distributable Artifact

Packaging a Python desktop app as an AppImage means bundling Tesseract OCR, a GGUF ML model, Qt platform libs, and a PyInstaller-built binary into a single distributable file. Here is the exact workflow.

3 min read
Software Architecture · Jul 05, 2026

Operations Manifest for a Trading System: What 900 Lines of Runbook Taught About Running Code That Handles Money

After 14 weeks of paper trading, the engineering team realized the code wasn't the problem -- the operational layer was missing. Enter a 900-line operations manifest and an 800-line reliability engineering guide.

2 min read
Software Architecture · Jun 14, 2026

What 40 Automated Drafts Taught Me About Building a Cron-Powered Technical Blog

Three runs per day, every day: an AI agent drafts technical blog posts from git history, project context, and recent working sessions. After 40+ automated drafts, here is what the architecture looks like and where it breaks.

6 min read
Software Architecture · Jun 14, 2026

Semiotics of a Desktop Trading App: Why I Hand-Picked Every Icon in Trading Bridge

26 Lucide icons, 7 navigation items, and a dark theme built on amber. How icon choice shapes the feel of a desktop trading application.

6 min read
Software Architecture · Jun 13, 2026

Self-Hosted Server Analytics with GoAccess and Laravel: No JavaScript, No SaaS

How to pipe nginx access logs through GoAccess on Fly.io, embed the HTML report inside a Filament admin panel, and keep your visitor data off third-party servers.

5 min read
Software Architecture · Jun 13, 2026

Parsing StrategyQuant XML to Java: What 40+ Strategy Conversions Taught Us About Code Generation

Building a parser to convert StrategyQuant XML strategies into pure Java revealed hard truths about automated code generation for trading systems.

7 min read
Software Architecture · Jun 13, 2026

The Dukascopy Downloader Rewrite: Extracting Node.js from a Java Trading Monorepo

Why I replaced a Python/Node hybrid data pipeline with 166 lines of pure Java 21, removing shell dependencies, fixing cross-platform crashes, and cutting build complexity in a Maven monorepo.

7 min read
Software Architecture · Jun 13, 2026

Tailwind v4 CSS-First Config: Deleting tailwind.config.js for a theme Block

How Tailwind CSS v4 replaces the old JavaScript config file with a CSS-native @theme block, and what that means for theme management, build tooling, and the developer experience gap between v3 and v4.

5 min read
Software Architecture · Jun 13, 2026

A Stock-Up Alert Service in Laravel: Comparing Current Deals Against Months of Price History

How a Laravel service scores every grocery circular deal against its 6-month price floor and fires a notification when the timing is right.

4 min read
Software Architecture · Jun 13, 2026

From Gemini Flash to Imagen 4.0: Migrating Recipe Image Generation in a Weekly Meal Pipeline

How I migrated a weekly meal pipeline from direct Gemini Flash image generation to Imagen 4.0 via a shared gemini_image module. Better quality, consistent prompting, WebP output, and one less env var to manage.

5 min read