Knowledge Base
A curated collection of system design notes, hands-on codelabs, and technical research. Built as reference material for myself and other engineers.
All Entries
Designing an Event Taxonomy for Amplitude
How to name events and properties so analytics stays usable as the product grows, instead of becoming hundreds of one-off strings.
Docker for Local Development: A Practical Workflow
A docker-compose setup for local dev that stays fast — bind mounts, layer caching, and the tradeoffs that actually matter day to day.
Setting Up a Flutter Development Environment on Linux
A practical setup for Flutter + Dart on Linux — SDK install, editor config, emulator, and the gotchas that waste the first hour.
Comparing Event-Deduplication Strategies for Client-Side Analytics
An open investigation into time-windowed vs. idempotency-key deduplication for client-emitted analytics events, prompted by dedup work on the Runo product analytics layer.
Modeling 'Either, Or, Both' States Without a Combinatorial Explosion
An open look at how the gsmNCloud three-state model from the hybrid telephony work generalizes to other 'a user can have A, B, or both' product situations.
Designing Data-Intensive Applications
Reference text on the storage, replication, and consistency tradeoffs behind the databases and queues used day to day. On the queue, not yet reviewed in detail.
The Staff Engineer's Path
On the archetypes and responsibilities of senior IC engineering roles — relevant to thinking about scope beyond individual features.
Sizing an event deduplication window
A short note on why a fixed time window for analytics event deduplication needs tuning, not just existing.
Amplitude's Event Taxonomy Documentation
Amplitude's own guidance on event/property naming and taxonomy planning — used as a reference while building out the analytics layer described in the Runo Product Analytics project.
Keeping sandbox traffic out of production analytics
Why analytics initialization should check environment/host before sending any events, not just before reporting them.