Zaid Bin Haris Available for new work
All work

Wardrobe catalogue

An app that has to work in a shop basement

A wardrobe app that answers one question in five seconds while you are standing in a shop: what do I already own that looks like this?

  • Year
    2026
  • works in airplane mode
    Offline-first
  • Stack
    Flutter, Drift, SQLite
  • Status
    Not public

The problem

You are in a shop holding something you like, and the actual question is whether you already own three of them. Answering that from memory does not work, and answering it from a cloud service does not work either, because shop basements have no signal.

The decision

The local database is the source of truth, not a cache. That is a different architecture from an app that syncs: there is no spinner, no conflict resolution in the critical path, and no state where the app knows less than it did a minute ago.

Matching runs on the device too, which is partly about latency and partly about the fact that a complete photographic inventory of someone's clothes is not data that needs to leave their phone.

At a glance

Source of truth
On-device SQLite
Network
Optional, always
Inference
On device