Web
Data Room MVP
A due-diligence document room with no backend
React 19TypeScriptViteZustandTailwind CSSIndexedDBVitest
Problem
The brief was about care, not scale: nested folders, PDF upload and preview, instant search — all surviving a page reload without a single server call.
System
React 19 + TypeScript with Zustand for state and IndexedDB for persistence — the folder tree, files and metadata live locally and come back on the next visit. PDF preview is inline; search walks the tree with no input lag.
Role
Solo build (timeboxed take-home).
Outcome
Deployed, unit-tested, delivered on time.