Urgent.News

What's breaking now, across thousands of outlets.

AI

FocusBuddy: A Tiny AI Companion That Helps My Friend Start

What I Built I built FocusBuddy for a friend who wants to study and work but finds it hard to start when scrolling is always one tap away. I chose this problem because the first few minutes of a task can feel like the hardest part, and I wanted to make those minutes feel easier without blaming him or pretending a website can control his phone. FocusBuddy lets him name a task and start with just…

I developed a compact AI companion called FocusBuddy to assist a friend in overcoming the challenge of initiating tasks, especially when the temptation to scroll is just a tap away. Recognizing that the initial minutes of a task can be the most daunting, I aimed to ease these early moments without suggesting the app controls the user's phone.

At its core, FocusBuddy allows users to designate a task and commence with just a two-minute commitment. It meticulously tracks when the user detours from the designated FocusBuddy tab, pauses for an intentional 60-second scroll break, prompts a period of phone usage cessation, and logs a concise personal reflection upon the session's conclusion. A dashboard then compiles these sessions into a tangible record of progress.

Tech-wise, FocusBuddy is constructed using React, TypeScript, and Vite. It stores focus history and reflections within the browser's LocalStorage and employs a service worker to manage the app shell. Optionally, it incorporates an AI nudge powered by the open-weight Qwen2.5-0.5B-Instruct model, accessed via WebLLM in browsers that support it.

A WebGPU is mandatory for this particular implementation, and the model weights must be downloaded during the user's initial interaction with the app, as the weights are not bundled. In scenarios where the model is either disabled or not available, the app defaults to a concise internal nudge. No closed AI APIs are utilized, ensuring that the AI functionality is self-contained.

The AI provider's isolation behind a simple generateNudge(context) function enables developers to scrutinize the prompt and substitute the model as needed. For browsers that support it, inference occurs directly on the device. Focus history and reflections remain securely stored in the browser's local storage and are never transmitted to an external application server.

The model weights are fetched from a specified model registry; thus, the first-time AI setup requires an internet connection. However, it's important to note that the app does not claim to operate fully offline with AI. By employing an open-weight model, FocusBuddy makes it feasible for users to experiment with different nudge strategies and local inference, all while keeping the product's dependency on proprietary AI APIs minimal.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in AI

Misspoke

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend . What I Built I built MisSpoke , a voice-first AI language practice partner for a friend who wanted to get better at…

More from Saturday 3 October →