Project Story

Inspiration

Every developer we knew had the same setup: 15 browser tabs, three different todo apps, and a timer on their phone. They've all tried the perfect productivity system - Notion databases, Todoist workflows, Obsidian vaults - but somehow ended up back at sticky notes and random text files.

We realized the problem wasn't finding better tools. It was that context switching between tools was killing our focus. Modern work requires deep concentration, but every app is optimized for task management, not focus protection. We needed something that guards flow state like it's sacred - because it is.

What it does

Flowcus is a desktop productivity workspace that seamlessly transitions between planning mode and focus mode.

In planning mode, you have full Kanban boards with columns, drag-and-drop task management, subtasks, dependencies, priorities, and tags. Everything you need to organize complex projects.

Hit focus mode, and the interface transforms. Start a focus session on any task, and distractions fade away. We track your time, monitor interruptions (and why they happened), and build a real picture of how you work. Sessions can be Pomodoro-style with breaks or custom lengths based on your needs.

Voice-Controlled AI Assistant: You can control Flowcus entirely through speech. Say "Start a focus session on the API refactor task" or "Move this to tomorrow's column" or "What should I work on next?" - the AI handles the interaction so you never have to leave your keyboard or break your flow. Your hands stay on your work while your voice manages the app.

Integrations that matter: Connect your Notion databases to pull in existing tasks and projects. Sync with Google Calendar to see your meetings and time-block around them. We don't replace your existing tools - we make them work together for focus.

Behind it all: instant search across everything (powered by SQLite FTS5), allowing you to find any task, note, or board in milliseconds. The app works both locally-first for complete privacy and offline access, or with cloud sync through Supabase for cross-device access - you choose what works for you.

How we built it

Tech Stack:

  • Electron + Vue 3 for a native desktop experience with modern web development
  • TypeScript throughout - 40+ fully typed models and services
  • SQLite with FTS5 for local data storage and lightning-fast full-text search
  • Supabase for optional cloud authentication and sync
  • AI Voice Integration for hands-free control of the entire application
  • Service Architecture - TaskService, FocusService, SearchService, ReportsService, IntegrationService each handling their domain

Key Systems:

  • Dual-mode operation: Fully functional offline with local SQLite, or online with Supabase authentication and cloud sync
  • Voice command processing: Natural language understanding that maps voice commands to app actions
  • Integration layer: NotionDatabase and CalendarEvent models syncing external data into your local workflow
  • Search Service with multiple methods: quick search for autocomplete, advanced search with filters, search by tags/status/priority, all with sub-50ms response times
  • Focus Session tracking that goes beyond simple timers - tracks interruptions, completion rates, and associates with specific tasks
  • Sync Service managing the complexity of local-first with optional cloud backup, handling conflict resolution and queue management

Challenges we ran into

Search Performance Hell: Our first search implementation took 2 seconds with just 10k tasks. Completely unacceptable. We rewrote it three times - first with better SQL, then with FTS5, finally with aggressive caching and relevance scoring. Now it handles 100k+ items in under 50ms.

Voice Control Complexity: Making voice commands feel natural while being precise enough to control a complex app was challenging. We had to balance natural language flexibility with the need for accurate command execution. The solution was building a robust command mapping system that understands variations of the same intent.

Integration Hell: Notion's API and Google Calendar have completely different paradigms. Building a unified interface that could handle both while maintaining our local-first approach meant creating an abstraction layer that could queue sync operations and handle failures gracefully.

Local vs Cloud Complexity: Building an app that works perfectly both offline and online is harder than picking one. We had to implement sync queues, conflict resolution, and carefully manage local IDs vs cloud IDs. Every model has sync_status fields and metadata to handle this dance.

State Complexity: With boards containing columns containing tasks containing subtasks, plus focus sessions tracking tasks, plus external data from Notion and Calendar - our state management became a nightmare. We solved it by treating SQLite as the single source of truth and building a robust service layer on top.

Accomplishments that we're proud of

  • Working voice AI: You can literally run the entire app without touching your mouse or leaving your keyboard
  • Seamless integrations: Notion tasks and Google Calendar events appear right alongside local tasks
  • Sub-50ms search across massive datasets including external data - this level of performance wasn't easy
  • Dual-mode architecture: Seamlessly works offline or with cloud sync - users don't have to choose upfront
  • 40+ integrated data models working seamlessly - from Tasks to FocusSession to NotionDatabase to CalendarEvent
  • The focus mode transition: When you start a focus session, the UI transformation feels magical - it's subtle but powerful

What we learned

Performance is a feature: We learned that in productivity apps, every millisecond matters. A 200ms delay is enough to break someone's flow state. This obsession with performance shaped every technical decision.

Voice control changes everything: Once we added voice, we realized how much friction existed in clicking through menus. Being able to say "start focus" while your hands stay on the keyboard is transformative.

Integrations are about trust: Users don't want another silo - they want something that respects their existing workflows. Building bridges to Notion and Google Calendar was more valuable than trying to replace them.

Local-first with cloud option is the sweet spot: Users want privacy and offline access, but also want their data when they switch devices. Building both modes was complex but worth it.

SQLite is incredibly powerful: It can handle way more than we expected - full-text search, complex queries, massive datasets, and even caching external API data.

What's next for Flowcus

Gamification System: Adding XP, achievements, skill trees, and quest systems to make productivity more engaging for those who want it.

Advanced Analytics: Detailed insights into your productivity patterns, focus streaks, and work trends over time.

Habit Tracking: Recurring tasks with completion tracking and streak monitoring for building consistent work habits.

Smart Scheduling: Using your focus session history and calendar integration to suggest optimal times for deep work.

More Integrations: Expanding to Slack, Linear, GitHub - bringing all your work context into one focused environment.

Enhanced AI Capabilities: Expanding the voice assistant to provide intelligent suggestions based on your calendar, Notion tasks, and work patterns.

The vision remains simple: be the last productivity app you need to install. Not by doing everything, but by doing the essential things exceptionally well, connecting to the tools you already use, and letting you control it all with your voice when your hands are busy doing the actual work that matters.

Built With

Share this project:

Updates