Blog
Notes on engineering, design systems, and shipping performant interfaces.
How I build blogs with MDX
The full pipeline behind this blog - frontmatter, filesystem reads, server-side Shiki highlighting, component overrides, and a table of contents parsed from the raw source.
Rust for Beginners: Understanding Ownership
Why the borrow checker rejects your code - moves, borrows, lifetimes, and the one rule underneath all of it, explained without the mysticism.
How to Write SEO-Friendly Blog Posts
A repeatable process - pick a query you can win, match its intent, structure for scanning, and publish something that earns links rather than chasing them.
How Google Search Works
Crawling, indexing, and ranking - what happens between typing a query and seeing results, and which parts of it you can actually influence.
Technical SEO Explained
The layer that decides whether your content is ever seen - crawlability, indexing, rendering, canonicals, speed, and the failures that are completely silent.
Can Rust and Flutter Work Together?
Yes - through FFI, and increasingly through flutter_rust_bridge. What the boundary costs, where it genuinely pays off, and when it is an expensive way to avoid writing Dart.
On-Page SEO vs Off-Page SEO
One you control completely, the other you can only earn - what each covers, why the split matters, and where to spend your effort first.
What Is SEO? A Beginner's Guide
What search engines are actually doing, the three things they judge, and why most SEO advice you have read is either outdated or someone selling something.
Building Offline-First Flutter Applications
Treating the local database as the source of truth - write queues, sync strategies, conflict resolution, and the failure modes that only appear on a real train.
Flutter vs React Native vs SwiftUI vs Kotlin: Which Should You Pick?
Four ways to build a mobile app, compared on what actually decides it - rendering model, team, platform fidelity, and what each one costs you later.
Flutter Isolates Explained Through a Real Example
A 12 MB JSON import that jank the UI for two seconds - and what fixing it teaches about isolates, message passing, and when they are the wrong tool.
Flutter State Management: Bloc vs Riverpod
A working comparison of the two serious options - the mental models they impose, the same feature built in both, and how to choose without relitigating it every sprint.
Building a Design System for Flutter
Tokens, themes, and components that survive a rebrand - colours, typography, spacing, and the primitives every screen is built from.
Building Scalable Flutter Apps with Clean Architecture
Layering a Flutter codebase so it survives growth - entities, use cases, repositories, typed failures, and the dependency rule that holds them together.
How Flutter Rendering Actually Works
The three trees, why constraints go down and sizes go up, what a rebuild really costs, and how that knowledge turns performance guesswork into diagnosis.
How Hot Reload Actually Works
Sub-second reloads are a consequence of Dart's JIT, an incremental compiler, and the fact that widgets are disposable - plus the rules that decide when it fails.
Flutter Is Not Just a UI Framework
Its own rendering engine, its own layout model, a compiled language, and a plugin boundary - Flutter replaces more of the platform than most people realise.
How to Build Your First Flutter App
From an empty directory to a working app - setup, the counter template decoded, state, layout, navigation, and the first mistakes worth skipping.
Why Flutter Uses Widgets for Almost Everything
Padding, opacity, gestures, and theming are all widgets - and that uniformity is a deliberate trade, not an accident of API design.