Archive
Archive is a local-first mobile app built for fast, low-friction saving. Instead of treating bookmarking like a browser task, the app lets users capture links instantly, read from local storage, organize items into collections, and optionally sync to the cloud later. The experience is designed around speed and calm: save immediately, browse offline, and let sync happen quietly in the background without interrupting the UI.
- Client
- Personal Project
- Role
- Product Designer & Mobile Developer
- Duration
- 1 Week
- Year
- 2026

Stack
Key Features
The Challenge
Most bookmarking tools are browser-first, cluttered, and unreliable when users are offline or moving quickly between apps. I wanted to build a mobile-first reading archive that made saving feel instant, kept the interface lightweight, and avoided making cloud sync a blocker for normal use. The technical challenge was designing a local-first architecture where SQLite powers the UI directly, while sync, metadata enrichment, and cloud persistence happen in the background.
The Solution
I built Archive as an offline-first Expo app with SQLite as the primary source of truth for the interface. When a user saves a link, the app writes locally immediately, displays the item right away, and then schedules metadata enrichment and Supabase sync asynchronously. I added collection management, search, read detail editing, archive import/export, optional Google sign-in, and background retry-aware sync behavior so the experience remains responsive even when connectivity is unreliable.


The Results
Built a fully functional offline-first mobile archive for saving and organizing links
Implemented instant local saves with background cloud sync
Added search across title, domain, URL, notes, and summary-like text
Supported manual save, Android share-intent capture, and archive import/export
Created a clear local-first architecture using SQLite, Drizzle ORM, and Supabase