Inspiration

As students, we spend a lot of time sitting through lectures, attending office hours, and discussing concepts with friends. There are always moments when something doesn't make sense, but we don't necessarily stop to ask about it. Sometimes we think we'll look it up later, but by the time we actually sit down to study, we don't even remember what we were confused about.

That's where the idea for Attune came from. We wanted to see if we could use the information already being captured by wearables to help students understand what they should spend more time learning.

Bee was particularly interesting to us because it provides context from everyday conversations. We started wondering what would happen if we combined that with information from an Apple Watch and a student's own feedback. Could we use all three to make studying a little more personalized without requiring students to constantly take notes or track what they struggled with?

What it does

Attune helps students figure out which concepts they might need to revisit based on what happened throughout their day.

It uses conversation data from Bee to understand which topics came up during lectures or discussions, heart rate and HRV data from an Apple Watch for additional context, and quick student check-ins to understand how difficult something actually felt.

We align these signals using timestamps and use them to generate recommendations about what to review.

For example, if a student was discussing cross-shard joins in a distributed systems lecture and later rated that topic as difficult, Attune could suggest spending 10 minutes reviewing that specific concept instead of going through an entire chapter again.

We were also careful about how we used physiological data. A heart rate spike doesn't automatically mean someone is confused. It could happen for many reasons, so we compare measurements against the person's baseline and prioritize their own feedback rather than making assumptions about how they felt.

How we built it

We built Attune around a Python backend that handles the data processing and recommendation logic.

For the conversation side, we integrated Bee's conversation data to provide context about what the student was learning. We also developed an iOS and watchOS companion application using Swift and HealthKit to access Apple Watch measurements such as heart rate and HRV.

The backend brings these inputs together by timestamp, processes the physiological signals relative to a baseline, and associates them with the relevant learning moments. From there, the recommendation engine uses the available context and student difficulty ratings to suggest topics worth reviewing.

We also built a live dashboard where students can see their heart rate and HRV trends alongside learning moments and recommendations. They can submit a difficulty rating directly from the dashboard and see the recommendations update.

Since we couldn't rely on having a physical Apple Watch available throughout development, we built a simulated watch data stream as well. This helped us test the full pipeline and demonstrate how Attune responds to incoming measurements.

Challenges we ran into

The biggest challenge was figuring out how to combine data sources that weren't originally designed to work together.

Bee provides information about conversations, while Apple Watch provides physiological measurements. Neither of those alone can reliably tell us whether someone understood a concept. We spent time figuring out how to align them properly and how to use them without drawing conclusions that the data couldn't support.

Getting the Apple Watch component working was another challenge. We had to work with HealthKit authorization, build the iOS and watchOS targets, and make sure the backend could handle the incoming data. Building the simulator helped us continue testing even without deploying to a physical watch.

We also had to think about what would actually make the recommendations useful. Simply detecting a change in heart rate wouldn't help someone study. We needed to connect the timing of that change to a concept, consider what the student reported, and give them something specific they could do next.

Accomplishments we're proud of

We're happy that we managed to build and test the complete data processing pipeline rather than stopping at a prototype that only displays wearable measurements.

We have a working backend, a live dashboard, a recommendation engine, and an iOS/watchOS companion application. We can simulate incoming watch data, observe it on the dashboard, and change the recommendations by submitting student feedback.

We're also proud of how we handled the physiological information. It would have been easy to label every heart rate spike as confusion, but we wanted to build something that was more thoughtful about what these measurements actually mean.

What we learned

We learned quite a bit about HealthKit, integrating data from different devices, and handling information that arrives at different times and frequencies.

One thing that became clear was that having more data doesn't automatically make a recommendation better. We had to consider where each measurement came from, what it could tell us, and when we needed the student to provide additional context.

We also got more experience building a system that connects several components, from a native Apple Watch application to a Python backend and a real-time dashboard.

What's next

There's still a lot we'd like to explore with Attune.

The first thing we'd like to do is test it with real students over longer periods of time. We want to see whether the recommendations are genuinely useful and whether they help students spend less time figuring out what to study.

We'd also like to improve how we identify concepts from conversations, track recurring difficulties across multiple days, and eventually help students see which topics they've become more comfortable with.

Beyond lectures, we think Attune could also be useful for office hours, group study sessions, interview preparation, and other situations where people are learning through conversations.

For now, our goal was to see whether we could bring all these different sources of information together and turn them into something useful. Attune is our first step toward that.

Built With

Share this project:

Updates

Submission history