Inspiration

The idea for WithYou came from my own experience living by myself as an international student.

When you live alone, especially away from family, there are small changes in your routine that no one else may notice. Maybe you are sleeping differently, moving less, feeling stressed, or just having an unusual day. I kept thinking about how technology could notice those changes in a quiet and supportive way without feeling invasive.

That is where WithYou came from. I wanted to build something that could learn what “normal” looks like for one person, use the devices and data they already have, and gently check in when multiple signals suggest that something may be different.

The goal was never to diagnose someone. I wanted it to feel more like having someone in your corner, even when you live alone.

What it does

WithYou is a wellness companion that learns a person’s routine over time using multiple sources of context.

It can use:

  • phone motion and activity
  • steps, sleep, and heart-rate summaries from Android Health Connect
  • home environment context through a Raspberry Pi Pico W
  • user check-ins
  • an optional voice companion

For a new user, WithYou starts with a 30-day learning period. During that time, it collects qualified summaries and learns what that person’s normal routine looks like instead of immediately deciding that something is unusual.

After a personal baseline is established, WithYou can compare recent patterns with that person’s normal routine, look at supporting or conflicting signals, and provide a gentle check-in when something seems different.

WithYou can also generate a concise, non-diagnostic clinical or caregiver summary that the user can choose to share.

How I built it

The main WithYou interface is built with React, TypeScript, and Vite and deployed on Vercel.

The backend is built with FastAPI and Python and deployed on Render.

For Android health data, I built a separate WithYou Health Helper in Kotlin that connects to Android Health Connect. It reads compact summaries for steps, sleep, and heart rate and sends those summaries to the WithYou backend instead of uploading raw health history.

The Health Helper supports:

  • automatic syncing when the app opens
  • syncing after permissions are granted
  • syncing when the app returns to the foreground
  • periodic foreground refreshes
  • background syncing with WorkManager
  • manual refresh as a fallback

For the home environment source, I used a Raspberry Pi Pico W that connects over Wi-Fi and sends data to the backend. In the current hackathon prototype, the environmental values themselves are simulated, but the Pico W, Wi-Fi connection, HTTPS request, and backend communication path are real.

The adaptive baseline is stored locally in the browser using IndexedDB so the app can learn and compare routines over time.

Challenges

One of the biggest challenges was bringing together several completely different systems into one experience.

I had to connect:

  • browser motion data
  • Android Health Connect
  • a Raspberry Pi Pico W
  • a FastAPI backend
  • a React frontend
  • user check-ins
  • adaptive baseline logic

Another challenge was deciding when the app should actually describe something as different.

I did not want WithYou to create an alert just because one value changed or because a new source was connected. That led me to build the 30-day learning period, source verification, missing-data handling, and adaptive baseline logic.

I also had to make sure the demo itself did not affect real user data. Because I obviously cannot wait 30 days during a hackathon demo, I added clearly labeled demo scenarios that simulate what the system could show after a baseline has been established while keeping the real user state unchanged.

Another challenge was making the Health Connect experience simple. I wanted someone to be able to install the helper, grant permissions, and have their summaries sync without needing to understand all of the technical pieces behind it.

What I learned

This project taught me a lot about building a system across hardware, mobile, web, and backend technologies.

I learned how to work with Android Health Connect, Kotlin, WorkManager, FastAPI, React, TypeScript, Vite, Raspberry Pi Pico W, REST APIs, and local browser storage.

But one of the biggest things I learned was that sensing is not just about collecting more data.

A useful system also has to know when not to make a conclusion.

I had to think about uncertainty, missing data, conflicting signals, privacy, and how to make the experience feel supportive instead of alarming.

That changed the way I thought about the project. It became less about “detecting something wrong” and more about understanding a person’s routine carefully and giving them useful context.

What's next

There are several directions I would like to continue with WithYou.

One important next step is full user-account isolation so multiple people can use the hosted backend at the same time while keeping each person’s data and baseline completely separate.

I would also like to connect real environmental sensors to the Pico W instead of using simulated environmental values.

Other future improvements include:

  • stronger long-term adaptive baseline learning
  • more personalized check-ins
  • better caregiver or clinician sharing workflows
  • improved multi-device support
  • more robust privacy and authentication
  • continued work on sensor fusion and confidence scoring

My long-term goal is to keep WithYou calm, private, supportive, and useful without turning it into something that feels like constant monitoring.

The idea is simple: someone in your corner, even when you live alone.

Built With

Share this project:

Updates

Submission history