This is a submission for the GitHub Copilot CLI Challenge
What I Built
I built Locked In, a Chrome extension that forces you to define your intention before entering distracting websites. Before you scroll, before you consume, before the algorithm grabs you, it asks a simple question: What are you locked in for?
You define your goal. You can optionally set a time limit. And while you are on the site, a floating widget reminds you why you are there.
It does not block the site. It just holds you accountable to your own intention.
Why did I build this?
As someone who struggles with ADHD, I get distracted way too easily, especially by social media. And I’m pretty sure I’m not alone here.
I also work a lot with communities, events, tech content, and social media. So I have to open LinkedIn, YouTube, Twitter, Instagram almost every day. But the problem is not opening them. The problem is this pattern:
I go in to reply to one message. Or post something quickly. And then somehow 30 minutes disappear.
I watched 12 random things. Read 4 hot takes. Scrolled through content I did not even care about. And I completely forgot what I originally went there to do.
YouTube is the worst. I open it for a 6 minute tutorial and suddenly I am deep into startup documentaries or productivity videos that ironically make me less productive.
I did not build this as a random side project to forget in two weeks but because I wanted something I would actually use daily.
And now I do.
A couple of friends who also struggle with focus are using it too. I genuinely believe the best products start there. Solve your own frustration first.
Demo
First of all, here's the GitHub repository
Right now the extension is installed locally from the GitHub Releases tab. I have not published it to the Chrome Web Store yet because of the fee, so for now it is developer mode only.
You just need to download the zip and load it as an unpacked extension.
- Open Chrome and go to chrome://extensions/
- Enable "Developer mode" (toggle in top-right corner)
- Click "Load unpacked"
Once installed, when you click the extension icon you see two tabs. One is Lock In and the other is Auto Prompt Sites.
Lock In
This is the manual mode. This is for when you are already on a website. You click the extension. You define your task.
You enter a short description of what you are about to do. It can be something simple like:
- Reply to John about the event.
- Watch React tutorial on Zustand.
- Post recap from hackathon.
You can also set a time limit. Five, fifteen, thirty minutes or a custom value.
Once you lock in, a floating widget appears in the bottom right corner of the page. It shows your goal and a live countdown timer.
It is visible enough to remind you, but not annoying. We'll go back to what happens when the time is up.
Auto Prompt Sites
This is one of the killers features. You can configure domains like:
- linkedin.com
- youtube.com
- facebook.com
When you visit one of those sites, instead of immediately seeing the feed, the extension intercepts you and asks:
What are you locked in for?
So let’s say I go to LinkedIn to reply to a message from someone about a university workshop. I write that as my goal. Then I enter the site.
Now if I start drifting into random posts, that floating widget keeps reminding me why I am there.
And there is a progress bar that changes color as time passes.
- Green when you still have more than half of your time.
- Orange when you are getting close.
- Red when you are almost out.
There is also an 80 percent warning that gives you a small nudge.
In this demo, the timer is set to 1 minute, so the 80 percent warning kicks in at 12 seconds remaining.
When time runs out, you can either mark the task complete or extend it. The goal is not to restrict you. It is to make you conscious.
My Experience with GitHub Copilot CLI
This project was ambitious for me.
I had never built a browser extension before. Not once. But instead of just vibecoding and hoping it worked, I used GitHub Copilot CLI as my pair programmer and to understand how an extension works under the hood.
There were definitely moments where things broke. The extension would not build. The service worker would not run. Messages were not being received.
But instead of being stuck for hours, I could ask something like:
Explain why this background script is not triggering. And get a structured explanation that pointed me in the right direction.
Honestly I feel good that I did not just copy paste. I kept asking why. I would select a file and ask Copilot to explain what it does, how it fits into the bigger picture, and why it is necessary.
It felt less like AI replacing thinking and more like AI accelerating understanding.
UX & Design Help (a.k.a. things I wouldn’t have done alone)
I’m not a design expert. Left to myself, this extension would’ve worked… but looked boring.
Copilot helped me push the UX further by suggesting dynamic, visual feedback—like:
- An animated progress bar showing remaining time
- Smart color coding and smooth CSS transitions updating every second.
Would I have built that on my own? Probably not. Am I glad I did? Absolutely.
Another thing I really appreciated: Copilot helped me learn, not just ship.
It also helped brainstorm future ideas for the extension, which I’ll probably explore next.
Final Thoughts
I had been thinking about building something like this for a long time.
But like many ideas, it stayed in my notes.
This challenge gave me the push to actually sit down and build it properly. Not just something to push to GitHub and forget. Something I would use every single day.
And now I do.
Locked In is already part of my workflow. It helps me stay intentional when I open platforms that are literally designed to steal attention.
This one improved mine. And that is enough for me.











Top comments (0)