Name: Activity Tracker (Generic placeholder) Platform: Windows Desktop (.exe) Core Value: A privacy-first, beautiful, and "safe" activity tracker that helps users understand their digital habits through premium visualizations. Unique Selling Point: Modern Glassmorphism UI combined with deep system integration that respects privacy and avoids "malware" behavior.
We chose Tauri over Electron for:
- Performance: Uses the native OS WebView (WebView2 on Windows), resulting in <10MB binary size and minimal RAM usage.
- Safety: Compiled Rust backend is harder to reverse-engineer and less likely to trigger heuristic AV flags than interpreted Python/Node scripts.
- Security: Sandbox capability and strict IPC (Inter-Process Communication).
- Framework: React 18 + TypeScript + Vite.
- Styling: Tailwind CSS.
- Visualization: Recharts or Nivo (SVG-based charts).
- State Management: React Query (for async data fetching from Rust) + Zoning (local state).
- Language: Rust.
- Database: SQLite (stored locally as
activity.db). - Polling Strategy:
- 1Hz Loop: Checks
GetForegroundWindowexplicitly. - Passive Input Monitoring: Uses
GetLastInputInfoto detect idle time without hooking keys (Keylogger avoidance). - Power Proxy: Estimates power usage via Performance Counters (CPU% * Time + GPU usage).
- 1Hz Loop: Checks
Adapted from the 'Master UI/UX Design System' skill.
- Theme: Deep, dark, and translucent.
- Background: Dynamic, shifting mesh gradients (Deep Blue/Purple/Zinc) or "Orb" animations.
- Materials:
bg-card:bg-zinc-900/40 backdrop-blur-xl border-white/10.text:text-zinc-100(Primary),text-zinc-400(Secondary).
- Typography:
Inter(UI) andPlus Jakarta SansorOutfit(Headings). - Interactions:
- HOVER: Subtle lift and glow (
shadow-swiss-hover). - TRANSITIONS: Smooth
duration-300 ease-out.
- HOVER: Subtle lift and glow (
- Metric: Application Switching Rate + Active Window Duration.
- Visualization: Horizontal Timeline Bar.
- Green Blocks: Productive Apps (Configurable).
- Red Blocks: Distractions.
- Grey Gaps: Idle/Away time.
- Insight: "Fragmented Attention" identification.
- Metric: Raw Input Count (Clicks/Keystrokes per minute). NO key contents recorded.
- Visualization: Activity Heartbeat.
- Line chart overlaid on the timeline showing intensity spikes.
- Metric: Window Titles (Sanitized) & Process Names.
- Visualization: Sunburst Chart.
- Inner Ring: Category (Dev, Social, Media).
- Outer Ring: Specific App/Project (e.g., "VS Code - Project X").
- Metric: Login/Logout times, Screen On/Off events.
- Visualization: 24h Heatmap.
- GitHub-style contribution graph but for hours of the day.
- Metric: CPU/GPU resource usage over time per process.
- Visualization: Bubble Chart.
- X-Axis: Time of Day.
- Y-Axis: Resource Intensity.
- Size: Total Impact.
To ensure the app is not flagged as malware:
- No Hooks: We strictly avoid
SetWindowsHookEx. We only poll public APIs (GetForegroundWindow,GetLastInputInfo). - Local Only: No data is ever sent to a cloud server.
- Sanitization: Logic to strictly ignore identifying sensitive window titles if possible (e.g., detecting "Password" or "Bank" in titles and redacting).
- Initialize Tauri + React project.
- Set up Tailwind CSS with "Glassmorphism" tokens.
- Create basic Layout Shell (Sidebar + Glass Panes).
- Implement Dashboard Home (Pulse View).
- Build "dummy" charts using Recharts to validate aesthetics.
- Refine animations and "Orb" backgrounds.
- Implement the
Trackerstruct in Rust. - Set up the polling loop (1Hz).
- Connect SQLite DB setup in Rust.
- Bridge Rust -> Frontend via Tauri Commands.
- Add Settings page (blacklist apps, adjust colors).
- Build
.exeand test on a clean Windows VM.