Trove

Inspiration

We kept finding cool products on TikTok but had no easy way to save and revisit them.
Trove lets you tap Share → Trove and keep scrolling — the app queues the video, extracts the transcript, and identifies products automatically.

What it does

  • Lets users save TikTok videos with products by sharing directly to Trove.
  • Queues shared links locally for offline saving.
  • Processes the video to extract transcripts, then uses AI to generate a clean product list.
  • Stores and organizes products into categories for easy browsing later.

How we built it

  • Frontend: React Native + Expo Router with a dynamic grid UI.
  • Backend: Node.js/Express + SQLite for lightweight local data storage.
  • AI: Google Gemini 2.5-flash for cleaning messy TikTok transcripts and identifying products.
  • Queue: expo-share-intent + Async Storage for background/offline saving and delayed processing.

Challenges we ran into

  • Debugging share intent delays and disabling expo-keep-awake.
  • Handling inconsistent transcript API responses.
  • Speeding up startup by processing the queue 1 second after launch.
  • Dealing with React Native networking quirks (Metro bundler, Android dev device configs).

Accomplishments we're proud of

  • Built a seamless TikTok → Trove saving flow.
  • Achieved offline-first queueing with background processing.
  • Integrated AI product extraction for cleaner shopping lists.

What we learned

  • Building an Android share extension with background queueing.
  • Connecting React Native (Expo) to a Node.js + SQLite backend.
  • Using Google Gemini to process real-world messy data.
  • Solving mobile dev issues: async queues, share intent edge cases, Metro networking.

What's next for Trove

  • Add iOS share extension support.
  • Enable user authentication & cloud sync across devices.
  • Build a better product discovery experience (search, filtering, price tracking).
  • Improve AI models for more accurate product recognition.
Share this project:

Updates