How hishaama/bubble works
Bubble is a private, mobile-first family memory app. Members authenticate, join a family, capture or import memories, organize photos into Capsules and a Journal, and revisit shared Moments through immersive panorama viewers. The map preserves documented creation options and Journal branches alongside the main workflow. Source excerpts were limited, so uncertain module-to-module wiring is omitted; several unsampled feature paths are supported by the README and repository tree.
Main entry points: JournalPage.tsx Family Journal · Capture360Page.tsx Guided capture · supabase.ts Supabase services · App.tsx App shell
Components 27
App shell
- App shell
src/App.tsx - Authentication
src/features/auth/AuthProvider.tsx - Family membership
src/features/onboarding/FamilyOnboardingProvider.tsx - Home widgets
src/features/widgets/WidgetSnapshotPublisher.tsx - Supabase services
src/lib/supabase.ts
Memories
- Moments constellation
src/features/memories/MemoryConstellation.tsx - Shared moments
src/features/memories/shared/SharedMomentsProvider.tsx - Guided capture
src/features/capture/Capture360Page.tsx - Panorama review
src/features/capture/GuidedPanoramaReview.tsx - Panorama viewer
src/viewer/PanoramaViewer.tsx
Journal
- Capsules
src/features/capsules/CapsulesPage.tsx - Capsule recap
src/features/capsules/recap/CapsuleRecapSheet.tsx - Family Journal
src/features/journal/JournalPage.tsx - Phone gallery
src/features/journal/gallery/phoneGallery.ts - People timeline
src/features/journal/people/PeopleTimeline.tsx - Face matching
src/features/journal/people/faceRecognitionPipeline.ts - Family plans
src/features/events/EventsPage.tsx - Flight tracking
src/features/flights/FlightTrackerSection.tsx - Flight status
supabase/functions/flight-status/index.ts
Native media
- Native capture
android/app/src/main/java/com/simerfamily/kinsphere/panorama/PanoramaCaptureActivity.java - Panorama stitching
android/app/src/main/cpp/stitch/stitch_engine.cpp - AI panorama generation
services/generation/local_pipeline.py - Cardboard viewer
src/features/memories/cardboard/CardboardViewer.tsx
Other components
- Family member
- Clerk
- Supabase
- Phone camera
Connections 29
- Family member → App shell: opens
- App shell → Authentication: initializes
- Authentication → Clerk: authenticates
- App shell → Family membership: routes to
- Family membership → Supabase services: checks membership
- Moments constellation → Shared moments: loads moments
- Shared moments → Supabase services: syncs
- Family member → Guided capture: starts capture
- Guided capture → Native capture: invokes
- Phone camera → Native capture: supplies frames
- Guided capture → AI panorama generation: requests generation
- Native capture → Panorama stitching: assembles images
- Guided capture → Panorama review: presents result
- Panorama review → Shared moments: shares moment
- Moments constellation → Panorama viewer: opens panorama
- Panorama viewer → Cardboard viewer: offers immersive view
- Family member → Capsules: adds photos
- Capsules → Supabase services: syncs contributions
- Capsules → Capsule recap: creates recap
- Family member → Family Journal: opens journal
- Family Journal → Phone gallery: browses photos
- Family Journal → People timeline: opens timeline
- People timeline → Face matching: matches locally
- Family Journal → Family plans: manages plans
- Family Journal → Flight tracking: tracks flights
- Flight tracking → Flight status: fetches status
- Flight status → Supabase: uses backend
- Home widgets → Family Journal: projects family data
- Supabase services → Supabase: reads and writes