Bubble Album is a mobile photo album prototype built with Expo React Native.
The active app lives in [Demo2].
Bubble Album presents albums as floating bubbles on the home screen. Each bubble represents one album. Users can create albums, browse photos, take new photos directly into an album, and add handwritten-style notes on the back of a photo.
The current implementation focuses on:
- bubble-based home screen
- album creation with soft bubble colors
- in-app continuous camera capture
- local persistence for albums, photos, notes, home position, and zoom
- saving captured photos into the device media library when permission is granted
- photo preview with front/back flip and note writing
- album edit mode with move/delete support
- Expo SDK 54
- React Native 0.81
- React 19
expo-cameraexpo-media-libraryexpo-file-system@react-native-async-storage/async-storage
- Apple Watch-inspired honeycomb bubble layout
- tap a bubble to open an album
- long press a bubble to open the in-app camera for that album
- create new albums from the bottom-right
+button - edit mode for moving or deleting albums
- in-app continuous capture flow
- flash mode toggle
- zoom presets
- grid overlay toggle
- front/back camera switch
- shutter mute toggle
Each captured photo is:
- saved into the selected Bubble Album album
- copied into local app storage
- synced to the device media library when permission is available
- album grid view
- tap a photo to preview it
- flip between front and back of a photo
- write notes on the back of the photo
- note content persists locally
BubbleAlbum/
├─ README.md
├─ 气泡相册.md
└─ Demo2/
├─ App.js
├─ app.json
├─ eas.json
├─ package.json
├─ package-lock.json
├─ assets/
└─ android/
- Node.js
- npm
- Expo CLI via
npx
npm install
npx.cmd expo start -cYou can then run it with:
- Expo Go for quick development testing
- Android development build / preview APK for full native capability testing
The project already includes eas.json for Android preview builds.
eas.cmd build --platform android --profile previewThis profile is configured to output an APK for direct installation.
- The current camera flow uses the in-app camera, not the system camera, so that continuous shooting is possible.
- Media library behavior depends on device permissions and OS-specific rules.
- The
Demo2/androiddirectory is included because the project has been prebuilt for native Android packaging/debugging.
- [
Demo2/App.js]: main application logic and UI - [
Demo2/app.json]: Expo app config - [
Demo2/eas.json]: EAS Build profiles - [
Demo2/assets]: icons and splash assets