3.0 KiB
3.0 KiB
Luggage List
Luggage List is a local-first Expo app for keeping trips, luggage, and check-ups organized without a server, login, or cloud sync.
Highlights
- Trip planning with names, locations, dates, images, and archive support
- Global trip switching with sensible auto-selection on first launch
- Default trip template that gets copied into new trips
- Luggage items with quantity, description, category, status, placement, and optional photos
- Quick status edits plus full item editing in a modal
- Guided check-up flow with live stats and editable mismatches
- Check-up history per trip with saved snapshots
- JSON backup and restore, including file import/export and pasted JSON
Tech Stack
- Expo
- React Native
- AsyncStorage for local persistence
- expo-image-picker, expo-document-picker, expo-file-system, expo-sharing
- Vitest for tests
Getting Started
npm install
npm run start
Run on a platform
npm run android
npm run ios
npm run web
Scripts
npm run start, start the Expo dev servernpm run android, open on Androidnpm run ios, open on iOSnpm run web, run in the browsernpm run test, run tests oncenpm run test:watch, run tests in watch mode
Data and Backup
All data stays on-device in AsyncStorage.
Backup and restore is done through JSON, either by:
- exporting to a file
- importing a saved file
- pasting JSON directly into the app
What You Can Track
Trips
- Trip name
- Location
- Start and end dates
- Optional trip image
- Archive state
Items
- Name and quantity
- Description and category
- Status: packed, unpacked, lost, left-behind, lent-to
- Placement: suitcase, backpack, with-user, other
- Optional item image
Check-ups
- Yes / no checklist flow
- Live correct, bad, and pending counters
- Optional sync back into the trip item list
- Saved history per trip
Notes
- Dark-mode-first UI
- No auth
- No backend
- No cloud sync
Development
npm run test
Credits
Travelling icons created by Freepik - Flaticon
Ai Disclaimer
This project was mainly developed by my AI Agent Luna. The only changes, i, Space have made were with Copilot or manually in the Readme and in the CI/CD Pipeline. All other code was generated by Luna. A Human was always in the loop to review the code and to make sure it was working before pushing it to the repository.
(FYI: Luna runs on gpt-5.3-codex and 5.4-mini; Copilot was used with gpt-5.3-codex and gemini-3.1-pro)