# Project export: Bloom

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: TreeHacks 2026
- Tagline: The AI caretaker that enables seniors to be more independent and connected to their families.
- Devpost: https://devpost.com/software/bloom-dvjpea
- GitHub: https://github.com/Kevinxygu/treehacks
- Demo: https://treehacks-frontend-tau.vercel.app/
- Video: https://www.youtube.com/embed/vFU1GSWrbRk?enablejsapi=1&hl=en_US&rel=0&start=&version=3&wmode=transparent
- Result: winner ([Anthropic] Human Flourishing Track (1st Place: 4 tungsten cubes 2nd Place: 1 year of Claude Pro 3rd Place: 6 months of Claude Pro); [Decagon] Best Conversation Assistant (Nintendo Switch 2 Mario Kart World Bundle Guaranteed onsite interviews for internship))
- Team: 4 GitHub contributor(s) — Kevin Gu (22 commits), alberto (11 commits), Paul Tiberghien (10 commits), Vaibhav (2 commits)

## Devpost submission (written by the team)

### Inspiration

One in six people will be over the age of 65 by 2030, and this will double by 2050. (UN source) If we don't act fast, our healthcare systems will simply not be able to keep up with our aging world. And let's face it: everyone can think of a time where they had to assist their grandparents with basic technology. Creating intuitive technology that's actually helpful for seniors is hard. This is why we built a platform for seniors with agentic AI at its core. A platform that can assist with everyday tasks through familiar conversational language, detect early signs of cognitive decline through vocal indicators, share key health metrics through wearables to caretakers, and combat loneliness through reminiscence therapy. This is AI serving human potential: preserving dignity, independence, and connection for so many elderly aging at home.

### What it does

