How harshsalunkhe2005/clarity works
Clarity is a natural-language productivity task app. Users enter a task in the dashboard; the input component parses it into structured fields using Gemini, with a keyword fallback, saves it to Firestore, and updates the task list. Users can sign in with email or Google, and the dashboard loads their saved tasks newest-first. The graph reflects documented capabilities and sampled calls; no server-side API layer is shown, and the route proxy explicitly leaves access checks to client-side auth.
Main entry points: TaskInput.tsx Task entry · dashboard/page.tsx Task dashboard · AuthContext.tsx Auth state · app/page.tsx Landing page
Components 14
App entry
- Landing page
src/app/page.tsx - Glass UI components
src/components/GlassComponents.tsx - App layout
src/app/layout.tsx
Accounts
- Sign-in page
src/app/login/page.tsx - Auth state
src/context/AuthContext.tsx - Firebase setup
src/lib/firebase.ts
Task workflow
- Task dashboard
src/app/dashboard/page.tsx - Task entry
src/components/TaskInput.tsx - Task parsing
src/lib/ai.ts - Task storage access
src/lib/db.ts
External services
- Firebase Auth
- Gemini
- Firestore
Other components
- User
Connections 21
- User → Landing page: opens app
README.md - Landing page → Auth state: checks auth
src/app/page.tsx - Landing page → Sign-in page: routes unauthenticated
src/app/page.tsx - Landing page → Task dashboard: routes authenticated
src/app/page.tsx - User → Sign-in page: submits credentials
src/app/login/page.tsx - Sign-in page → Auth state: requests sign-in
src/app/login/page.tsx - Auth state → Firebase Auth: authenticates
src/context/AuthContext.tsx - Firebase setup → Firebase Auth: initializes
src/lib/firebase.ts - App layout → Auth state: provides auth state
src/app/layout.tsx - User → Task entry: enters task text
src/components/TaskInput.tsx - Task dashboard → Task entry: renders entry
src/app/dashboard/page.tsx - Task entry → Auth state: reads user
src/components/TaskInput.tsx - Task entry → Task parsing: parses text
src/components/TaskInput.tsx - Task parsing → Gemini: requests extraction
README.md - Task entry → Task storage access: saves parsed task
src/components/TaskInput.tsx - Task dashboard → Task storage access: loads user tasks
src/app/dashboard/page.tsx - Task storage access → Firestore: reads and writes
src/lib/db.ts - Firebase setup → Firestore: initializes
src/lib/firebase.ts - Task entry → Task dashboard: notifies added task
src/app/dashboard/page.tsx - Task dashboard → Glass UI components: renders task cards
src/app/dashboard/page.tsx - Sign-in page → Glass UI components: renders form controls
src/app/login/page.tsx