Build Your Own Chrome Extension

A website blocker and focus timer — described into existence, with no code to write or read.

Kevin Lenida

You sit down to work. Forty minutes later you are on Instagram and you do not remember how you got there.

Today's build

Two features, one extension

A Chrome extension is just a folder of files you tell Chrome about.

Outcomes

What you will walk out able to do

The prompt

This is the entire request

You
Build me a Chrome extension called Focus Guard. Start it with the usual time sinks already blocked — Facebook, X, Instagram, Reddit — and let me edit the list. I run focus sessions of 25, 50 or 90 minutes; opening a blocked site takes me to my own page that talks me out of it, not an error. If I insist, make me work for it: ten steps, each slower than the last. Quitting early must cost more.

Notice what that prompt did not contain: no file names, no code words, no instructions on how.

01

What an extension actually is

Enough to judge your own ideas — and no more than that.

The idea

A small program Chrome runs for you

The idea

Where your extension sits

CHROME Web pages you visit Your extension reads and changes reports what happened
The idea

Good extension ideas vs. bad ones

Fits an extension

  • Change how sites look or behave
  • Block, hide, or redirect
  • Saving things from pages you visit
  • A button that acts on the current tab

Wants to be something else

  • Anything that must run while Chrome is shut
  • Share data between many people
  • Heavy number work
  • Anything outside the browser entirely
02

Inside the folder

The four kinds of file that one prompt turns into.

Inside the folder

Four kinds of file, that is all

FOCUS-GUARD / manifest the ID card rules what to block blocked page what you see instead popup your list and the timer
Inside the folder

The manifest is the ID card

Manifest V3 is not the new version. As of 2026 it is the only version.

Inside the folder

Permissions — what you are asking for

The blocker

How the block actually happens

You open a website Chrome checks your rule list On the list — your focus screen Not on the list — it loads normally
The blocker

Why we asked for our own blocked page

Just block it

  • Chrome's generic error page
  • Looks like your internet is broken
  • Tells you nothing
  • Easy to assume it is a bug

Send it somewhere

  • A page you designed
  • Says why you are seeing it
  • Can show your timer
  • Reads as a choice, not a fault
03

Load it into Chrome

The moment it stops being a folder and starts being an extension.

Developer mode

Four steps, about thirty seconds

Developer mode

This is what "installed" looks like

The Chrome extensions page with Developer mode switched on, showing Focus Guard installed as a card alongside other extensions

Your extension, next to everything else you have installed.

Proof

Now try to visit a blocked site

The custom blocked screen shown instead of Reddit, reading 'You already know what is there', with a Next button and a Back to work link

Your list, your screen, your rules.

Proof

And the session, live

The Focus Guard popup showing a countdown at four minutes forty-five seconds, today's focus time and sessions finished, and a Stop the session button

One prompt, one folder, and a tool that belongs to you.

You extend software by asking for the next version — not by a restart.

04

When it does not work

It will not, at some point. That is the job, not a setback.

How To Debug

Check these before you panic

How To Debug

Where the error messages hide

How To Debug

How to report a problem well

Vague
It is not working. Fix it.
Useful
I reloaded the extension and the page. Facebook is on my list but it still opens normally. YouTube does get blocked. The errors button shows nothing.
05

Put it in the store

What it would take — we are not doing it today.

Publication

First, be honest about whether you need to

Publication

The account and the package

Publication

The listing assets they need

Publication

Privacy, justification, and the wait

Recap

What just happened

  1. An extension is a folder of files, and the manifest is its ID card.
  2. You describe the experience you want — never the files, never the code.
  3. Developer mode installs it for real, in about thirty seconds.
  4. When it breaks: reload, find the message, paste it, fix one thing.
  5. Publication is a choice with a price tag, not a requirement.
Next versions

Things worth asking for next

Your turn

Before the next session

Use your blocker for a full work day — with a real list.

Write down the one thing that annoyed you about it.

Ask for that one thing, in the same conversation.

Bring it back — it works or it does not. Both are useful.

The point: you now live downstream of your own decisions about how your browser behaves. Most people never do.

You changed how your own browser behaves.

Most people never do.