Skip to content

NaomiiAP/nudge

Repository files navigation

Nudge

Stop drowning. Start doing.

Personal AI agent for students. Gmail, Calendar, and Notion in one loop — Coral SQL reads your data, Bedrock writes the nudges, Nudge acts when you don't.

🚀 Live Demo 📺 Video Demo 📈 Daily Reports 📝 Task Sheet
Open App Watch on YouTube View Reports View Tasks

Open the app → enter your name → Run pipeline.


Nudge architecture

What it does

  • Buried deadlines — professor emails with due dates missing from Notion or Calendar
  • Smart inbox triage — Bedrock decides which emails become Notion tasks; promos filtered out
  • Overload warnings — meetings + tasks scored so you see collision days early
  • Auto-actions — calendar blocks, Notion tasks, Gmail drafts, reschedule suggestions
  • Morning brief — daily summary from live Coral queries
  • Notion daily report — pipeline output appended to a public page

Calendar actions stay in-app; Google links need the account owner. Demo uses read-only aggregation, not shared calendar access.

Wear OS

Dashboard is home base. The watch is for when you don't have your laptop.

Walking out of class, your professor mentions a lab report due Friday — no laptop, just your watch:

"Add a Notion task: finish lab report, due Friday."

Same backend, real Notion task. Or: "Did Professor Chen email about the assignment?" — Coral runs wear_professor_gmail.sql and reads back what matters. Also: "Am I free at 3?" · "What's on today?"

Screen What it does
Main tile Overload score, nudge count, top priority
Voice Book tasks, check schedule, query professor mail
Today Calendar + Notion due today, read aloud
Inbox Recent Gmail subjects summarized
Brief Morning brief from the pipeline

Thin client on the watch — Coral + Bedrock stay on the backend. See nudge-wear/README.md.

Coral

Every read goes through Coral SQL. No hand-rolled REST joins — Gmail, Calendar, and Notion are queryable schemas.

Source Type Data
gmail file (jsonl) Gmail API → gmail_messages.jsonl
calendar http Google Calendar via OAuth
notion_tasks http Notion tasks DB via integration

Manifests in coral/sources/. Register: bash scripts/setup_phase1_sources.sh

Queries: hero_deadline · hero_overload · action_notion_task · action_calendar_block · wear_professor_gmail · …

Orchestrator → coral/client.py → Bedrock for nudge text → Google/Notion APIs for writes.

Stack

Python · FastAPI · Coral CLI · AWS Bedrock · Next.js · Wear OS (Kotlin) · Vercel + EC2

Nudge/
├── coral/sources/       # Coral manifests
├── nudge-backend/       # Agent + actions
├── nudge-dashboard/     # Web app
├── nudge-wear/          # Watch app
└── scripts/             # Setup & OAuth

Run locally

# .env at repo root — Google OAuth, Notion, AWS Bedrock, NUDGE_API_KEY
bash scripts/setup_google_oauth.sh
bash scripts/setup_phase1_sources.sh

bash scripts/run_backend.sh                    # :8000
cd nudge-dashboard && npm i && npm run dev     # :3000
API test
curl http://localhost:8000/api/health
curl -H "X-API-Key: YOUR_KEY" http://localhost:8000/api/nudges
curl -X POST -H "X-API-Key: YOUR_KEY" http://localhost:8000/api/nudge/run
Deploy
  • Vercel: BACKEND_URL + NUDGE_API_KEY
  • EC2: Coral CLI, uvicorn on :8000, open port 8000
  • Demo links: nudge-dashboard/lib/demo-links.ts

Pirates of Coral–Bean hackathon submission — built by Naomi.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors