Focus Balls: Facing the Fear of Losing Executive Control

by i95sarmiento in Design > Software

682 Views, 1 Favorites, 0 Comments

Focus Balls: Facing the Fear of Losing Executive Control

01.gif
Captura de pantalla 2026-03-15 221700.png

For this Instructable, I wanted to focus on "abstract" fears because I feel they don't get the visibility or importance they deserve. While I also experience classic fears like acrophobia (fear of heights), I believe our current generation suffers from complex, modern fears that are hard to treat because everyone's needs and triggers are entirely different.

Here, I want to address these complex fears and give you the tools to create your own personalized solution.

Supplies

Materials Needed:

  1. A computer
  2. Google Chrome browser
  3. Access to an advanced AI (like Google Gemini, ChatGPT, or Claude)

Discovering Your Hidden Fears With AI

Captura de pantalla 2026-03-15 205246.png
Captura de pantalla 2026-03-15 205139.png

To know what solution to build, we first need to know what fears we have. Since these are highly personalized, my recommendation is to ask an advanced AI. If you keep a journal or a chat history with an AI (like I do with Google Gemini), or if you have notes on your phone, you can feed that data to the AI and ask this specific prompt:

"Taking into account everything you know about me from our conversations, what deep or superficial fears do you detect in me?"


This will give you a list of personalized, justified fears that you will likely strongly identify with, as it's an analysis based on your expression patterns which often hide subconscious fears.

For me, the AI detected the following:

  1. Fear of inefficiency: Terror of investing energy into a system destined to fail.
  2. Fear of unstructured overload: Feeling overwhelmed by chaotic, bureaucratic, or human systems where I don't set the rules (unlike 3D engines or code).
  3. Fear of the loss of executive control: Deeply fearing becoming a slave to basic impulses (cheap dopamine, laziness), losing mental sharpness, discipline, and focus.
  4. Fear of being a "snake oil salesman": Fear of not providing real, tangible value to the world.
  5. Fear of structural dependence: Fear of being just another cog depending on a boss or the government.


Fears As Biological Alarms

Before continuing, I want to note that many of these complex fears are essentially good. They act as internal alarms showing us the path we should or shouldn't take. So, regardless of what the AI says, you must stop and think about which of these fears negatively affect your life and which ones affect it positively.

Choosing the Fear to Face

Once you've done this introspection exercise, select the fear you want to solve. In my case, it was #3: The fear of the loss of executive control.

In essence, this is the fear that leads to procrastination, wasted time, late nights, bad habits, and guilt.

Why Traditional Solutions Fail

Captura de pantalla 2026-03-15 205722.png
Captura de pantalla 2026-03-15 205702.png

In my specific case, one of the things that affects me most is scrolling through TikTok. At the slightest frustration or challenge—a problem at work, something going wrong, or even feeling too lazy to write this Instructable—my hand automatically moves to the search bar and opens TikTok.

I've tried installing typical website-blocking extensions, but I end up uninstalling them for the exact same reason: they are too strict. They put up such a high, impassable wall that it's easier for my mind to just delete or disable the extension than to face the frustration of the moment.

My Solution - "Focus Balls"

Captura de pantalla 2026-03-15 210004.png
Captura de pantalla 2026-03-15 210040.png
Captura de pantalla 2026-03-15 210105.png
2026-03-1521-01-34-ezgif.com-video-to-gif-converter.gif

After a lot of thinking, I came up with an idea: When I enter TikTok (or any similar time-wasting site), a colorful bouncing ball will appear on the screen every 5 seconds. As time passes, the screen will fill up, physically obstructing my view. When I switch to a productive tab, the balls will slowly disappear one by one (every 2.5 seconds).

This annoys me just enough to give my willpower the time it needs to step away and return to the task, or at least it interrupts the flow of that basic dopamine impulse.

Developing the Extension Using AI

Captura de pantalla 2026-03-15 212358.png
Captura de pantalla 2026-03-15 212539.png
Captura de pantalla 2026-03-15 212730.png
Captura de pantalla 2026-03-15 212814.png

To develop the extension, I used the Antigravity IDE powered by Google Gemini 3.1 Pro (High). Here is the simple step-by-step process to get started:

  1. Download Antigravity from https://antigravity.google/download.
  2. Perform a standard installation (just click Next, Next, etc.).
  3. Create a new empty folder on your computer, for example, chrome_extension.
  4. Open Antigravity, go to the top menu, click File -> Open Folder, and select your newly created folder.
  5. In the Antigravity chat, write the prompt below to generate the code.
  6. If the AI encounters any errors or the extension has a bug, simply keep talking to the chat and it will fix the code automatically!

The most important thing is to be very clear with your instructions. You can use the exact prompt below, which also includes the gamification mechanics I added later:

