Writing
Blog
Thoughts on software architecture, AI, algorithmic trading, investing, and building for the long term.
From Circular to Alert: Building a Grocery Price Intelligence Pipeline in Laravel
How a Laravel app scrapes weekly grocery circulars, normalizes prices into a historical time series, predicts optimal buy moments with linear regression on SQLite, and fires Telegram alerts when a staple hits its floor price.
Three Bugs Before Breakfast: Integrating Flutter with Google Health Connect
A walk through three sequential bugs that blocked a Flutter app from reading Google Health Connect data, how each was discovered, and what the health package v13.3.1 actually needs from your AndroidManifest.
Binary Bars and Byte Orders: Building a High-Performance Backtest Data Pipeline
How I built a custom binary bar format with MappedByteBuffer, chased an endianness bug across Python and Java, and organized 11 Maven modules around zero circular dependencies.
Why SQLite Works in Production: A Laravel Case Study
SQLite in production is not a toy. Here is how one Laravel site runs on it at zero marginal cost, with real backup and concurrency strategy.
Tracing Every Trade Back to a Git Tag: A Strategy Lifecycle Pipeline
A Laravel API that receives deployment events from a shell script, links every trade to a git tag, and surfaces the full lifecycle of a trading strategy across backtest, paper, and live environments.
A Laravel Markdown Pipeline: CommonMark, Frontmatter, and SQLite Date Sorting
How I built a robust markdown-to-HTML pipeline in Laravel using CommonMark with TableExtension, YAML frontmatter stripping, SQLite-safe date sorting for drafts, and dark-mode table CSS.
Serving a Blog API from a Laravel App That Also Runs Filament
Adding a REST API to a Laravel site already running Filament admin without conflicts, extra packages, or over-engineering. Token auth, auto-slug generation, markdown table support, and draft previews.
Format Conversion in Pure Java: What Works, What Doesn't, and When to Bring in ONLYOFFICE
A conversion matrix across 7 Java libraries and ONLYOFFICE: where docx4j, POI, PDFBox, Commons Imaging, and Tika each shine and where they fall short.
Closing the Loop: How Trading Strategies Graduate from Backtest to Live Execution
Architecture and implementation of a multi-stage promotion pipeline that moves automated trading strategies from historical backtest through paper trading into live production, with gated qualification at each stage.
Architecting a Modular Trading Engine: 11 Maven Modules, Zero Circular Dependencies
A retrospective on splitting a Java trading system into an 11-module Maven monorepo: why the dependency graph matters more than the module count, how a zero-circular-dependency rule paid off during maintenance, and what I would do differently next time.
Building a Desktop Receipt Pipeline: Tesseract, Local LLMs, and Hybrid Extraction in PyQt6
A walkthrough of stitching Tesseract OCR, a local NuExtract-tiny model, and a DeepSeek fallback into a PyQt6 desktop app. Threading, fuzzy business matching, and the hybrid extraction architecture.