Contextual search and swipe-to-dismiss — fluidity above all
A mobile app is judged in seconds. The time it takes to find what you're looking for and do what you want to do.
Unified Search
A SearchService simultaneously queries tasks and memos, across all accessible contexts. Results are weighted by relevance (title, content, checklists) and recency. Technically, full-text PostgreSQL via Supabase.
Contextual Search
When you're in a group, the search prioritizes results from that group. Context influences ranking without excluding other results.
Swipe-to-dismiss
I implemented a swipe-to-dismiss pattern on detail screens with GestureDetector + Animated.View + a useSwipeGesture hook. The 100-pixel threshold was calibrated by usage — the sweet spot between accidental and intentional.
These features aren't on a marketing checklist. But their absence is felt. Fluidity is the sum of hundreds of micro-decisions. It's what separates a prototype from a product.