Product Context
Understanding what is being tested, why, and how.
Product Overview
The Group Scheduling Application is a lightweight, link-based meeting scheduling tool running entirely on Cloudflare's developer platform. It enables an organizer to define candidate meeting slots and share a single URL with participants who respond without requiring authentication or calendar access.
Zero external dependencies — hosting, compute, database, caching, real-time WebSocket, and CDN all use Cloudflare-native primitives. No Redis, no PostgreSQL, no third-party SaaS.
Live Deployments
Stack
Architecture Documents
| Document | Status | Description |
|---|---|---|
| SDD v2.0 | View | Software Design Document |
| TDD v2.0 | View | Technical Design Document |
| Master System Prompt | View | |
| ADR-001: Framework Selection | View | |
| ADR-002: Authentication Model | View | |
| ADR-003: Real-Time (Superseded) | View | |
| ADR-004: Drizzle ORM | View | |
| ADR-005: Data Retention | View | |
| ADR-006/007: D1 + Durable Objects | View |
Customer Story
- Persona
- Team Coordinator + Team Members
- Goal
- Find the best meeting time across three respondents with mixed availability
- Acceptance Criteria
- Coordinator can create a poll via API
- Three respondents can submit availability with AVAILABLE and IF_NEEDED states
- Results page ranks slots by response count
- Organizer dashboard accepts PIN and allows closing the poll
- Closed poll shows correct closed state to participants
Assumptions
- Cloudflare Workers, D1, KV, R2, and Durable Objects are operational
- Kimi K2.5 API (api.moonshot.ai) available for LLM analysis
- Chromium browser, JavaScript enabled, 1440×900 viewport
- D1 migrated with 0001_initial.sql schema
- No concurrent test runs on same poll data
Glossary
- D1
- Cloudflare's edge SQLite database
- DO (Durable Object)
- Stateful compute — WebSocket connections + PIN rate limiter
- KV
- Key-Value store for API rate limiting
- PBKDF2
- 100k iteration SHA-256 key derivation for PIN/token hashing
- Hono
- Lightweight TypeScript web framework for CF Workers
- VTR
- Visual Test Report — this report format
- Slot
- A candidate meeting time (date + session label)
- IF_NEEDED
- Tentative availability, weighted 0.5x in ranking