FocusBuddy is an intelligent browser extension designed to help you track your focus and improve productivity. It provides detailed insights into your browsing behavior, tracks time spent on websites, and helps you identify productive vs. distracting activities. The extension also offers AI-powered insights with the powerful Llama-3.3-70b-versatile model to give personalized recommendations on how to stay focused and improve your productivity.
Track your focus by monitoring the time spent on different websites and categories.
- Tab Switching: Monitor how often you switch between tabs and websites.
- Time on Site: Keep track of how much time is spent on individual websites.
- Visited Domains Tracking: All domains you visit are tracked and categorized based on activity patterns, helping you analyze your browsing habits.
- Domain Categorization: Domains are categorized based on predefined patterns, such as productive, distracting, or neutral. This helps you understand how much time is spent on various types of websites.
- Domain Visit Frequency: FocusBuddy tracks how often you visit each domain, giving insights into whether you're repeatedly visiting distracting websites or staying focused on productive tasks.
Analyze your browsing behavior to identify distractions.
- Distraction Categories: Classify websites into productive or distracting categories based on the userβs activity.
- Real-Time Feedback: Provides suggestions to minimize distractions and boost productivity.
Gain actionable insights with the help of AI using the Llama-3.3-70b-versatile model.
- Behavior Analysis: Get AI-driven suggestions based on your browsing patterns to optimize your productivity.
- Privacy-Focused: Only domain-level data is provided to the AI model, ensuring that no personal information is shared. The data is safe and privacy-conscious.
Visualize your productivity and track progress with dynamic, real-time charts.
- Time Spent vs Categories Pie Chart: Displays the time spent on different categories of websites.
- Distraction vs Focus Pie Chart: Visualizes your time split between productive and distracting websites.
- Domain Active Time Bar Chart: Shows how much time was spent on individual domains.
- Tab Switching Chart: Provides insights into how often tabs are switched during browsing sessions.
View the top 10 domains based on the total active time spent.
- Insights into High-Activity Domains: Identify where most of your time is being spent and make informed decisions on how to improve focus.
The extension uses an event-driven model for tracking, which is efficient and ensures that no unnecessary data is collected.
- Optimized Data Collection: Only collects relevant browsing behavior data using Chrome's native APIs (Manifest V3).
- Lightweight: Not an overkill. It only collects the data that's meaningful, ensuring minimal performance impact.
- No Personal Information Collected: FocusBuddy does not collect any personal information.
- Only Domains Tracked: The extension tracks domains (not specific websites) to ensure privacy and security.
- Safe for Privacy: All data collected is stored locally and used only for analysis within the extension.
- Install the Extension: Add FocusBuddy to your browser and enable it.
- Track Your Time: As you browse, FocusBuddy monitors and logs your time spent on websites using Chrome's native APIs.
- Analyze & Improve: Get real-time insights into your productivity and distractions.
- AI Insights: The Llama-3.3-70b-versatile model provides personalized suggestions based on your browsing data (using only domain-level data).
- Visualize Your Progress: Use the four built-in visualizations to track time spent, focus vs. distraction, domain activity, and tab switching behavior.
This version is more privacy-focused, efficient, and sleek, ensuring that it helps users track their productivity and improve without compromising their privacy. Let me know if you need more adjustments! π
-
When you're using Windows run this:
git config --global core.eol lf
git config --global core.autocrlf input
This will set the EOL (End of line) character to be the same as on Linux/macOS. Without this, our bash script won't work, and you will have conflicts with developers on Linux/macOS.
-
Clone this repository.
-
Check your node version is >= than in
.nvmrc
file, recommend to use nvm -
Edit
/packages/i18n/locales/
{your locale(s)}/messages.json
-
In the objects
extensionDescription
andextensionName
, change themessage
fields (leavedescription
alone) -
In
/.package.json
, change theversion
to the desired version of your extension. -
Install pnpm globally:
npm install -g pnpm
(check your node version >= 22.12.0)) -
Run
pnpm install
Then, depending on the target browser:
- Run:
- Dev:
pnpm dev
(on Windows, you should run as administrator; see issue#456) - Prod:
pnpm build
- Dev:
- Open in browser -
chrome://extensions
- Check - Developer mode
- Click - Load unpacked in the upper left corner
- Select the
dist
directory from the boilerplate project
- Run:
- Dev:
pnpm dev:firefox
- Prod:
pnpm build:firefox
- Dev:
- Open in browser -
about:debugging#/runtime/this-firefox
- Click - Load Temporary Add-on... in the upper right corner
- Select the
./dist/manifest.json
file from the boilerplate project
Note
In Firefox, you load add-ons in temporary mode. That means they'll disappear after each browser close. You have to load the add-on on every browser launch.