Project Info
This project did not submit a demo video on Devpost.
Inspiration
In today's fast-paced world, highly driven individuals often overwork themselves without regard for how it impacts their health, only experiencing the consequences when it is too late. AtlasAI aims to bring attention to these health issues at an early stage, such that our users are empowered to live their best lives in a way that does not negatively impact their health.
What it does
We realized that there exists a gap between today's abundance of wearable health data and meaningful, individualized solutions which users can implement. For example, many smart watches today are saturated with metrics such as sleep scores and heart rate variability, many of which actually mean nothing to their users in practice. Therefore, AtlasAI aims to bridge this gap to finally empower our users to use this health data to enhance the quality of their lives. Using our users' individual health data, AtlasAI is able to: suggest event rescheduling provide targeted, actionable feedback recommend Spotify playlists depending on user mood
How we built it
Our frontend was built with NextJS, with styling from Tailwind and MaterialUI. Our backend was built with Convex, which integrates technologies from TerraAPI, TogetherAI and SpotifyAPI. We used a two-phase approach to fine-tune our model. First, we utilized TogetherAI's base models to generate test data (a list of rescheduled JSON event objects for the day). Then, we picked logically sound examples to fine-tune our model.
Challenges we ran into
In the beginning, our progress was extremely slow as AtlasAI integrates so many new technologies. We only had prior experience with NextJS, Tailwind and MaterialUI, which essentially meant that we had to learn how to create our entire backend from scratch. AtlasAI also went through many integrations throughout this weekend as we strove to provide the best recommendations for our users. This involved long hours spent in fine-tuning our TogetherAI models and testing out features until we were satisfied with our product.
Accomplishments we're proud of
We are extremely proud that we managed to integrate so many new technologies into AtlasAI over the course of three short days.
What we learned
In the development realm, we successfully mastered the integration of several valuable third-party applications such as Convex and TogetherAI. This expertise significantly accelerated our ability to construct lightweight prototypes that accurately embody our vision. Furthermore, we honed our collaborative skills through engaging in sprint cycles and employing agile methodologies, which collectively enhanced our efficiency and expedited our workflow.
What's next
Research indicates that health data can reveal critical insights into health symptoms like depression and anxiety. Our goal is to delve deeper into leveraging this data to furnish enhanced health insights as proactive measures against potential health ailments. Additionally, we aim to refine lifestyle recommendations for the user's calendar to foster better recuperation.
AtlasAI
Take back control of your lives with our data-supported, individualized solutions!
AtlasAI bridges the gap between today's abundance of wearable health data and meaningful, actionable recommendations for our users.
Created for CalHacks 10.0. View our Devpost submission here!
Analysis
View
Metric
- 18
- 11
- 6
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- JavaScriptIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
7 of 7 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
94 KB
Source files
33
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
TJun-Jie/AtlasAI-
51 files · 338 KB · @ 591ee8f
Structure
Interface
11 files · 22%Screens, components and styles rendered to the user.
Application logic
20 files · 39%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript75%
- Python17%
- JavaScript4%
- Markdown3%
- CSS1%
- Shell0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 23- @mui/icons-material
- @mui/lab
- @mui/material
- @mui/x-date-pickers
- axios
- chart.js
- convex
- dayjs
- luxon
- next
- overlayscrollbars-react
- react
- react-chartjs-2
- react-dom
- +9 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
Feature verification
AI-suggested event rescheduling via TogetherAIVerified
AtlasAI suggests event rescheduling using a fine-tuned TogetherAI model
Claimed on Devposthigh confidencesrc/app/recs/route.ts:7— GET handler posts tasks/stress data to Together's inference API using a fine-tuned model and parses a rescheduled JSON event listsrc/app/page.tsx:494— Modal UI renders Old vs New schedule columns with reasons, sourced from recommendedTasks
Backend built with ConvexVerified
Backend built with Convex, integrating TerraAPI, TogetherAI and SpotifyAPI
Claimed on Devposthigh confidenceconvex/schema.ts:4— defineSchema/defineTable used to declare Convex tables (tasks, recommendedTasks, stressScores, sleepScores, predictedMetrics)src/app/ConvexClientProvider.tsx:1— Convex client provider wraps the app for React Convex hooks
Frontend built with NextJS, Tailwind, MaterialUIVerified
Frontend built with NextJS, styling from Tailwind and MaterialUI
Claimed on Devposthigh confidencesrc/app/page.tsx:1— Uses MUI components (Modal, Box, TextField, Button) and tw- prefixed Tailwind classes throughouttailwind.config.ts:1— Tailwind configuration file present
Natural language task entry parsingVerified
Individualized solutions using user data (task entry as part of the planner)
Claimed on readmemedium confidencesrc/app/page.tsx:269— handleButtonClick parses free-text input for day, time, and duration via regex and calls sendTasks mutation to store a new taskconvex/schedule_tasks.ts:4— send mutation inserts the parsed task into the tasks table
Stress score calculation and displayVerified
AtlasAI uses individual health data (stress) to provide feedback
Claimed on Devposthigh confidenceconvex/stressScores.ts:20— calculateStress normalizes HRV and heart rate into a 1-100 stress score, stored per hoursrc/app/page.tsx:402— Frontend queries getStressScores and displays the latest stress score and insights modal
Wearable health data ingestion via Terra APIVerified
Backend integrates TerraAPI to ingest wearable heart rate and sleep data
Claimed on readmehigh confidenceconvex/http.ts:6— HTTP route /getjj registered as a webhook handler named getTerraAPIconvex/stressScores.ts:46— getTerraAPI httpAction parses incoming heart_rate_data and computes a stress score from itconvex/sleepScores.ts:21— calculateSleepData computes a sleep score from heart rate, respiration, and sleep duration fields matching Terra's data shape
Predicted stress/sleep metricsCode-supported
predictedMetrics table implies forward-looking health predictions
Claimed on readmelow confidenceconvex/predictedMetrics.ts:4— getPredictedMetrics query reads a predictedMetrics table, but no mutation/writer populating this table or frontend consumer of it was foundconvex/schema.ts:38— predictedMetrics table schema defined with predictedStressScores/predictedSleepScores arrays
Sleep score calculationCode-supported
Health data includes sleep metrics used for recommendations
Claimed on Devpostmedium confidenceconvex/sleepScores.ts:21— calculateSleepData and addSleepScores exist and are wired to the Terra webhook, but no frontend component was found reading getSleepScores
Spotify API integrationCode-supported
Backend integrates SpotifyAPI
Claimed on Devpostlow confidencesrc/app/components/SpotifyEmbedded.tsx:8— Only a static Spotify embed iframe by playlist ID is used; no calls to the Spotify Web API (auth, search, playlist creation) were found anywhere in the repo
Spotify playlist recommendation based on moodCode-supported
AtlasAI recommends Spotify playlists depending on user mood
Claimed on Devpostlow confidencesrc/app/components/SpotifyDrawer.tsx:12— SpotifyDrawer accepts a stress prop and embeds a Spotify playlist player, but the playlistId (6lHIfp4RnvAoXxSeLzIY49) is hardcoded rather than selected based on the stress valuesrc/app/page.tsx:907— SpotifyDrawer is invoked with a static stress={0}, confirming mood is not actually passed through from live data
Targeted, actionable feedback / insightsCode-supported
AtlasAI provides targeted, actionable feedback based on health data
Claimed on Devpostlow confidencesrc/app/page.tsx:63— Insights modal shows a hardcoded array of generic stress/sleep advice strings rather than data-derived per-user feedback; reason field per-task from the AI model is the more dynamic part of this claimsrc/app/recs/route.ts:26— Prompt requests a per-task 'reason' explaining why a task was rescheduled, tying feedback to actual stress data
Two-phase TogetherAI fine-tuning pipelineCode-supported
Used TogetherAI base models to generate test data, then fine-tuned on curated examples
Claimed on Devpostmedium confidencetogether/finetune.py:20— Script uploads a JSONL training file and calls together.Finetune.create, supporting the fine-tuning claim, but no code proves the two-phase data-generation-then-curation workflow describedtogether/data.py:1— Present in repo suggesting training data generation, part of the claimed fine-tuning pipeline
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.