Context: I need you to create a complete Chrome Extension (Manifest V3) called "Focus Balls: Productivity Enforcer". It is a gamified anti-procrastination tool. Instead of blocking websites, it floods the screen with bouncing balls the longer the user stays on a distracting site.
Core Mechanics (Content Script & Logic): URL Tracking & SPA Support: Every 500ms, evaluate window.location.href to see if it matches any blocked site in the user's list. This is crucial to detect internal navigation on Single Page Apps like YouTube Shorts without page reloads. Punishment (Adding Balls): If the user is on a blocked site, spawn 1 new bouncing ball every 5 seconds. Save the ballCount in chrome.storage.local to sync across tabs. Reward (Removing Balls): If the user is NOT on a blocked site, or the tab is hidden (document.visibilityState !== 'visible'), remove 1 ball every 2.5 seconds. Ball Properties: Balls are <div> elements appended to the body. They must NOT have pointer-events: none (they should obstruct clicking). Size must be responsive, picking random vibrant colors for each ball. Physics Engine: Implement 2D movement using requestAnimationFrame. Balls must bounce off the screen edges and physically collide with each other with a slight gravity pulling them to the center.
The "Killer Ball" Boss Mechanic: Only spawn the "Killer Ball" if there are at least 6 regular balls already on screen, AND after an initial cooldown of 45 seconds. It is 1.2x the size of a normal ball, red, bounces around, and has a visible number inside starting at 10. The number increases by 1 every 1 second. When the user clicks the Killer Ball, the number decreases by 1. Victory condition: If the counter hits 0, the Killer Ball is destroyed, ALL regular balls are destroyed, and a message is fired to the background script to execute the "Extradition".
Tab Tracking & Teleportation (Background Service Worker): Keep tracking the total time spent actively on every open tab. Listen for the victory message from the Killer Ball. When received, switch to the "most productive" tab (the one with the lowest recorded active time, ignoring blacklisted sites). Finally, completely close the sender tab (the blacklisted site the user was procrastinating on).
Options UI (Popup): Create a popup with a <textarea> where users can write blocked domains (one per line).


Installing the Chrome Extension

Captura de pantalla 2026-03-15 213037.png
Captura de pantalla 2026-03-15 213730.png
Captura de pantalla 2026-03-15 213800.png
Captura de pantalla 2026-03-15 214053.png
Captura de pantalla 2026-03-15 214115.png
Captura de pantalla 2026-03-15 214127.png

The AI will generate a folder with a series of files that make up the extension. Now you just need to install it:

  1. Open Google Chrome.
  2. Type chrome://extensions/ in the address bar and press Enter.
  3. In the top right corner, turn on Developer mode.
  4. Click the Load unpacked button on the top left.
  5. A file explorer will open. Find and select the folder the AI created for you (select the whole folder, don't go inside it).
  6. Restart the browser.
  7. Done! You will see your extension installed and ready to be turned on.


Gamification (The "Killer Ball" Boss Battle)

Captura de pantalla 2026-03-15 215345.png
2026-03-1521-54-27-ezgif.com-video-to-gif-converter.gif

As I tested the implementation, I added gamification elements because I realized I needed a stronger hook to pull me away from TikTok.

After a few seconds of procrastination, a special "Killer Ball" appears with a counter. I have to click it rapidly to destroy all the balls. This forces me to shift my focus of attention. Upon "winning" and defeating the red ball, the procrastination tab automatically closes, and the extension analyzes which tab I abandoned and teleports me directly back to my work to regain productivity!

Creating the Extension Icon

Captura de pantalla 2026-03-15 215653.png
Captura de pantalla 2026-03-15 215730.png

You can go to an image generation AI and create a custom icon. I used this prompt:

"A minimalist app icon of a bright glowing red sphere, surrounded by several smaller floating colorful spheres (blue, green, purple) against a dark background. Flat design, clean edges, vector art style."


Download the image and use a website like favicon.io to convert it into the proper sizes for your extension (16x16, 32x32, 192x192, 512x512). Feed these images back to the AI and say: "These are the extension icons in different sizes, add them to the code."

Final Tweaks

Captura de pantalla 2026-03-15 215906.png
Captura de pantalla 2026-03-15 215926.png
  1. Click the "Reload" icon (🔄) on the chrome://extensions/ page to apply your new icons.
  2. Check the box that says "Allow in Incognito" on the extension details page. This prevents you from "cheating" your own system by trying to procrastinate in an incognito window!

Reflections on Facing the Fear

2026-03-1522-08-40-ezgif.com-video-to-gif-converter.gif

I made this Instructable primarily thinking about what was useful to me. I've been testing it since, and here are my conclusions:

  1. It has a sweet spot: I always ended up uninstalling other extensions, but this one (besides the pride of building it myself) annoys me just enough without being fully prohibitive. It doesn't trigger my desire to uninstall it; it genuinely helps me regain consciousness of time.
  2. Vibrant colors: The colors help it feel like a mini-game that releases dopamine, even though it acts as a shield.
  3. Conquering technical fears: I had never created a Chrome extension before. It seemed unattainable. This Instructable helped me overcome that technical fear as well.
  4. The result: When I tested it in action, my first feeling was that it was genuinely funny and highly functional.


Conclusion, Source Code & GitHub

Captura de pantalla 2026-03-15 220536.png
Captura de pantalla 2026-03-15 220545.png
Captura de pantalla 2026-03-15 220600.png

I hope this Instructable helps you overcome the fear of falling victim to your basic impulses and helps you treat the procrastination inherently tied to that behavior.

I've uploaded the complete source code to GitHub if you want to download it and follow Step 7 to install it yourself: Focus Balls on GitHub

Face your fears, take back your executive control, and start building!