v0.1
— Demo BetaMay 5, 2026 · 26 changes
Capsify v0.1 launches with notifications, discovery feed, profiles, comments, and realtime sync.
New features
19Rebrand app to Capsify#19
We've updated the app's name and visual identity to Capsify. All your data and saved information remain exactly the same.
Add push notifications with granular preferences#17
Users can now receive push notifications for likes, comments, and new items, with per-category toggles to tune delivery. Notifications ride Postgres triggers → Edge Function → Expo Push fanout.
Add in-app notification center with unread bell#15
New Notifications tab shows activity feed (likes, comments, new items) with real-time sync. Unread count badges the bell icon.
Add link unfurling and rich content types#14
Paste a URL into items and it auto-unfurls into a rich preview card. Auto-detects YouTube/Vimeo (video), Spotify/Apple Music/SoundCloud (music with Odesli cross-links), and generic links.
Overhaul Discover feed with location-aware big cards#20
Replaced small Fresh + duplicated Trending rows with a full-width ~300pt card feed ranked by proximity and trend, with persisted query cache for instant cold-launch paint.
Add avatar upload and expanded profile editing#21
Users can now upload custom avatars, edit bio and profile details, and see a larger profile hero with bio text.
Redesign Create hub with 2×2 grid and brand hero#23
Replaced vertical settings-menu-like layout with a branded 2×2 grid of content type tiles (photo, pin, note, list) and hero for new capsules. Fixes flex layout on iOS.
Unify button and settings primitives across UI#22
Consolidated three inconsistent button styles (Edit profile, Notification settings, Log out) into unified Button and SettingsRow primitives. Polish notification and profile screens.
Add Sentry crash and error reporting#26
Every JS exception, render error, failed query, and rejected mutation now surfaces in Sentry with stack traces, breadcrumbs, and context. Eliminates silent failure debugging.
Set up EAS build profiles and hosted deploy runbook#24
Configures EAS with three build profiles (dev, preview, production) and Apple Team ID. Documents Supabase + EAS secrets wiring for TestFlight.
Add native build pipeline with expo-dev-client#16
Enables custom native modules via expo-dev-client while keeping Expo Go functional for JS-only changes. Switches to Continuous Native Generation (CNG) with gitignored ios/ and android/.
Add UI polish pass with depth, parallax, toasts, and drafts#11
Broad visual and interaction polish across every screen: expanded design tokens (shadows, gradients, animations), parallax scrolling, toast notifications, draft state indicators, and branded empty states.
Polish authentication screens with branded states#12
Refreshes Welcome, Login, and SignUp screens with branded hero imagery and improved visual hierarchy.
Add search and discovery with FTS and filters#10
Server-side full-text search with four sort modes, tag filtering, nearby location filtering, and local recents. Replaces client-side filtering.
Add comments, realtime sync, and share#9
Users can reply to contributions, share capsules out to any app, and see new items appear live as others post them. Fixes photo rendering regression from M7.
Add content creation: capsules and contributions#8
Users can now create capsules and contribute photos, pins, and notes. The Create tab and capsule-detail FAB are fully functional.
Migrate from mock data to live Supabase queries#7
Every screen now reads from the live Supabase schema. Component code is unchanged; queryFn moved from mock fetchers to typed Supabase client.
Add authentication with email/password and SSO stubs#6
Email/password login is fully functional. Google and Apple SSO show UI stubs pending OAuth credential setup.
Add foundation: Expo Router, design tokens, state architecture#1
Bootstraps the app with Expo SDK 54, file-based routing, dark-first design tokens, TanStack Query for server state, and Zustand for global state.
Fixes
3Fix realtime stale-channel crash on capsule screen#27
Supabase channel registration was throwing when re-subscribing after navigation. Evict stale channels before re-registering.
Make push notification dispatch trigger fail-safe#25
Webhook errors in the push-dispatch Edge Function no longer kill the items INSERT operation.
Fix multiline text field overflow
TextField component no longer overflows its wrapper when multiline.