The engineering notebook
RSS feedGood software.
Lessons from building it.
Deep dives into Flutter and Dart, with notes from across the stack. Architecture, backend systems, cloud, and AI - from the work behind the code.
By Ashish Bhakhand 108 published articles
All articles
108 articles
HealthKit Synchronization Beyond Reading Samples
Design authorization, anchored queries, source handling, daily aggregation, and deduplication as one reliable pipeline.
Designing Stable Health Sync Identities Across Android Devices
Prevent duplicate history by deriving server identity from semantic data instead of installation-local rows.
Building One Flutter Core for Multiple Apps
Share complete Flutter features across apps without forcing routing, branding, and app-shell decisions into the common package.
Designing a Stable API Envelope in FastAPI
Give mobile and web clients one predictable success, error, retry, and request-correlation contract.
Zod Beyond Basic Parsing: Strict Objects, Defaults, Coercion, and Inferred Types
Practical Zod patterns for safer query strings, configuration, discriminated inputs, and TypeScript contracts without duplicate types.
Building an iOS Sync Engine with Cursors and Tombstones
Pull incremental changes, preserve deletions, and advance sync progress only after local commits succeed.
Background Audio in Flutter Is More Than Pressing Play
Build one reliable Flutter audio system for the app, lock screen, notification controls, interruptions, and background playback.
Reliable Background Health Sync with WorkManager
Schedule constrained, resumable Android work while keeping foreground refresh and worker execution on one coordinator.
Who Owns the Transaction in a FastAPI Application?
Place transaction boundaries around complete business operations without pushing orchestration into routes or hiding it inside unrelated queries.