2026
CannyCart
A shared shopping-list app for web and mobile, built on one Amplify Gen 2 backend.
Software engineer
2026
A shared shopping-list app for web and mobile, built on one Amplify Gen 2 backend.
2026
An open-source library of distilled, reusable engineering practice for AWS Amplify, Next.js and Expo.
2025
A from-scratch drag-and-drop form engine — authoring, schema storage and a runtime renderer.
7 min read
Six fixes too small to blog about, shipped as one deliberate pass: a 12-line parser instead of an LLM, merge-not-duplicate, bulk clear, brand pull-to-refresh, sticky headers that Android never had, and a bug cured by deleting a component.
7 min read
Reusable 'Weekly essentials' lists shipped with one new schema field and zero new tables. The design fork (new model vs status vs flag), the copy-both-ways helper, and the three ripple effects one boolean forced.
6 min read
The feature was one line of SQL: my most-added grocery items, ranked. DynamoDB doesn't have the clause. Here's the client-side aggregation that shipped instead — with explicit scan budgets, honest counts, and a documented exit ramp.
New posts and the odd build log, sent when there's something worth saying. Unsubscribe any time.