How satya24713/second-brain works
Second Brain is a private personal planning app. Users work in the workspace to manage tasks (including tagged and dated items), journal entries, check-ins, and profile details; they can also ask Gemini for a plan and apply its proposed changes. The API layer authenticates and scopes operations, while D1 persists workspace data. The README documents the major capabilities; sampled server routes confirm the persistence and assistant flows. The workspace UI and several route implementations were not sampled, so their detailed client-side wiring is not shown.
Main entry points: workspace.tsx Workspace UI · index.ts D1 access · server.ts Request identity · route.ts Assistant chat
Components 23
Workspace experience
- Workspace UI
components/workspace.tsx - Task tools
components/product/task-editor.tsx - Journal editor
components/product/journal-editor.tsx - Reminders
components/product/reminders.tsx
Application API
- Workspace load
app/api/workspace/route.ts - Task routes
app/api/tasks/route.ts - Task updates
app/api/tasks/[id]/route.ts - Journal routes
app/api/journal/route.ts - Journal updates
app/api/journal/[id]/route.ts - Profile update
app/api/profile/route.ts - Check-in updates
app/api/trackers/[id]/route.ts
AI planning
- Assistant chat
app/api/assistant/route.ts - Apply proposal
app/api/assistant/apply/route.ts - Gemini settings
app/api/settings/gemini/route.ts - Gemini service
lib/gemini.ts
Persistent data
- D1 access
db/index.ts - Data schema
db/schema.ts - D1 database
Identity and secrets
- Request identity
lib/server.ts - Sites identity
app/chatgpt-auth.ts - Key encryption
lib/keys.ts
Other components
- Workspace user
- Google Gemini
Connections 40
- Workspace user → Workspace UI: uses
- Workspace UI → Workspace load: loads workspace
- Workspace UI → Task routes: creates tasks
- Workspace UI → Task updates: updates tasks
- Workspace UI → Journal routes: creates entries
- Workspace UI → Journal updates: edits entries
- Workspace UI → Profile update: updates profile
- Workspace UI → Check-in updates: updates check-ins
- Workspace UI → Assistant chat: sends prompts
- Workspace UI → Gemini settings: manages key
- Task tools → Workspace UI: provides task controls
- Journal editor → Workspace UI: provides journal controls
- Reminders → Workspace UI: shows reminders
- Workspace load → Request identity: authenticates
- Task routes → Request identity: authenticates
- Task updates → Request identity: authenticates
- Journal routes → Request identity: authenticates
- Journal updates → Request identity: authenticates
- Profile update → Request identity: authenticates
- Check-in updates → Request identity: authenticates
- Assistant chat → Request identity: authenticates
- Apply proposal → Request identity: authenticates
- Gemini settings → Request identity: authenticates
- Request identity → Sites identity: gets user identity
- Workspace load → D1 access: reads workspace data
- Task routes → D1 access: inserts tasks
- Task updates → D1 access: updates or deletes tasks
- Journal routes → D1 access: inserts entries
- Journal updates → D1 access: updates or deletes entries
- Profile update → D1 access: updates profile
- Check-in updates → D1 access: updates check-ins
- Assistant chat → Gemini service: generates plan
- Assistant chat → D1 access: stores conversation
- Apply proposal → D1 access: applies proposal
- Gemini settings → Gemini service: checks key
- Gemini settings → Key encryption: encrypts key
- Gemini service → Google Gemini: requests generation
- Gemini service → D1 access: loads user context and key
- D1 access → D1 database: queries and writes
- Data schema → D1 database: defines tables