Jestions-dev/BlueFatFish
Productivity & UtilitiesA local browser new-tab page with bouncy toy fish, custom wallpapers and custom shortcut icons.
Blue Fat Fish is a new-tab replacement for people who want a playful start page rather than a productivity dashboard. It is worth a look if a toy-box background sounds appealing and you accept installing an unpacked extension by hand.
The problem
A default new tab is a blank grid of shortcuts, and most custom start pages push you toward a wallpaper site, an account or a cloud sync service. Blue Fat Fish instead turns the page itself into a small physics toy: the background spawns between 5 and 12 fish that bounce off walls, can be dragged and thrown, and knock other fish around on contact. Tabs still sit on top of that scene, with icons fetched automatically or set by hand. The result is a start page that is fun to poke at for a few seconds and still opens your links, with all settings stored locally.
What's different
The mechanism is a canvas-style toy box layered behind the new tab. Fish have no gravity but full elasticity plus air damping, so they slow to a stop instead of flying forever; wall bounces follow the angle of incidence, and dragging one transfers an impulse to neighbours. On each page load exactly one fish is pettable: a short tap plays a rubber-duck squeak and bubbles, while holding starts a drag. That is a small, deliberately quirky interaction rather than a feature-rich dashboard.
Customisation is split between wallpaper and tabs. Wallpapers can be a local image, GIF, animated image or video, a direct link, an arbitrary web page, or a Bilibili/YouTube video page that is converted into an embed. Tabs support automatic favicon grabbing through the page's icon link, then /favicon.ico, then a domain fallback, all cached locally; otherwise you get a text icon of up to eight characters with adaptive sizing, or an uploaded image. A clock and date can be hidden, and there are dim and blur sliders. The trade-off is that the toy box is the headline: there is no sync, no account and no dashboard logic. Everything lives in chrome.storage.local and IndexedDB, which keeps it offline-friendly but ties the setup to one browser profile.
On top of the page, the extension exposes a small message bridge for a future DSH plugin. A service worker listens for external messages, but only from localhost and 127.0.0.1 pages, and supports ping, opening a URL, navigating the current tab, opening a new tab and making a random fish speak. Treat that as an integration surface for developers, not a general automation API.
Who should try it
Good fit: someone who spends the day in Chrome or Edge and wants a low-stakes, visual new tab that works on a plane or a flaky network, and who does not mind curating a handful of tabs by hand. The local storage model suits a single machine and a single profile.
Poor fit: anyone who expects the new tab to sync between devices, wants a full bookmark manager or dashboard, or needs store-installed updates handled for them. The README's own caveats matter here: sites that send X-Frame-Options will show a blank frame when used as a web-page wallpaper, automatic icon fetching needs a network connection on first use, and some bundled sticker images have backgrounds that cannot be removed.
Requirements and limitations
The main setup constraint is installation. There is no store listing; you download a zip or .crx from the releases page, enable developer mode and load the unpacked folder, or drag in the crx, which Edge and Chrome may block for non-store sources. The README says the extension ID is fixed by the manifest key, so both routes share one ID and configuration, but the unpacked route means the folder must stay in a place you will not delete, and updates are manual. The .crx path is presented as the less reliable option because of browser interception.
Ongoing use is light but not zero: automatic favicons are fetched once and cached, so new shortcuts added while offline fall back to text icons until a fetch succeeds. Usage data stays in one browser profile, so moving machines means rebuilding the page. The project is MIT-licensed for code, while the bundled sticker art remains the original artist's and the squeak sound comes from a separate MIT project, per the project instructions.
HotRepo's take
HotRepo first saw this repository at 2 days old with 116 total stars, listed at #23 on the NEW-REPOSITORY board for JavaScript on 2026-10-27; that is a board snapshot, not a daily growth figure. There is no comparable daily history, so persistence cannot yet be judged from these signals. If you try it, verify that the fixed extension ID and manual install path match how you plan to keep the extension updated.
Written by AI from the project's README, updated October 27, 2026. The project's own docs are the source of truth.