Marketing website and interactive demo for Pre-Appointment 1 (P1) — the app that prepares you for doctor visits by turning daily check-ins into a clear medical briefing.
· App: Google Play · Main repo: Group-Hackathon/p1
- Landing page with screenshots, feature grid, how-it-works section, tracking types
- Interactive demo — enter a natural-language symptom note, get a simulated AI summary
- Dashboard — mock patient view with symptom cards, 7-day bar chart, add symptom modal
- AI Health Summary — trend signals, key symptoms, "what changed?" insight
- Doctor Visit Summary — print-ready one-page briefing with observations and questions
- Responsive — mobile-first, works on all screen sizes
- Cloudflare Pages + Workers — static site with serverless waitlist API
npm install
npm run devOpen the Vite URL shown in the terminal.
npm run build
npm run previewnpx wrangler pages deploy dist --project-name=p1-website- Create a KV namespace:
npx wrangler kv:namespace create WAITLIST_KV
- Bind it in
wrangler.toml:kv_namespaces = [ { binding = "WAITLIST_KV", id = "<your-namespace-id>" } ]
- Deploy:
npx wrangler pages deploy dist
The waitlist endpoint is at POST /api/waitlist with body { "email": "..." }.
src/
├── components/ # Layout, Navbar, Sidebar, Logo, StatCard, SymptomCard, AIInsight
├── data/ # mockData.js (sample patient data), appFeatures.js (product content)
├── pages/ # Landing, Dashboard, HealthSummary, DoctorSummary, Demo
├── App.jsx # Root with page routing
├── main.jsx # React entry point
└── index.css # Tailwind + custom utilities
public/
├── screenshots/ # App screenshots (dashboard, journey, check-in, pain, photo)
├── favicon.svg
├── robots.txt
├── sitemap.xml
├── _headers # Cloudflare security headers
└── _redirects # SPA fallback routing
functions/
└── api/waitlist.js # Serverless waitlist endpoint
The AI behavior and health data are simulated. This prototype must not be represented as a medical diagnostic system or used for clinical decision-making.
P1 is a product of Living Patient Memory. Contact: opendatahive@gmail.com