Bloom is an AI caretaker that transforms how elderly individuals manage their health and stay connected. It has four core functions working together: 1. Voice-First Task Assistant with Web Automation Seniors can make requests like "Book me an Uber" or "When is my doctor appointment?" and Bloom's multi-turn conversational agent handles everything. We used Browserbase's Stagehand, Claude, and ElevenLabs to automate web navigation across pharmacy websites, insurance portals, Uber, and healthcare systems. 2. Cognitive Monitoring & Interventions 75% of people with dementia go undiagnosed globally, and by the time families notice symptoms, 12-18 months of cognitive decline have already passed. (source) This is only one example. Detecting symptoms early is crucial. During live calls and daily check-ins, Bloom analyzes speech patterns for early warning signs of cognitive decline using science-backed linguistic and acoustic markers identified through OpenEvidence: reduced speech rate, increased pauses, decreased lexical diversity, grammatical difficulties, word-finding problems (anomia), speech disfluency, and circumlocution patterns. Caretakers receive structured clinical summaries including cognitive health scores, annotated conversation transcripts highlighting concerning patterns, trend analysis over 7/30/90 days, and exportable reports for doctors. Bloom suggests specific cognitive exercises backed by clinical research based on cognitive scores that caretakers (with a Doctor's review) can assign to seniors. 3. Proactive Companionship Bloom helps combat loneliness by sending out a personalized weekly report. The first part of the report provides reminiscence therapy by finding photos and videos from the senior's camera roll for a customizable number of years in the past to help them relive their most cherished moments. The second part provides photo and video highlights from the seniors' family's week by automatically pulling from media sent that week in the family groupchat. 4. Real-Time Physical Health Dashboard By integrating with wearables like WHOOP, Bloom provides caretakers with comprehensive health metrics to better monitor patients and catch abnormalities early.

### How we built it

Bloom consists of two main components (with four Vercel deployments total). 1. Elderly-Facing Mobile App (React Native + Expo) Frontend: Voice-first conversational interface built with React Native and ElevenLabs, using expo-av for audio recording, expo-speech for text-to-speech, and @react-native-voice/voice for speech recognition Agent Server: Powered by Anthropic's Claude, orchestrating multi-turn conversations with context retention. The agent dynamically reasons about user state and conversation history to complete complex, multi-step tasks like medication management. Deployed to Vercel. Complex Conversational LLMs: We used Vercel AI Gateway for caching, observability, and a fallback to direct Anthropic API: Browserbase Stagehand: Automates anything on the web like pharmacy refills (CVS, Walgreens), appointment booking, vaccine history retrieval, Uber calls from patient portals Gmail API: Sends medication reminders, appointment confirmations MongoDB: Stores user conversation history, medication lists, preferences Browserbase Stagehand: Automates anything on the web like pharmacy refills (CVS, Walgreens), appointment booking, vaccine history retrieval, Uber calls from patient portals Gmail API: Sends medication reminders, appointment confirmations MongoDB: Stores user conversation history, medication lists, preferences 2. Web App (Next.js, FastAPI, Node.js) Frontend: Next.js deployed to Vercel. Weekly report (Canvas) feature was created with React Flow Frontend: Next.js deployed to Vercel. Weekly report (Canvas) feature was created with React Flow Backend: FastAPI deployed to Vercel. Our cognitive exercise recommendations are obtained by querying Claude with a science-backed policy obtained from research found through OpenEvidence. WHOOP data is pulled using the WHOOP API from a Vercel workflow deployed as a serverless function. WhatsApp groupchat media is obtained via the Beeper local API. Backend: FastAPI deployed to Vercel. Our cognitive exercise recommendations are obtained by querying Claude with a science-backed policy obtained from research found through OpenEvidence. WHOOP data is pulled using the WHOOP API from a Vercel workflow deployed as a serverless function. WhatsApp groupchat media is obtained via the Beeper local API.

### Challenges we ran into

Building a Natural Conversational Assistant: Required a lot of prompt engineering to build an effective conversational AI agent for the elderly instead of one that just takes orders. We had to spend a little money on getting a voice that actually sounds human... Fine-tuning the Problem: We spent a good amount of time really honing in on the problem (barely any code until 15hrs in!) and understanding what our users' pain points were. We read multiple research papers, which we hadn't done at hackathons before. Integrating with WhatsApp. Turns out WhatsApp doesn't have a public API to retrieve media from group chats. Thus, in a true hackathon spirit, we hacked together a workaround by using Beeper's local API! Thank you amazing team at Beeper!

### Accomplishments we're proud of

Built a Production-Ready Healthcare Solution in 36 Hours: From a conversational agentic voice interface to real-time cognitive analysis to WHOOP integration to WhatsApp integration, we're really proud of shipping a complex technical project with both a mobile and web app that was interesting and innovative for all of us! Using Vercel Workflows to sync WHOOP Data: We used Vercel's Workflows (Beta) to pull the data from WHOOP to enhance how we evaluate an elderly person's health profile! The workflow consists of steps to sync sleep, sync recovery, sync strain, and upload to MongoDB, and we liked how lightweight it was.

### What we learned

Fine-tuning an idea before we start developing so we're all aligned and understand what to build. Learning how to build features around user stories, real pain points, and agreeing on those before continuing Vibe-coding tools!

### What's next

Fine tuning our evaluation criteria to be more accurate to the real world Unifying our currently separate servers to run on one instance for code readability and maintainability Shipping this to our local communities and supporting those that we love!

## README (from the GitHub repository)

[Devpost](https://devpost.com/software/bloom-dvjpea)

## Inspiration
One in six people will be over the age of 65 by 2030, and this will double by 2050. ([UN source] (https://www.un.org/development/desa/pd/sites/www.un.org.development.desa.pd/files/wpp2022_summary_of_results.pdf))

If we don't act fast, our healthcare systems will simply not be able to keep up with our aging world.

And let's face it: everyone can think of a time where they had to assist their grandparents with basic technology. Creating intuitive technology that's actually helpful for seniors is hard.

This is why we built a platform for seniors with agentic AI at its core. A platform that can assist with everyday tasks through familiar conversational language, detect early signs of cognitive decline through vocal indicators, share key health metrics through wearables to caretakers, and combat loneliness through reminiscence therapy.

This is AI serving human potential: preserving dignity, independence, and connection for so many elderly aging at home.

## What it does

Bloom is an AI caretaker that transforms how elderly individuals manage their health and stay connected. 

It has four core functions working together:

**1. Voice-First Task Assistant with Web Automation**

Seniors can make requests like "Book me an Uber" or "When is my doctor appointment?" and Bloom's **multi-turn conversational agent** handles everything. We used **Browserbase's Stagehand, Claude, and ElevenLabs to automate web navigation** across pharmacy websites, insurance portals, Uber, and healthcare systems.

**2. Cognitive Monitoring & Interventions**

75% of people with dementia go undiagnosed globally, and by the time families notice symptoms, 12-18 months of cognitive decline have already passed. ([source](https://www.alzint.org/news-events/news/over-41-million-cases-of-dementia-go-undiagnosed-across-the-globe-world-alzheimer-report-reveals/)) 

This is only one example. Detecting symptoms early is crucial.

During live calls and daily check-ins, Bloom analyzes speech patterns for early warning signs of cognitive decline using science-backed linguistic and acoustic markers identified through **OpenEvidence**: reduced speech rate, increased pauses, decreased lexical diversity, grammatical difficulties, word-finding problems (anomia), speech disfluency, and circumlocution patterns. 

Caretakers receive **structured clinical summaries** including cognitive health scores, annotated conversation transcripts highlighting concerning patterns, trend analysis over 7/30/90 days, and exportable reports for doctors. Bloom suggests specific cognitive exercises backed by clinical research based on cognitive scores that caretakers (with a Doctor's review) can assign to seniors.

**3. Proactive Companionship**

Bloom helps combat loneliness by sending out a personalized weekly report. The first part of the report provides reminiscence therapy by finding photos and videos from the senior's camera roll for a customizable number of years in the past to help them relive their most cherished moments. The second part provides photo and video highlights from the seniors' family's week by automatically pulling from media sent that week in the family groupchat.

**4. Real-Time Physical Health Dashboard**

By integrating with wearables like WHOOP, Bloom provides caretakers with comprehensive health metrics to better monitor patients and catch abnormalities early.

## How we built it

Bloom consists of two main components (with four Vercel deployments total).

**1. Elderly-Facing Mobile App (React Native + Expo)**

- **Frontend**: Voice-first conversational interface built with React Native and ElevenLabs, using expo-av for audio recording, expo-speech for text-to-speech, and @react-native-voice/voice for speech recognition
- **Agent Server**: Powered by **Anthropic's Claude**, orchestrating **multi-turn conversations** with context retention. The agent dynamically reasons about user state and conversation history to complete complex, multi-step tasks like medication management. Deployed to Vercel.
- **Complex Conversational LLMs**: We used **Vercel AI Gateway** for caching, observability, and a fallback to direct Anthropic API:
  - **Browserbase Stagehand**: Automates anything on the web like pharmacy refills (CVS, Walgreens), appointment booking, vaccine history retrieval, Uber calls from patient portals
  - **Gmail API**: Sends medication reminders, appointment confirmations
  - **MongoDB**: Stores user conversation history, medication lists, preferences

**2. Web App (Next.js, FastAPI, Node.js)**

- **Frontend**: Next.js deployed to Vercel.
  - Weekly report (Canvas) feature was created with React Flow

- **Backend**: FastAPI deployed to Vercel.
  - Our cognitive exercise recommendations are obtained by querying Claude with a science-backed policy obtained from research found through OpenEvidence.
  - WHOOP data is pulled using the WHOOP API from a Vercel workflow deployed as a serverless function.
  - WhatsApp groupchat media is obtained via the Beeper local API.

## Challenges we ran into

**Building a Natural Conversational Assistant**: Required a lot of prompt engineering to build an effective conversational AI agent for the elderly instead of one that just takes orders. We had to spend a little money on getting a voice that actually sounds human...

**Fine-tuning the Problem**: We spent a good amount of time really honing in on the problem (barely any code until 15hrs in!) and understanding what our users' pain points were. We read multiple research papers, which we hadn't done at hackathons before.

**Integrating with WhatsApp**. Turns out WhatsApp doesn't have a public API to retrieve media from group chats. Thus, in a true hackathon spirit, we hacked together a workaround by using Beeper's local API! Thank you amazing team at Beeper!

## Accomplishments that we're proud of

**Built a Production-Ready Healthcare Solution in 36 Hours**: From a conversational agentic voice interface to real-time cognitive analysis to WHOOP integration to WhatsApp integration, we're really proud of shipping a complex technical project with both a mobile and web app that was interesting and innovative for all of us!

**Using Vercel Workflows to sync WHOOP Data**:  We used Vercel's Workflows (Beta) to pull the data from WHOOP to enhance how we evaluate an elderly person's health profile! The workflow consists of steps to sync sleep, sync recovery, sync strain, and upload to MongoDB, and we liked how lightweight it was.

## What we learned
- Fine-tuning an idea before we start developing so we're all aligned and understand what to build.
- Learning how to build features around user stories, real pain points, and agreeing on those before continuing
- Vibe-coding tools!

## What's next for Bloom
- Fine tuning our evaluation criteria to be more accurate to the real world
- Unifying our currently separate servers to run on one instance for code readability and maintainability
- Shipping this to our local communities and supporting those that we love!


## Detected evidence (automated analysis)

Indexed codebase: 94 recognized source files, 497 KB.
- Anthropic (technology) — detected in the code
- CSS (language) — detected in the code
- Express (technology) — detected in the code
- FastAPI (technology) — detected in the code
- JavaScript (language) — detected in the code
- MongoDB (technology) — detected in the code
- Next.js (technology) — detected in the code
- OpenAI (technology) — detected in the code
- Python (language) — detected in the code
- React (technology) — detected in the code
- Tailwind CSS (technology) — detected in the code
- TypeScript (language) — detected in the code
- Vercel AI SDK (technology) — detected in the code
- Node.js (technology) — claimed on Devpost, not found in the code
- Vercel (technology) — claimed on Devpost, not found in the code

## Codebase structure (from repository index)

### Files (120 of 132)

```
.gitignore
backend/.env.example
backend/analysis/__init__.py
backend/analysis/ai_summary.py
backend/analysis/transcript_analyzer.py
backend/claude-agent/.env.example
backend/claude-agent/agent.py
backend/claude-agent/pyproject.toml
backend/claude-agent/seed_db.py
backend/claude-agent/setup_mcps.sh
backend/claude-agent/uv.lock
backend/companionship/__init__.py
backend/companionship/controller.py
backend/preventative_care/bad_message.txt
backend/preventative_care/good_message.txt
backend/preventative_care/preventative_care.py
backend/pyproject.toml
backend/server.py
backend/SETUP.md
backend/test.py
backend/uv.lock
backend/vercel-agent/.env.example
backend/vercel-agent/api/tools/run.ts
backend/vercel-agent/package.json
backend/vercel-agent/src/agent.ts
backend/vercel-agent/src/chat.ts
backend/vercel-agent/src/db.ts
backend/vercel-agent/src/index.ts
backend/vercel-agent/src/mailparser.d.ts
backend/vercel-agent/src/seed.ts
backend/vercel-agent/src/test-ride.ts
backend/vercel-agent/src/toolRunner.ts
backend/vercel-agent/src/tools/appointments.ts
backend/vercel-agent/src/tools/bills.ts
backend/vercel-agent/src/tools/contacts.ts
backend/vercel-agent/src/tools/email.ts
backend/vercel-agent/src/tools/index.ts
backend/vercel-agent/src/tools/medication.ts
backend/vercel-agent/src/tools/remoteTools.ts
backend/vercel-agent/src/tools/rides.ts
backend/vercel-agent/src/tools/weather.ts
backend/vercel-agent/src/uber-login.ts
backend/vercel-agent/src/uber-prices.ts
backend/vercel-agent/TEST_PROMPTS.md
backend/vercel-agent/tsconfig.json
backend/vercel-agent/VERCEL_DEPLOY.md
backend/vercel-agent/vercel.json
backend/whoop/__init__.py
backend/whoop/.env.example
backend/whoop/controller.py
backend/whoop/service.py
frontend/.gitignore
frontend/components.json
frontend/eslint.config.mjs
frontend/next.config.ts
frontend/package.json
frontend/postcss.config.mjs
frontend/README.md
frontend/src/app/canvas/page.tsx
frontend/src/app/dashboard/cognitive/page.tsx
frontend/src/app/dashboard/layout.tsx
frontend/src/app/dashboard/page.tsx
frontend/src/app/dashboard/settings/page.tsx
frontend/src/app/dashboard/transcript/page.tsx
frontend/src/app/globals.css
frontend/src/app/layout.tsx
frontend/src/app/page.tsx
frontend/src/components/DashboardShell.tsx
frontend/src/components/LandingPage.tsx
frontend/src/components/PreventativeCareRecommendations.tsx
frontend/src/components/ui/avatar.tsx
frontend/src/components/ui/badge.tsx
frontend/src/components/ui/button.tsx
frontend/src/components/ui/card.tsx
frontend/src/components/ui/dialog.tsx
frontend/src/components/ui/input.tsx
frontend/src/components/ui/progress.tsx
frontend/src/components/ui/scroll-area.tsx
frontend/src/components/ui/separator.tsx
frontend/src/components/ui/sheet.tsx
frontend/src/components/ui/tabs.tsx
frontend/src/contexts/DashboardUserContext.tsx
frontend/src/lib/api.ts
frontend/src/lib/config-api.ts
frontend/src/lib/utils.ts
frontend/tsconfig.json
local/companionship_beeper_sync/.env.example
local/companionship_beeper_sync/beeper_client.py
local/companionship_beeper_sync/main.py
local/companionship_beeper_sync/pyproject.toml
local/companionship_beeper_sync/README.md
local/companionship_beeper_sync/uv.lock
mobile/.env.example
mobile/.gitignore
mobile/app.json
mobile/App.tsx
mobile/babel.config.js
mobile/index.js
mobile/package.json
mobile/README.md
mobile/src/config.ts
mobile/src/constants/colors.ts
mobile/src/env.d.ts
mobile/src/navigation/AppNavigator.tsx
mobile/src/screens/.ConversationScreen.tsx.swp
mobile/src/screens/ConfirmationScreen.tsx
mobile/src/screens/ConversationScreen.tsx
mobile/src/screens/HomeScreen.tsx
mobile/src/services/api.ts
mobile/tsconfig.json
README.md
setup.sh
spec.md
workflows_service/.env.example
workflows_service/.gitignore
workflows_service/nitro.config.ts
workflows_service/package.json
workflows_service/src/index.ts
workflows_service/workflows/sync-whoop.ts
workflows/tree-hacks-backend/.gitignore
[12 more files omitted for size]
```

### Dependencies

- backend/claude-agent/pyproject.toml: claude-agent-sdk@>=0.1.36, pymongo@>=4.0, python-dotenv@>=1.0.0
- backend/pyproject.toml: anthropic@>=0.79.0, boto3@>=1.35.0, fastapi@>=0.129.0, python-dotenv@>=1.2.1, requests@>=2.32.5, uvicorn@>=0.40.0
- backend/vercel-agent/package.json: @ai-sdk/anthropic@^1, @ai-sdk/openai@^1, @browserbasehq/sdk@^2.6.0, @browserbasehq/stagehand@^3.0.8, @types/cors@^2, @types/express@^5, @types/multer@^2.0.0, @types/node@^22, @types/nodemailer@^6, @vercel/node@^3, ai@^4, cors@^2, dotenv@^16, express@^4, imapflow@^1, mailparser@^3, mongodb@^6, multer@^2.0.2, nodemailer@^6, open@^11.0.0, tsx@^4, typescript@^5, zod@^3
- frontend/package.json: @tailwindcss/postcss@^4, @types/node@^20, @types/react@^19, @types/react-dom@^19, @xyflow/react@^12.10.0, class-variance-authority@^0.7.1, clsx@^2.1.1, eslint@^9, eslint-config-next@16.1.6, framer-motion@^12.34.0, lucide-react@^0.564.0, next@16.1.6, radix-ui@^1.4.3, react@19.2.3, react-dom@19.2.3, react-markdown@^10.1.0, recharts@^3.7.0, shadcn@^3.8.4, tailwind-merge@^3.4.0, tailwindcss@^4, tw-animate-css@^1.4.0, typescript@^5
- local/companionship_beeper_sync/pyproject.toml: python-dotenv@>=1.2.1, requests@>=2.31.0
- mobile/package.json: @babel/core@^7.25.0, @react-navigation/native@^7.0.0, @react-navigation/native-stack@^7.0.0, @types/react@~19.1.0, babel-preset-expo@^54.0.10, expo@~54.0.0, expo-asset@~12.0.12, expo-av@~16.0.8, expo-build-properties@~0.14.0, expo-file-system@~19.0.21, expo-haptics@~15.0.8, expo-linear-gradient@~15.0.8, expo-status-bar@~3.0.9, react@19.1.0, react-native@0.81.5, react-native-dotenv@^3.4.11, react-native-gesture-handler@~2.28.0, react-native-reanimated@~4.1.1, react-native-safe-area-context@~5.6.0, react-native-screens@~4.16.0, typescript@^5.3.0
- workflows_service/package.json: @types/express@^5.0.6, express@^5.2.1, mongodb@^7.1.0, nitro@^3.0.1-alpha.2, rollup@^4.57.1, workflow@^4.1.0-beta.57
- workflows/tree-hacks-backend/package.json: @anthropic-ai/sdk@^0.74.0, @tailwindcss/postcss@^4, @types/node@^20, @types/react@^19, @types/react-dom@^19, eslint@^9, eslint-config-next@16.1.6, next@16.1.6, react@19.2.3, react-dom@19.2.3, tailwindcss@^4, ts-node@^10.9.2, typescript@^5, workflow@^4.1.0-beta.57

### Recent commits (newest first)

- Enhance README with project details and insights
- Add Devpost link to README
- Agent frontend (#26)
- final whoop data (#25)
- Merge pull request #24 from Kevinxygu/last-integration
- integrated pre* recs
- finish whatsapp pull flow (#23)
- add v1 of reminiscence report (#22)
- Merge pull request #21 from Kevinxygu/kevin/debugging-whoop
- Merge branch 'main' into kevin/debugging-whoop
- FINISHED end-to-end flow and connect the frontend and backend
- fixed import
- Merge pull request #20 from Kevinxygu/minor-fix-alby
- Merge branch 'main' into minor-fix-alby
- Merge pull request #19 from Kevinxygu/kevin/connect-frontend-backend
- Merge branch 'kevin/debugging-whoop' into kevin/connect-frontend-backend
- debugged whoop
- add example
- added button to rec cards
- updated main with new components

## Key source files (fetched from GitHub, selected and truncated for size)

### spec.md

```markdown
We are building an agentic AI app for eldery people. Our app has a mobile app for the elderly, a web app for caretakers (family, doctors), a backend on vercel serverless compute.

We have four main features:

Feature 1: DATA CAPTURE + PREDICTION: We will capture health data from weareables like Whoop as well as audio data (see feature three for how we will capture some audio data) to provide real-time health data and insights (like deterioration in memory, speech performance) to the caretakers of the elders. We will use Vital Audio (startup) to get biometrics from audio samples.

Feature 2 -> INTERVENTION: Based on the health data, we will provide science-bakced interventions to prevent that decline. For example, through a mix of cognitive activities, suggested physical activity, suggested social activity. We will track adherence to plan and track specific cognitive metrics over time.

Feature 3 -> DAILY SUPPORT: Handle tasks via voice commands (e.g. help me view my vaccine history, help me order a new round of medicine, help me order groceries via Instacart etc.). We plan on using Vercel AI for the chatbot

Feature 4 -> COMPANIONSHIP: Personalized reminiscence therapy [Paul]
We will provide a weekly report (based on how Famileo does it).
This report will have four main regions

1. Elder previously

- Integration with photos (from phone)
- On device vision model to produce text/video descriptions
- Integration with youtube likes/watch history
- https://github.com/zvodd/Youtube-Watch-History-Scraper
- Integration with facebook likes/events
- Emails (eg. an email from a loved one)

2. Family previously

- Photos/videos w/ descriptions from family members (famileo style)

3. Elder currently (this week)
4. Family this week
5. Stretch feature: daily digest

```

### backend/SETUP.md

```markdown
# Alberto Setup instructions (feel free to use if you use uv)

**if you are pip you may have to manually figure out which packages to add**

setting up after cloning
```
uv sync
```
to add a package
```
uv add <package name>
```
running server
```
uv run uvicorn server:app --reload
```
```

### backend/pyproject.toml

```
[project]
name = "treehacks"
version = "0.1.0"
requires-python = ">=3.13"
dependencies = [
    "anthropic>=0.79.0",
    "boto3>=1.35.0",
    "fastapi>=0.129.0",
    "python-dotenv>=1.2.1",
    "requests>=2.32.5",
    "uvicorn>=0.40.0",
]

```

### workflows_service/package.json

```
{
  "name": "workflows_service",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "nitro dev",
    "build": "nitro build"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "type": "commonjs",
  "dependencies": {
    "express": "^5.2.1",
    "mongodb": "^7.1.0",
    "nitro": "^3.0.1-alpha.2",
    "rollup": "^4.57.1",
    "workflow": "^4.1.0-beta.57"
  },
  "devDependencies": {
    "@types/express": "^5.0.6"
  }
}

```

### frontend/package.json

```
{
  "name": "frontend",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "eslint"
  },
  "dependencies": {
    "@xyflow/react": "^12.10.0",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "framer-motion": "^12.34.0",
    "lucide-react": "^0.564.0",
    "next": "16.1.6",
    "radix-ui": "^1.4.3",
    "react": "19.2.3",
    "react-dom": "19.2.3",
    "react-markdown": "^10.1.0",
    "recharts": "^3.7.0",
    "tailwind-merge": "^3.4.0"
  },
  "devDependencies": {
    "@tailwindcss/postcss": "^4",
    "@types/node": "^20",
    "@types/react": "^19",
    "@types/react-dom": "^19",
    "eslint": "^9",
    "eslint-config-next": "16.1.6",
    "shadcn": "^3.8.4",
    "tailwindcss": "^4",
    "tw-animate-css": "^1.4.0",
    "typescript": "^5"
  }
}

```

### mobile/package.json

```
{
  "name": "bloom-mobile",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@react-navigation/native": "^7.0.0",
    "@react-navigation/native-stack": "^7.0.0",
    "babel-preset-expo": "^54.0.10",
    "expo": "~54.0.0",
    "expo-asset": "~12.0.12",
    "expo-build-properties": "~0.14.0",
    "expo-av": "~16.0.8",
    "expo-file-system": "~19.0.21",
    "expo-haptics": "~15.0.8",
    "expo-linear-gradient": "~15.0.8",
    "expo-status-bar": "~3.0.9",
    "react": "19.1.0",
    "react-native": "0.81.5",
    "react-native-gesture-handler": "~2.28.0",
    "react-native-reanimated": "~4.1.1",
    "react-native-safe-area-context": "~5.6.0",
    "react-native-screens": "~4.16.0"
  },
  "devDependencies": {
    "@babel/core": "^7.25.0",
    "@types/react": "~19.1.0",
    "react-native-dotenv": "^3.4.11",
    "typescript": "^5.3.0"
  },
  "private": true
}

```

### local/companionship_beeper_sync/pyproject.toml

```
[project]
name = "companionship-beeper-sync"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = ["requests>=2.31.0", "python-dotenv>=1.2.1"]

```

### backend/claude-agent/pyproject.toml

```
[project]
name = "elder-care-agent"
version = "0.1.0"
requires-python = ">=3.13"
dependencies = [
    "python-dotenv>=1.0.0",
    "claude-agent-sdk>=0.1.36",
    "pymongo>=4.0",
]

```

### workflows/tree-hacks-backend/package.json

```
{
  "name": "tree-hacks-backend",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "eslint"
  },
  "dependencies": {
    "@anthropic-ai/sdk": "^0.74.0",
    "next": "16.1.6",
    "react": "19.2.3",
    "react-dom": "19.2.3",
    "workflow": "^4.1.0-beta.57"
  },
  "devDependencies": {
    "@tailwindcss/postcss": "^4",
    "@types/node": "^20",
    "@types/react": "^19",
    "@types/react-dom": "^19",
    "eslint": "^9",
    "eslint-config-next": "16.1.6",
    "tailwindcss": "^4",
    "ts-node": "^10.9.2",
    "typescript": "^5"
  }
}

```

### backend/vercel-agent/package.json

```
{
  "name": "elder-care-agent",
  "version": "1.0.0",
  "private": true,
  "type": "module",
  "scripts": {
    "dev": "tsx watch src/index.ts",
    "start": "tsx src/index.ts",
    "seed": "tsx src/seed.ts",
    "chat": "tsx src/chat.ts"
  },
  "dependencies": {
    "@ai-sdk/anthropic": "^1",
    "@ai-sdk/openai": "^1",
    "@browserbasehq/sdk": "^2.6.0",
    "@browserbasehq/stagehand": "^3.0.8",
    "@types/multer": "^2.0.0",
    "ai": "^4",
    "cors": "^2",
    "dotenv": "^16",
    "express": "^4",
    "imapflow": "^1",
    "mailparser": "^3",
    "mongodb": "^6",
    "multer": "^2.0.2",
    "nodemailer": "^6",
    "open": "^11.0.0",
    "zod": "^3"
  },
  "devDependencies": {
    "@types/cors": "^2",
    "@types/express": "^5",
    "@types/node": "^22",
    "@types/nodemailer": "^6",
    "tsx": "^4",
    "typescript": "^5",
    "@vercel/node": "^3"
  }
}
```

[85 more indexed source files omitted to keep this export small. The full file list is in the Codebase structure section above.]