🧠 Focus Metric

“Measuring what drains us — before it breaks us.”

Inspiration

Through my work on brnsft.com, I became convinced that cognitive resources are limited and precious. Modern digital work — with its constant interruptions, tab switching, Slack pings, and Zoom fatigue — silently drains our mental bandwidth. We optimize tasks and time, but rarely optimize focus.

I wanted to build a tool that captures these hidden costs. Not just another productivity tracker, but a cognitive diagnostic that helps people understand how their work habits affect their mind, their health, and ultimately their performance.

What it does

Focus Metric is a self-assessment tool that quantifies cognitive stress, context switching, multitasking penalties, and early signs of burnout or physical strain.

It provides each user with:

  • A productivity score based on behavioral, physical, and cognitive inputs
  • A context switching index that estimates mental fragmentation
  • A burnout risk score based on WHO-aligned indicators
  • Role-specific benchmarking (e.g., for engineers, managers, designers)

Instead of tracking time or tasks, it focuses on what those tasks cost your brain.

How we built it

  • Behavioral Science & Cognitive Modeling
    We grounded the tool in cognitive science literature — integrating known mental switch penalties (~20–40% productivity loss), physical discomfort markers, and decision fatigue theories.

  • JSON-based Modular Survey Engine
    The questionnaire was built as a structured JSON schema — allowing easy embedding in frontends or other apps. Each question includes metadata (reverse scoring, weights by role, score impact, etc.).

  • Scoring Algorithms
    A multi-factor productivity formula accounts for:

    • Estimated context switches per hour
    • Sleep quality, physical pain, and attention stability
    • Role-based modifiers (e.g., designers tolerate interruptions better than engineers)
    • Superlinear modeling of mental overload at high switch frequencies
  • Context Switch Estimator
    Since most users don’t track their own interruptions, we added a wizard-style helper that converts behaviors into an approximate context switching rate.

Challenges we ran into

  • Modeling without overfitting
    Quantifying subjective cognitive strain while keeping scores grounded and generalizable was tricky. We needed enough structure to be useful — without assuming too much.

  • Making it role-aware
    Managers, coders, and marketers have radically different tolerance thresholds. Tuning the algorithm to stay fair across job types was harder than expected.

  • UX for Self-Reflection
    We wanted the tool to feel empowering, not guilt-inducing. The goal is to create awareness, not shame — especially around mental load and burnout.

Accomplishments that we're proud of

  • Built a modular framework that could be easily embedded, white-labeled, or scaled into a full SaaS platform
  • Created one of the first productivity tools focused on cognitive cost, not just task completion
  • Designed a scoring engine that blends quantitative rigor with behavioral insights
  • Developed a role-based productivity score that can adapt to any digital profession

What we learned

  • People intuitively know when they’re burned out — they just lack the language or structure to explain it
  • Most productivity tools ignore the mental cost of how work gets done
  • Scoring models that combine cognitive science with behavioral UX are both powerful and underused
  • Focus is the real productivity currency — and we need better tools to protect it

What's next for Focus Metric

  • 🚀 Build and launch a full web app (React + TypeScript + scoring engine)
  • 📊 Add passive data integrations (calendar, Slack activity, browser tabs) to estimate context load automatically
  • 👥 Test with digital teams, managers, and freelancers to validate real-world impact
  • 📈 Add time-based tracking so users can see how focus and fatigue evolve over days or weeks
  • 🧠 Train AI models to deliver personalized nudges or alerts when cognitive strain peaks

Built With

  • autoprefixer
  • css
  • eslint
  • etc.)-typescript-interfaces-strong-typing-for-assessment-data
  • etc.)-zustand-persist-saves-your-progress-locally-so-you-don't-lose-it-if-you-refresh-data-visualization:-recharts-for-the-radar-chart-and-score-gauge-visualizations-architecture:-component-based-modular-react-components-(questioncard
  • lucide
  • modern-bundler)-styling-&-ui:-tailwind-css-utility-first-css-framework-for-styling-lucide-react-icon-library-(for-all-the-icons-you-see)-state-management:-zustand-lightweight-state-management-(stores-assessment-responses
  • postcss
  • progress
  • questions
  • recharts
  • results
  • scoregauge
  • tailwind
  • typescript
  • vite
  • zustand
Share this project:

Updates