Project Info
This project did not submit a demo video on Devpost.
Inspiration
We were inspired by the desire to transform how people approach fitness. Traditional workouts often feel repetitive and uninspiring, causing many to lose motivation. We saw the inherent joy and social energy of dance and wanted to harness that to create a fitness experience that users genuinely look forward to.
What it does
PulseParty is a unique combination of wearable technology and a gamified mobile app that turns dance into a thrilling competition. Users track their heart rate and dance intensity, throw dance parties with friends, battle for the top of the leaderboard.
How we built it
We built PulseParty as a seamless cross-platform experience. Our web frontend leverages the power of NextJS for performant rendering and TailwindCSS for rapid styling. To create a native, responsive mobile experience, we chose Flutter. At the core of PulseParty's real-time functionality lies a FastAPI-powered websocket server, ensuring efficient communication between multiple mobile devices in a session, handling data like heart rate, steps, and calorie calculations. For music hosting we use Spotify Web Playback SDK for their Spotify Player for music handler.
Challenges we ran into
Our biggest challenge lay in establishing smooth, real-time data streaming from wearable devices into the Flutter app using the TerraAPI. Balancing efficiency, accuracy, and cross-platform compatibility in this real-time data flow required multiple rounds of optimization. Another challenge we ran into is that our flutter codebase was not compatible with socket.io for websocket transfer and receiving so instead we rewrote it with FastAPI.
Accomplishments we're proud of
During the hackathon, we proudly achieved a functional MVP of PulseParty with both web and mobile app, demonstrating its core concept. We efficiently integrated wearable data, smooth session management, and real-time score updates in a limited timeframe.
What we learned
This project deepened our understanding of the complexities involved in real-time data handling. Optimizing websocket communication for low latency and efficient data transfer between a server and multiple Flutter clients proved invaluable experience. The limitations of cross-platform wearable device integrations highlighted the need for adaptable protocols and potential fallback mechanisms. Through PulseParty, we gained practical insights into balancing gamification elements with accurate fitness data representations, pushing us to think critically about algorithm design.
What's next
We're eager to fine-tune our dance intensity algorithm for even greater accuracy and provide meaningful health data analytics to users. We plan to expand PulseParty's social aspect through in-app challenges and explore dance style categories. Future directions include investigating partnerships with health wearables brands and potentially offering tiered subscriptions to unlock premium features.
Analysis
View
Metric
- 22
- 18
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
- CIn code
- CSSIn code
- DartIn code
- JavaScriptIn code
- KotlinIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- SwiftIn code
- Tailwind CSSIn code
- TypeScriptIn code
11 of 11 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
58 KB
Source files
41
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
KevinL10/treehacks
109 files · 378 KB · @ 3ce1e9e
Structure
Interface
20 files · 18%Screens, components and styles rendered to the user.
Application logic
37 files · 34%Domain rules, services and shared utilities.
+1 more
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
- TypeScript38%
- Dart32%
- Python11%
- XML10%
- Markdown4%
- CSS3%
- Other (5)2%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 20- @radix-ui/react-slot
- class-variance-authority
- clsx
- lucide-react
- next
- react
- react-dom
- react-icons
- recharts
- tailwind-merge
- tailwindcss-animate
- +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.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.