← Back to Case Studies
FlowStateCASE STUDY

FlowState Case Study: Building a Desktop Activity Tracker With Electron, SQLite, and a Chrome Extension

VERIFIED OUTCOME
Desktop & Extension Architecture

FlowState Case Study: A Personal Productivity Tool Built With Electron, a Chrome Extension, and SQLite

Quick answer: FlowState is a Windows 10 desktop activity tracker built by NeuroStackOS combining Electron and Node.js for the desktop shell, better-sqlite3 for local storage, a React and Vite frontend with Recharts for visualization, and a companion Chrome extension for browser-level tracking. It was built as a personal tool, not a commercial product with paying customers, and it exists in this portfolio specifically to demonstrate desktop and browser-extension development breadth beyond the web and mobile work that makes up most of the NeuroStackOS catalog.

Why Desktop Development Still Matters as a Proof Point

Most modern development portfolios are entirely web and mobile, which is a reasonable reflection of where most client work actually lives, but it also means most agencies genuinely cannot build a native-feeling desktop application if a client needs one. FlowState exists to close that gap in the portfolio honestly: it is a real, functioning desktop application with real technical depth, built to prove the capability exists, not to pretend it has an active user base it does not have.

What FlowState Tracks and How

FlowState monitors active application usage, browser tab activity, and even specific VS Code project names, identified through window title regex matching, giving a genuinely detailed picture of how time is actually being spent across both native applications and the browser.

Achieve Similar Results

Don't leave your engineering outcomes to chance. Book a technical strategy call with our lead architects today.

Book a Technical Strategy Call →
Component Technology Role
Desktop shell Electron with Node.js Cross-platform desktop application framework, running as a native-feeling background application on Windows
Local database SQLite via better-sqlite3 Fast, synchronous local storage for activity data, with no external database dependency
Frontend React with Vite, using Recharts Renders the tracked activity data as readable charts and summaries
Browser companion Chrome extension Extends tracking into browser tab activity, which the desktop shell alone cannot see
Window and process detection Window title regex matching Identifies specific active applications, browser tabs, and even VS Code project names from window title strings
Startup behavior app.setLoginItemSettings() Registers FlowState to launch automatically on system startup, so tracking begins without the user needing to manually open it each session
UI presence System tray icon, positioned bottom-right above the taskbar Keeps the app accessible without occupying a taskbar slot or a visible window during normal use

The Technical Challenge of Cross-Boundary Tracking

The genuinely hard part of a tool like FlowState is not any single component in isolation, it is getting the desktop shell and the browser extension to produce a coherent, unified picture of activity despite running in two fundamentally different execution environments with no shared process space. Electron can see which native application window is active. It cannot natively see which browser tab is active or what that tab's content represents. The Chrome extension closes that gap, and the window title regex matching layer is what ties both data sources back into identifiable, meaningful categories, VS Code project names, specific browser tabs, or particular native applications, rather than a raw, uncategorized stream of window titles.

Why SQLite Instead of a Cloud Database

FlowState stores all activity data locally through better-sqlite3, a deliberate choice rather than a shortcut. A personal activity tracker recording detailed application and browsing behavior is exactly the kind of tool where local-only storage is the right architectural decision: there is no cloud sync requirement to justify the added complexity and privacy exposure of a remote database, and better-sqlite3's synchronous API is well suited to the kind of frequent, small write operations an activity tracker generates continuously throughout the day.

Startup and Tray Behavior: Small Details That Matter

A background tracking tool that requires manual launching every session will simply stop being used within a week, which is why app.setLoginItemSettings() and the tray icon placement were treated as core requirements rather than polish items added at the end. Registering FlowState to launch on system startup and living quietly in the system tray rather than the taskbar means the tool tracks consistently without asking anything of the user on an ongoing basis, which is the only way a personal analytics tool like this actually produces useful long-term data.

Being Honest About What FlowState Is

FlowState is a personal tool, built to track one person's own usage patterns and to prove out a specific cross-boundary technical architecture, desktop plus browser plus local database plus visualization, working together as one cohesive product. It has not been positioned or sold as a commercial SaaS product with a customer base, and this case study does not claim otherwise. What it demonstrates instead is directly useful to a prospective client: the ability to build native-feeling desktop software that talks to a browser extension and a local database in a coordinated way, a combination that fewer development shops can actually execute than claim to.

Frequently Asked Questions

What is FlowState and what does it track?

FlowState is a personal Windows 10 desktop activity tracker that monitors active applications, browser tabs, and specific VS Code project names, storing all data locally through SQLite.

How does FlowState identify which app or browser tab is active?

Through window title regex matching, combined with a companion Chrome extension that reports browser tab activity the Electron desktop shell cannot see on its own.

Why build a desktop app with Electron instead of a native application?

Electron allows a single codebase to produce a cross-platform, native-feeling desktop shell with web technologies, which was the appropriate tradeoff for a personal tool where development speed mattered more than the marginal performance gain of a fully native build.

Is FlowState available as a commercial product?

No. FlowState is a personal tool built to track individual usage patterns and to demonstrate cross-boundary desktop, browser, and local database architecture, not a product currently sold to customers.

Related Case Studies

  • Ather App: another example of building a focused tool around a specific, personal workflow problem
  • Vocapage: a different cross-platform build, this one mobile-focused rather than desktop
  • Billr: a comparison point for a multi-platform architecture built for external users rather than personal use

Work With NeuroStackOS

If your business needs desktop software that talks cleanly to a browser or another system boundary most agencies avoid, this is direct proof that architecture is inside NeuroStackOS's range. Get in touch to talk through a cross-platform build.

Ready for a similar architectural upgrade?

Lock in your scope today and go live in 14 days. We guarantee the outcome.