Our Blog

Insights, tutorials, and best practices from our team of experienced developers.

How AI Agents Struggle with Flutter: 7 Gaps Experience Still Closes
Software Engineering

How AI Agents Struggle with Flutter: 7 Gaps Experience Still Closes

We let agents write a large share of our Flutter code, and we review a lot of Flutter written by agents nobody supervised. The difference is not typing speed — it is seven decisions an unsupervised agent gets wrong every single time: it recomputes derived state instead of keeping one source of truth, ships no tests or benchmarks, wires complex async into if-pyramids instead of streams, treats design tokens as constants instead of a Theme, invents a new UX vocabulary on every screen, concatenates strings where ICU is required, and simplifies uniformly instead of knowing where complexity has to stay. Here is what each one looks like in Dart, why the agent lands there, and what we do instead.

July 26, 2026
How We Built a Real-Time Fintech App with Flutter and Go
Software Engineering

How We Built a Real-Time Fintech App with Flutter and Go

The engineering behind ExtraETF — how we fan live market data out to many clients with a Go WebSocket service, how we build performant financial charts natively in Flutter, and the tradeoffs we would revisit in 2026.

July 25, 2026
How We Build With AI: Architecture and Flexibility Over Keystrokes
Software Engineering

How We Build With AI: Architecture and Flexibility Over Keystrokes

AI now writes a large share of the code in any serious shop — 84% of developers use it daily. We lean into that on purpose. Letting agents produce the code frees our engineers to do the work AI is worst at: architecture, flexibility, and the whole-system decisions that determine whether software survives its second year. Here is how we actually build in 2026, why we moved the human effort up the stack, and how we keep AI-written code from turning into the tangled codebases we audit every week.

June 19, 2026
AI Code Audit Findings: 6 Problems in Almost Every AI-Built Codebase
Software Engineering

AI Code Audit Findings: 6 Problems in Almost Every AI-Built Codebase

Your AI-built app may already be live, and the security holes are only half the story. As the same six engineering problems pile up — no tests, rampant duplication, no consistent architecture, callback hell, no awareness of the deployment environment, and secrets in plain sight — the codebase gets so tangled that even an AI agent can no longer keep implementing changes safely. That is exactly why an audit is needed: here is what each problem looks like, why AI produces it, and how we fix it.

June 18, 2026
Deferred Deep Linking After Firebase Dynamic Links: App Clips + Play Install Referrer
Software Engineering

Deferred Deep Linking After Firebase Dynamic Links: App Clips + Play Install Referrer

Firebase Dynamic Links shut down in 2025. Build reliable, privacy-friendly deferred deep linking on iOS and Android with App Clips and the Play Install Referrer API.

June 4, 2026
How to Generate PDFs in Rust with Skia: A Complete Guide Using the skia-safe Crate
Software Engineering

How to Generate PDFs in Rust with Skia: A Complete Guide Using the skia-safe Crate

Learn how to generate high-quality vector PDFs in Rust using the skia-safe crate — safe Rust bindings for Google Skia, the 2D rendering engine behind Chrome, Android, and Flutter. Includes code examples, a comparison of Rust PDF libraries, and production architecture patterns.

March 21, 2026
Why 0.1 + 0.2 ≠ 0.3 and What It Means for Your Money
Software Engineering

Why 0.1 + 0.2 ≠ 0.3 and What It Means for Your Money

How IEEE 754 stores fractional numbers, why double should never be used for financial calculations, and which approaches solve the problem — from minor units to BigDecimal.

March 14, 2026
Software Engineering

Databases and Indexes Explained Simply

How databases work under the hood, why indexes matter, and how it all fits together.

May 29, 2021