
How a simple productivity annoyance led me to build my first Chrome Extension
Every developer knows this situation.
You’re focused on your work, deep in concentration, coding, configuring servers, or accessing an admin panel. Then suddenly a login page asks for 2FA authentication.
And the ritual begins:
Get up from the chair
Grab the phone
Open Google Authenticator
Look for the code
Go back to the computer
It sounds simple.
But when this happens dozens of times every day, it constantly interrupts your workflow.
Even worse, grabbing your phone usually brings distractions: notifications, messages, social media, emails.
Your focus disappears instantly.
At some point I started asking myself a simple question:
Why can’t I just access my 2FA codes directly on my desktop?
Searching for a solution
My first step was obvious: search for existing tools.
I tested several Chrome extensions and desktop authenticators.
Some required accounts.
Others depended on cloud synchronization.
Some simply didn’t work the way I expected.
None of them solved the problem exactly how I wanted.
So I decided to do what many developers eventually do:
build my own solution.
Understanding how 2FA actually works
Before building anything, I needed to understand how TOTP (Time-based One-Time Password) works.
This is the same standard used by apps like:
Google Authenticator
Authy
Microsoft Authenticator
TOTP generates temporary six-digit codes based on:
a secret key
the current time
a cryptographic algorithm
Once I understood the mechanism, the idea became clearer.
If the algorithm can run on a phone, it can also run inside a browser extension.
Building the MVP
At this point I decided to create a simple MVP (Minimum Viable Product).
The goal was clear:
A Chrome Extension that generates 2FA codes directly on the desktop.
While building the project I used AI tools like:
Claude
Cursor
These tools helped accelerate research, code structuring, and prototyping.
Within a short time, I had a working version.
That project became DeskAuth.
The principles behind DeskAuth
From the beginning I wanted the project to follow some important principles.
1 — 100% offline operation
The extension works completely offline.
No external API calls.
No remote services.
2 — Local encrypted storage
Secrets are stored locally and encrypted.
Authentication keys never leave the user’s device.
3 — No tracking or analytics
No analytics scripts.
No tracking.
No data collection.
The goal is simple: privacy and security first.
4 — Simple interface
The interface was designed to be:
fast
minimal
practical for daily use
You click the extension and instantly see your authentication codes.
No phone needed.
Turning a small idea into a real product
Once the extension worked well for my own workflow, I decided to go one step further.
I turned the personal project into something public.

• Published the project open source on GitHub
• Created a landing page explaining the project
• Submitted the extension to the Chrome Web Store
What started as a small personal annoyance turned into a real product used by others.
A lesson from building DeskAuth
This project reinforced something I strongly believe:
Many great products are born from solving problems you personally experience.
You don’t always need a huge idea.
Sometimes a small friction in your daily workflow can become a useful tool for thousands of people.
The important part is simple:
Identify the pain
Build a prototype
Test it
Ship it
Explore the project
If you’re curious about the project, you can check it here:
🔗 Chrome Web Store
https://chromewebstore.google.com/detail/deskauth/jbphlchkohpondmlnfaafnhlfhlagbio
🔗 Website
https://deskauth.harakawa.tech
🔗 GitHub (Open Source)
