I Spent 35 Seconds Opening the Same 8 Tabs Every Morning. For a Year.
I timed it once, on a Tuesday, because I had a feeling it was worse than I thought.
GitHub repo for the SaaS I am building. Vercel dashboard. Supabase console. Linear board. The doc with the architecture notes. Stripe test dashboard. localhost:3000. Slack for the client work that pays the bills.
Eight tabs. 35 seconds of Cmd-T, click, paste, enter, Cmd-T, click, paste, enter. Every morning before I could write a single line of code.
35 seconds is nothing. Until you multiply.
The Math I Tried Not to Do
Let me actually do the math, because the small numbers in this kind of thing are the ones that hide.
- 35 seconds per morning to open the SaaS project tabs
- 5 working days per week
- ~50 working weeks per year
- = 145 minutes per year. About 2 hours and 25 minutes.
That is not the bad number. The bad number is what happens when I switch to my open source library at 2pm.
That is another 4 to 5 tabs. Another 20-ish seconds. And by 4pm when I check in on the client work, that is another 6 tabs and another 25 seconds.
A conservative day was about 90 seconds of "opening tabs to get to the work." Over a year, that is closer to 6 hours of pure tab-opening labor. None of it is the work.
The worse part was not the time. The worse part was the inertia. By the time tab six is loading, I have already looked at one notification, half-read a Slack message, and forgotten what I actually wanted to do first.
What I Tried, In Order
I am a developer. I do not just accept manual tab-opening. I tried things.
Chrome bookmark folders. I made a folder called "SaaS startup." I right-clicked it and chose "Open all." This actually works. The problem: every URL opens in a new tab in the current window, on top of whatever was already there. By Thursday I had 47 tabs and no idea which ones belonged to which project. Worse, when I closed Chrome and reopened, the project context was lost. The folder is a launcher, not a workspace.
OneTab. Saves all tabs to a list, restores them as a group. Good for archiving. Bad for daily morning startup because it merges with whatever I had before, and the saved groups become a graveyard fast. Mine had 200+ entries after three months. Restoring one was as much friction as just typing the URLs again.
Chrome session restore. I tried just never closing the browser. Mac sleep handles it. But updates, restarts, crashes, and accidentally hitting Cmd-Q during a 4pm yawn destroyed this strategy at least once a month. Also, my MacBook fans got loud enough that I felt morally obligated to actually close things sometimes.
A bash script + AppleScript. I am embarrassed to say I wrote this. It opened Chrome with specific URLs. It worked. But editing the URL list required opening the script, finding the right line, and pasting. And it could not handle "I want a different preset for Wednesday's client work." Adding a new preset meant duplicating the script, renaming it, and remembering which one was which.
Workona, Toby, Sidebery. These are the workspace extensions. They are good. I used Workona for two months. The reason I stopped: it wanted to be my whole browser. New-tab override, sidebar, persistent UI. I wanted a launcher, not a workspace OS. Personal taste, not a judgement.
The pattern I noticed across all of these: the tool either does too little (bookmarks) or wants to take over the browser (workspace apps). I just wanted a button I could click that would open my eight morning tabs and then get out of my way.
What I Actually Wanted
Sitting with it for a while, I wrote down what a sane morning-launch system needed:
- A preset is a named set of URLs.
- Clicking the preset opens all the URLs as a new group, not dumped on top of whatever else is open.
- I can have multiple presets per project (because "morning startup" and "deploy day" need different tabs).
- I can have project-agnostic presets too, like "AI tools" or "design references."
- Editing the preset takes seconds, not a context-switch into a separate app.
- It lives somewhere I am already going to be, like the new tab, so it does not become a thing I forget to open.
Number six is the one that I kept getting wrong with the other tools. The launcher needs to live where my eyes already go. Otherwise I forget it exists and start typing URLs again by habit.
The Setup That Stuck
I am the lead developer on STACKFOLO, which is a Chrome extension I have been building partly for this exact problem. I am going to describe the workflow honestly here. Use the same idea anywhere, the extension is just the implementation that fit how I work.
The new tab is the dashboard. Each project has its own card. On each card, there is a Quick Open section with multiple preset groups.
My SaaS project card has three presets:
- Daily startup: GitHub repo, Vercel, Supabase, Linear board, the architecture doc, Stripe test, localhost:3000, internal Slack channel.
- Deploy day: GitHub releases page, Vercel deployments, status page, customer Slack channel, the monitoring dashboard.
- Customer call prep: CRM, the specific customer's account, the support ticket history, my prep doc.
Three buttons. Each one opens its set in a new window so the context stays clean. The "Daily startup" group I now hit once at 9am, and within two seconds I am where I need to be. The 35 seconds is back in my day.
I also have one global Quick Open with five slots that are not tied to any project. Mine currently holds: my email, my calendar, my note inbox, Claude, and the writing app I draft posts in. These are the things I open across every project, and pinning them in the global slot meant I stopped re-pinning them inside each project's preset.
Total time to set this up across four projects and the global slot: about 25 minutes one Saturday morning. Total time saved since: I have not measured it but my morning routine starts with the work now, not with the opening of the work.
What Actually Changed
Three things shifted that I did not expect to shift.
The project I was avoiding became easier to start. I had one side project I kept putting off because "getting set up" felt expensive. It was an open source library with five very specific tabs I needed (GitHub, npm page, CodeSandbox, the test report dashboard, the issues triage page). Once those five lived behind a single button, I opened the project three times in the next week instead of two times in the previous month. The friction was the whole reason I was avoiding it.
I stopped polluting one window with three projects. Because each preset opens in its own window, I stopped having one mega-window with 38 tabs across 4 projects where I could never find anything. The window is the project now.
I started editing my presets weekly. When a tool I need changes, I update the preset within the same minute. The cost of editing is so low that I treat it like a living config. Before, my "system" was implicit and lived in my head, which means it never actually adjusted to what I was doing.
If You Try This
You do not need my exact setup. The idea is portable:
- Pick the 5 to 8 URLs you open at the start of every working session for one specific project.
- Put them somewhere clickable as a group.
- Make sure that group opens in a new window so it does not merge with whatever else is going on.
- Edit the group when your workflow changes, not "later."
If you want it to live on your new tab next to the actual project, STACKFOLO is on the Chrome Web Store and the free plan covers up to 5 projects with multiple presets each, which is enough for most people testing the idea. If you build your own, send me what you ship.
The 35 seconds was never about the seconds. It was about the small repeating friction that quietly decided which projects I worked on and which ones I avoided. Removing it changed which projects I actually finished.
Top comments (0)