Inspiration

We’ve all experienced opening a browser with a clear goal in mind and somehow ending up somewhere completely unrelated. The problem isn’t always discipline — it’s awareness. We wanted to build something that doesn’t block websites or shame users, but instead gently reminds them of their own intention. Focus Assistant was inspired by the idea that small, timely nudges can create meaningful behavioral change.

What it does

Focus Assistant is an AI-powered Chrome extension that helps users stay aligned with their goals while browsing.

Users set a goal, such as “Finish my ML proposal.” The extension tracks browsing activity in the background and periodically evaluates whether the activity supports that goal. If drift is detected, it provides a subtle, respectful nudge. It doesn’t block content or restrict access — it simply brings awareness back to the user.

How we built it

We built Focus Assistant using Chrome Extension Manifest V3 architecture.

A background service worker tracks tab changes and time spent per page. A content script extracts contextual page data and injects a lightweight UI element into the page. A React-based popup allows users to start and manage focus sessions.

Instead of calling the AI on every tab switch, we implemented a batch evaluation system. Browsing events are logged locally, aggregated over time, and sent to a backend proxy. The backend forwards structured summaries to a language model and returns a focus score with a short explanation.​

Challenges we ran into

One major challenge was handling anti-bot and CAPTCHA pages, which were initially being flagged as distractions and cached incorrectly. We resolved this with heuristic filtering, confidence thresholds, and time-based cache expiration.

Another challenge was managing API cost and performance. Early versions triggered AI calls on every tab switch, leading to excessive requests and unstable UX. We redesigned the system to use delayed evaluation, domain cooldown logic, and periodic batch processing.

We also discovered that wording matters. Small changes in nudge phrasing significantly impacted how supportive or intrusive the system felt.

Accomplishments that we're proud of

We’re proud of building a system that balances intelligence with restraint. Instead of creating a restrictive blocker, we built a reflective assistant. The batch evaluation architecture significantly reduced AI calls while improving reasoning quality. We also implemented a focus score model that produces smooth, human-like feedback rather than binary judgments.

Most importantly, the system feels supportive rather than controlling.

What we learned

We learned that building AI-powered products requires equal attention to engineering and user psychology. Architecture decisions like batching, caching, and rate limiting are critical for scalability. We also learned that autonomy and trust are essential in productivity tools — users respond better to guidance than enforcement.

What's next for Focus

Next, we plan to introduce personalized coaching modes, deeper focus analytics, and adaptive nudging based on behavioral patterns. We also aim to refine semantic goal-page matching to improve alignment accuracy and explore long-term productivity insights across sessions.

Our long-term vision is to make Focus Assistant a goal-aware layer for the web — one that helps users stay intentional without taking control away from them.

Built With

Share this project:

Updates