Your basket is currently empty!
Tech-nerd alert
This browser is like no other you tried! We can promise you a clean/slick look when all of a sudden need to do a browser related task. As a programmer you fight with the mouse! Moving all these centimeters just because you need to do something in a program with no key-binds takes valuable time. And why waste those 80+ pixels of top space to have tabs and search-bar? If you are on Mac (support for Windows and linux in the works) you are in luck!
My daily workflow is 90% in a terminal with neovim and other terminal based tools. This choice was made long ago, to opt out of all actions with mouse movement. It has worked great for me, and with a tiling window manager its almost perfect! I say almost because there has always been one thing that interfere with the workflow! All browsers need mouse interaction! I know there are browser extensions out there. Believe me when I say that I tried them and they are no good in my opinion! And what about all bloat in all the browsers? How often do I really need to use all the crap that have been added over the years? And don’t get me started on the waste space of tabs and “logged in features”.
Then we have all electron apps, and other “native” apps that really are just wrappers for websites. They eat space and memory/CPU like I drink morning coffee!
Privacy
I am sure that the operating systems are spying on you in one way or another. By not adding anything new to the mix other than a layer over the already existing browser (webview). We can at least know that we have not added more spying eyes.
The origins
I sat down and made a clear list of what I actually needed in daily work.
- No (or at-least very little) mouse interaction, so that my flow is almost the same as in terminal.
- All “junk” had to go! Just a big window with the page I wanted to navigate.
- Bookmarks is great, but most browsers actually suck at this IMO.
- Speed, the more minimalist setup the faster it will be.
- Memory / CPU and so on needs to be as slim as possible for the OS.
The first build
- I use Vi/Vim/neovim and hence I wanted to bind vim-motions in the browser just as in other tools I use.
- A zero borders / head / taskbar setup.
- Bookmarks will be handled in a settings file, easily edited from command-line (or any text-editor really).
- Most modern operating systems have built in web-rendering, lets use that and leave streamlining to the OS developers.
- Same as no 4, if they do not have a good implementation then switch OS to be honest!
Outcome
It became my daily driver over the years. Even if it’s not perfect, its way better than what I had before! I still jump over to a “regular” browser sometimes but that is more or less edge-cases. This is how it looks on my setup:

As you can see its not much to show! There are three windows with a web-page each rendered. There are also icons and some text for each “tab” in the mac-dock. Navigation is done through “h-j-k-l” and “gg” / “G” just as I would navigate in neovim. If I need to write any text its just to hit “i”. And the field closest to the cursor will be targeted. moving through inputs is a normal “TAB”. And writing can be done until you hit “esc”. That’s it really, all I need for 99% of the tasks that I have to do.
Here is the same setup but with a “normal” browser (it’s just to show a point! It do not matter what browser is used):

The “settings” file
When I want to open a new web-page it’s a different path depending on where I have focus. In neovim I can use “g+x”. If I just want to open a new search window I have added this in my skhdrc.
cmd - o : /Applications/ZapAllBloatBrowser.app/Contents/MacOS/ZapAllBloatBrowser https://duckduckgo.com/
And that does the job just fine for me. There are some code written for adding a more “refined” way to do this. But its good good enough for now.
The settings file (default save location in “~/.config/zabbrowser/config.yaml”) is live synced. That means that if you enable/disable any page in the file it will close and open the windows. Adding a new section with enabled: true also open the page. The file looks like this (read more about yaml here):
debug: false # true for anyone that wants to inspect websites.
default_page: https://duckduckgo.com # default landing page.
insert_mode: false # true / false depending on if you want to write text in any visible input field.
private: false # if set to true all data is cleaned as soon as a window closes.
sessions: # the list of open sessions.
Calendar: # Naming the session.
enabled: false # Should we show this session.
windows: # All windows get their own dedicated window.
- https://cloud.botwork.se/apps/calendar/
workspace: Work # if you use yabai you can default your workspace here (need to name the space).
If you are interested and want to give it a go you will have to register. 14 days free trial, and after that time you can just cancel the subscription and keep using the browser. The subscription is for have access to support.

Botwork Browser with vim-motions
Tech-nerd alert โ ๏ธ
This is NOT a browser for everyone, but if you are brave you can give it a try! Read all of the description before ordering, and remember that this is a work in progress. You will get regular updates and we need feedback so that we can build the most effective and privacy-focused web-surfer to date! Botwork (Zap All Bloat) Browser deliver a beautifu…
Leave a Reply