Home

Writing

Notes

Longer-form write-ups on things I have built - the constraints, the decisions, and the parts that did not work the first time.

OpenClaw: the assistant I actually run

A technical write-up of the personal assistant I run on a GCP VM: one long-lived gateway, file-backed state, SQLite memory indexes, Telegram delivery, cron-driven automations, and the operational tradeoffs that only show up in production.

12 Aug 2026·14 minAI AgentsTypeScriptDocker

Space Insights: two ways to see a wildfire from orbit

A satellite data platform on Databricks Free Edition running two independent fire pipelines - thermal detection across the whole planet and optical burn-scar detection over four regions - built so that they can check each other.

21 Aug 2026·8 minDatabricksGeospatialData Engineering

Every fire on Earth, every morning

Building a global thermal-anomaly pipeline on Databricks Free Edition: NASA FIRMS, H3 hexagons, the 7% bug I nearly shipped, and why the public demo has no backend at all.

15 Aug 2026·20 minDatabricksdbtH3

What a fire leaves behind

Detecting burn scars from Sentinel-2 on Databricks Free Edition: why the change matters and the reflectance does not, reading satellite pixels without downloading scenes, cloud shadow as the real adversary, and why the model I trained is not allowed to overrule the arithmetic next to it.

21 Aug 2026·18 minDatabricksMLflowGeospatial

OpenCloud: a team assistant with memory and guardrails

A technical write-up of an internal Slack and Teams assistant built around MCP sidecars, persistent team memory, and explicit safety controls. More runtime than chatbot, with real deployment, evaluation, and governance concerns.

8 Aug 2026·12 minAI AgentsAzureMCP

Five investors, one stock engine

Lens scores the same company through five investing philosophies instead of pretending there is one universal definition of a “good stock”. The interesting work was not the radar chart - it was taming messy financial APIs, explicit heuristics, and a cheap but disciplined GCP deployment.

7 Aug 2026·11 minFastAPIReactPostgreSQL

Memry: turning books into study material, with all the messy bits left in

I built Memry to turn PDFs and EPUBs into summaries, flashcards, and spaced-repetition review. The interesting part was not the AI demo - it was dealing honestly with lossy PDF extraction, token limits, provider differences, and the parts of the pipeline that quietly degrade quality.

29 Jul 2026·11 minAI EngineeringFastAPIReact Native

Model Predictive Control

How I helped turn cloud-side model predictive control for industrial compressors into a production system: per-site forecasting, Databricks MLOps, firmware integration, and certificate-based device provisioning. The hard parts were latency, deployment safety, and identity - not just the optimiser itself.

29 Jul 2026·14 minMLOpsDatabricksIoT

A security scanner that files its own pull requests

How I built an Azure DevOps task that detects the stack, runs multiple scanners, uses an LLM to triage the noise, and opens remediation PRs with guardrails. The interesting part was deciding where automation should stop.

29 Jul 2026·14 minAzure DevOpsSecurityLLM Agents

Cloud4crc: a modular monolith for desktop tools

A FastAPI platform for technician desktop tools, built as a modular monolith with dual API contracts, layered Azure AD auth, and Azure-native delivery. The interesting part is how much of the design is shaped by backward compatibility and operational reality rather than fashion.

29 Jul 2026·11 minFastAPIAzureAPI Design

Building an IoT fleet management platform

How I built an end-to-end platform for monitoring and controlling industrial compressors worldwide - from embedded C++ on Yocto Linux to live dashboards, firmware rollout flows, and telemetry pipelines.

28 Jul 2026·20 minAzureIoTC++

Building a multi-tenant RAG knowledge assistant

I built and deployed several internal knowledge assistants for different engineering groups at a large industrial company. The interesting work was not the chat UI - it was making retrieval, isolation, grounding, and operations hold up across very different document sets.

22 Jul 2026·11 minApplied AIRAGAzure AI Search

Building a Databricks data platform that could survive reality

How I built a production Databricks lakehouse for mixed batch and streaming sources without letting each source invent its own architecture. The interesting work was not the tooling itself, but the boundaries between bronze, silver, gold, and governance.

22 Jul 2026·13 minDatabricksData Engineeringdbt

My finance app starts with a bank statement

A local-first finance tracker built around PDF and Excel imports, GPT-assisted transaction extraction, and a deliberately simple categorisation loop. The interesting part is not the charts but the ingestion boundary: turning messy bank exports into something I can trust and correct over time.

9 Jul 2026·9 minFastAPILLMsPersonal Finance