Inspiration: We’ve all been there: scrolling through YouTube or the web at midnight, finding the "perfect" recipe, and saving the link only for it to disappear into a graveyard of bookmarks. I wanted to build something that turns that passive inspiration into an active kitchen plan.
Link Recipe was born from the idea that the distance between seeing a recipe and cooking it should be zero. I wanted to eliminate the "manual labor" of pause-and-rewind cooking. By using AI to bridge the gap between a video link and a structured grocery list, we’ve created a "second brain" for your kitchen.
What I learned: Building this project was a deep dive into the intersection of Generative AI and Mobile UX. I learned that when a user has to wait for an AI to process data, the design must be "soothing" rather than "stagnant." Implementing Apple-esque glassmorphism and "breathing" animations taught me that premium feel is 10% features and 90% polish.
How I built it: The app is built on the Expo framework using TypeScript. The core "magic" happens via a custom-tuned integration with the latest Gemini Flash model. We send unstructured web content or video data to the AI, which performs a high-speed extraction into a structured JSON format.
The UI leverages React Native Reanimated for 60fps fluid transitions and Expo Blur for a high-end, translucent aesthetic.
Challenges: The biggest hurdle was definitely the iOS Provisioning and App Group logic. Handling the specific entitlements required for cross-app data sharing taught me a lot about the strict security architecture of iOS. Additionally, crafting a robust extraction prompt that could handle diverse recipe formats - from blog posts to video transcripts - required significant iteration.
We even looked at the complexity of the processing time as a mathematical challenge to ensure the "breathing" animation matched the user's psychological wait-time: Where the animation period stays constant at 4 seconds to maintain a "calm" heart rate for the user. 💆♂️
Built With
- eas-(expo-application-services)
- expo-blur
- expo-linear-gradient
- expo-router
- expo-sdk-54
- gemini-flash
- react-native
- react-native-async-storage
- react-native-reanimated
- revenuecat
- typescript
Log in or sign up for Devpost to join the conversation.