Phase 5 & 6: Projects, Discord, donna-server (24/7), 10 new features, Resend design - #2
Merged
Merged
Conversation
## New integrations (backend)
- `integrations/news.rs` — Hacker News top stories via free JSON API
- `integrations/weather.rs` — Open-Meteo current weather (free, no key)
## 10 new features shipped
1. **Daily Tech News** — built-in routine at 9am fetches HN top 15, formats
digest, sends to WhatsApp/Telegram; also triggerable manually
2. **Weekly Review** — built-in routine every Sunday 8pm
3. **End-of-Day Journal** — built-in routine daily at 6pm with reflection prompts
4. **Reading List** — save URLs, AI-summarize with one click; full CRUD
5. **Focus Sessions** — start 25/45/90-min blocks with live circular countdown
6. **Habit Tracker** — create habits, one-tap daily check-in, streak-ready
7. **Project Status Report** — AI-generated report from project files → saved as doc
8. **Weather in Morning Briefing** — Open-Meteo (lat/lon from KB settings)
9. **Pre-call WhatsApp delivery** — all routine outputs now also push to
WhatsApp (user's own number from `whatsapp_my_number` setting) or Telegram
10. **Post-meeting debriefs** — scheduler `after_meeting` type auto-processes
Fathom summaries when a calendar event ends
## Backend
- `db.rs` — 4 new tables (reading_list, focus_sessions, habits, habit_logs);
3 new structs; 11 new Db methods; 3 new seed routines
- `scheduler.rs` — WhatsApp/Telegram delivery after every routine; HN news
context for tech_news routine; weather context for morning_briefing
- `commands.rs` — 13 new commands registered + editor priority fixed (Cursor first)
- `lib.rs` — all new commands registered
## Frontend
- `routes/Productivity.tsx` (new) — tabbed News / Reading List / Focus /
Habits view with live focus timer, circular progress ring, habit check-ins
- `routes/Projects.tsx` — "Status Report" button in project header
- `components/Sidebar.tsx` — Productivity (⚡) nav item
- `lib/api.ts` — 3 new types + 13 new api methods
## donna-server (new directory)
Standalone headless Rust binary for 24/7 operation without the desktop app.
Runs on Oracle Cloud free tier, Fly.io, Raspberry Pi, or any Linux machine.
Handles: morning briefing, daily news, pre-meeting WhatsApp briefings, weekly
review. All config via env vars (DONNA_WHATSAPP_TOKEN, DONNA_GOOGLE_*…).
Includes Dockerfile (two-stage, ~10 MB image), .env.example, README with
deployment guides for Oracle, Fly.io, and Raspberry Pi systemd.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
…gnore Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Significant rework of the knowledge-graph visualisation layer: - KgCircleNode / MindMapGraphLinks — updated node sizing and edge rendering - forceLayout.ts — improved force-directed layout algorithm - MindMap.tsx — restructured component tree and interaction model - global.css — expanded global style definitions Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two phases of major feature work — Projects, Discord bot, donna-server (24/7), 10 new features, and a Resend-vibe design overhaul.
Phase 5
Backend
db.rs—projectstable + CRUDintegrations/discord.rs(new) — Discord bot token in OS keychaincommands.rs— 10 new commands:project_*,discord_*,fathom_process_recent_meetinglib.rs— window hides on close (app stays alive); all new commands registeredscheduler.rs—after_meetingroutine type for post-Fathom debriefsFrontend
tailwind.config.ts— Resend-vibe dark tokens, JetBrains Mono, card shadowscomponents/ui.tsx— Badge, Card, Input, EmptyState; Button size/success variantroutes/Projects.tsx(new) — 3-column: project list, file tree, in-app editor with Cmd+Sroutes/Integrations.tsx— Discord sectionSidebar.tsx— Projects + Productivity navPhase 6
10 new features
donna-server — standalone Rust binary for 24/7 without the desktop. Runs on Oracle Cloud Free Tier, Fly.io, Raspberry Pi, or Docker. Handles news, weather, calendar briefings, and meeting prep via env vars.
MindMap — refactor of force-directed layout, node sizing, edge rendering, and global styles.
Test plan
cargo checkpasses (zero errors)cd donna-server && cargo runstarts successfully🤖 Generated with Claude Code