Inspiration
Growing up with all of the team being of Eastern/Southern Asian descent, flight trips were always a recipe for exhausting flight times coupled with days of vacation wasted on jet lag. Especially growing up seeing countless times when our parents would come back dead tired from India trips, miserably sleeping at odd hours. We wanted to create something unique yet simplistic for user-friendliness.
What it does
Using just your general flight details (carrier, flight number, and date) our app integrates Google's Health Connect platform with artificial intelligence to help you minimize jet lag. Analyzing your historical sleep patterns, heart rate, and activity data develops a personalized adjustment plan before, during, and after your flight. The app suggests optimized sleep schedules, meal timings, and gradual time zone shifts to help your body adapt seamlessly. It also provides real-time notifications and integrates with your device settings to adjust screen brightness according to phase response curves, ensuring a seamless transition to your new time zone.
How we built it
Adjust consists of a React Native (Expo) and TypeScript mobile frontend with a Python Flask backend. The front end provides a user-friendly interface with tabs for viewing the generated schedule, managing selected flights, accessing a data/help summary, and inputting or viewing health data. It uses Expo Router (file-based router) for navigation and React Context API (FlightDataProvider) for managing flight-related states. The backend serves as the core engine, integrating with the Amadeus API (free flight API) for real-time flight data, processing user-provided health metrics (average sleep heart rate), and orchestrating AI-driven recommendations using CrewAI and Google Gemini. Three AI agents - Travel Assistant, Health Monitor, and Schedule Generator - analyze flight details, generate personalized health recommendations, and synthesize a structured daily schedule using Pydantic models. The backend exposes REST endpoints for submitting flight and health data, retrieving recommendations, and generating schedules asynchronously via background threading.
Challenges we ran into
Integrating external APIs like Amadeus and Gemini requires handling varied data structures, multiple authentication keys/codes, and being conscious about rate limits while ensuring robust error handling. Standardizing inconsistent datetime formats across sources is crucial for accurate scheduling. Crafting precise CrewAI prompts is essential for structured and relevant Gemini-generated recommendations. Efficient asynchronous processing allows for quick initial responses while complex schedule generation runs in the background. Finally, accurately correlating large health datasets, including sleep and heart rate metrics, enables meaningful insights for personalized jet lag mitigation.
Accomplishments that we're proud of
Successful Integration of AI & Health Data: We successfully integrated Google Health Connect with AI to provide personalized sleep schedules and time zone shifts based on user data.
Cross-Platform Compatibility: The app runs smoothly on Android devices, thanks to our use of React Native and Expo, making it accessible to a wide audience.
Efficient Backend System: We developed a robust Python Flask backend that efficiently processes flight details and health data to generate personalized recommendations through CrewAI and Google Gemini.
User-Centered Design: The app features a simple, intuitive interface, ensuring users, regardless of technical expertise, can easily access their personalized jet lag mitigation plans.
Real-Time Adjustments: Implementing features like screen brightness adjustments and blue light filters based on users' personalized schedules is a game-changer in improving the user experience and minimizing jet lag.
What we learned
API Integration Challenges: Working with external APIs (Amadeus and Gemini) revealed the complexity of data structure variations and how to manage these differences efficiently. It required an in-depth understanding of authentication processes and careful management of rate limits to avoid service disruptions.
Health Data Correlation: Handling sensitive health data such as sleep patterns, heart rate, and activity data taught us the importance of clean and consistent data. Correlating this data accurately led to more personalized and actionable insights.
Async Programming: Implementing asynchronous processing for schedule generation helped us ensure that the app remained responsive even while handling complex background tasks like health data analysis and AI-driven schedule generation.
What's next for Adjust
Expanded Health Data Integration: We plan to expand our integration with more health platforms to include additional metrics like sleep quality, stress levels, and even nutrition data for an even more comprehensive jet lag mitigation solution.
Enhanced AI Recommendations: We will improve the accuracy of our AI agents (Travel Assistant, Health Monitor, and Schedule Generator) to provide more nuanced recommendations based on additional factors such as user travel history, connecting flights, and specific jet lag sensitivities.
Real-Time Flight Changes: We aim to incorporate real-time flight change notifications, where the app automatically adjusts the user’s schedule in response to flight delays or cancellations.
Partnerships & Collaborations: Future updates may involve partnerships with airlines and fitness devices (such as wearable trackers) to provide real-time, integrated data and a more seamless experience.
Expansion to iOS: We will work on supporting iOS devices, making Adjust available for a larger variety of users.
Log in or sign up for Devpost to join the conversation.