Inspiration

Some time ago, my mom came to me with a problem: she wanted a simple way to keep track of document expiry dates—passports, visas, insurance, and the rest. Many apps we tried felt cluttered, pushed subscriptions, or weren’t comfortable for someone who just wants a clear list and timely reminders. That motivated Doc Expiry Manager: a free, focused, bilingual tool built around her actual workflow.

What it does

Doc Expiry Manager lets you add documents with a category (passport, visa, driver license, insurance, and more), holder, optional issue date, expiry date, and notes. The home screen lists everything sorted by expiry, with icons per category, swipe-to-delete, search, and light/dark themes. Local notifications remind you about a month ahead, then every day during the final week before expiry. English and Simplified Chinese are supported. All document data stays on the device, no account required.

How we built it

We built the app with Expo (SDK 54) and React Native in TypeScript, using React Navigation for screens, expo-notifications for scheduled reminders, AsyncStorage for persistence, i18next for localization, Lucide icons for categories, react-native-gesture-handler for swipe actions, and expo-haptics for feedback. Styling follows an 8px spacing grid for consistent layout. We prepared EAS Build config and store-oriented metadata (icons, bundle IDs, privacy notes) for when we ship beyond Expo Go.

Challenges we ran into

Balancing simple UX for family users with useful features (categories, search, reminders) took iteration. Apple Developer Program enrollment is a prerequisite for TestFlight/App Store distribution; until then, sharing via Expo Go is the practical path for demos.

Accomplishments that we're proud of

We’re proud of a small, purposeful app that solves a real problem for someone we care about: clear expiry tracking, gentle daily reminders in the final week.

What we learned

Since this is the first hackathon for the team, a lot we learned was how an actual software product is developed. We gained experience in AI-native environments(vibe coding). We learned app development basics, how local-first mobile apps differ from cloud-backed products, and notification behavior on real devices. We also learned the full release pipeline for a product: from Expo dev builds to EAS, App Store Connect, and what “production” really requires on Apple’s side.

What's next for Doc Expiry Manager

Short term: TestFlight or store release once developer accounts are ready, polish copy and screenshots, and keep testing reminders on physical devices.

Built With

  • async
  • expo-haptics
  • expo-notifications
  • expo.io
  • i18next
  • lucide
  • native
  • navigation
  • react
  • react-native-gesture-handler
  • storage
  • typescript
Share this project:

Updates