Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Comfort Browser

Comfort Browser is an offline-first browser shell / tab workspace that runs entirely in your own browser. It's a single-page app that manages tabs, tab groups, split-screen tiling, bookmarks, notes, and sessions — loading web pages inside panes so you can arrange your browsing the way you like it.

Think of it as a customizable "browser inside your browser": vertical tabs, Vivaldi-style tiling, focus-mode site blocking, a notes scratchpad, and saveable sessions — all local, no accounts, no server.

Internally the project is versioned as Convenience Browser v4 (the ccb5: storage keys are from that lineage). "Comfort Browser" is the friendlier public name for the same thing.


⚠️ Important: What This Is (and Isn't)

Comfort Browser is a frontend shell, not a real browser engine. It does not render pages itself — it loads them in <iframe> panes. This has one big, unavoidable consequence:

Many major sites refuse to load in an iframe. Google, YouTube, most banks, X/Twitter, and lots of others send an X-Frame-Options / CSP header that blocks embedding. Those sites will show a blank or refused pane — that's the site's choice, not a bug in Comfort Browser. For those, use the ↗ "Open in real browser tab" button.

So Comfort Browser is best understood as:

  • A tab/workspace manager and layout tool for the sites that do allow embedding
  • A neat local dashboard with split view, notes, bookmarks, and sessions
  • A fun experiment in building a browser-like UI from scratch

It is not a replacement for a real browser, and it can't bypass a site's embedding rules (nothing frontend can).


Project Status

Comfort Browser is stable and usable, and it's the one project in the family I might develop further in the future — but not right now.

For the moment it's feature-complete for what it is. You may encounter:

  • Sites that won't embed (see above — that's the headline limitation)
  • iframe-related quirks (audio can't be truly muted, some features limited in frames)
  • Browser-specific behavior

If you'd like to build on it, fork away — I may return to it later.


Credits and Development Notes

Created and directed by me, a human. Most of the code was generated with Microsoft Copilot Thinking Mode, with occasional input from other Copilot modes.

My role was designing the features, testing, reviewing behavior, and directing the UI/UX. I know very little about traditional software development, so if you open the code and find something odd, please have mercy.

The internals are compact — index.html + app.js + style.css. The JS is written in a dense, terse style (lots of one-liners), so it's small but reads like it's in a hurry. It works; it just has opinions.


Download / Installation

Download all three files and keep them in the same folder:

  • index.html
  • app.js
  • style.css

Then open index.html in a browser.

Preferably use a Chromium-based browser (Chrome, Edge, Brave, Vivaldi). Everything works most predictably there.

Note: because it relies on iframes, running it from a proper browser tab (not inside another sandboxed embed) gives the best results.


Quick Start

  1. Open index.html.
  2. You'll land on a custom homepage. Type a URL or search in the address bar and hit .
  3. Open more tabs with + (top) — or switch to vertical tabs with the ▤ button.
  4. Turn on Tile to split the screen into 2–4 panes and browse side-by-side.
  5. Use the ☰ notes panel to jot things down and save your session so it's there next time.
  6. If a site refuses to load, click to open it in a real browser tab.

Feature Overview

Tabs & workspace

  • Standard top tab strip and optional vertical tabs
  • Tab groups (create named groups, switch between them)
  • Split tiling — 2, 3, or 4 panes at once (Vivaldi-style), with a draggable resize gutter for 2-pane
  • Drag tabs between panes
  • New-tab buttons in both the top strip and the vertical rail

Navigation

  • Omnibox (address bar) that detects URLs vs. searches
  • Configurable search engine (Google, Bing, DuckDuckGo, or custom %s URL)
  • Back / forward / reload per tab (with per-tab history)
  • Custom homepage (chrome://home style landing page with shortcuts)

Bookmarks

  • Bookmark the current page (☆)
  • Bulk bookmark editor (☷) — one Name | URL per line
  • Right-click a bookmark to remove it

Focus & wellbeing

  • Focus mode — block distracting domains (e.g. tiktok.com) with an "open anyway" escape hatch
  • Soft mute / cover — a visual attention-cover for a pane (note: frontend JS can't truly mute arbitrary iframe audio, so this is a visual cover, honestly labeled as such)

Notes & sessions

  • Side notes panel (autosaving scratchpad)
  • Save / Load session (tabs, groups, layout, notes) to localStorage
  • Export / Import session as a JSON file — move your whole setup between devices
  • Auto-restores your last session on reopen

Extras

  • Screenshot / screen capture (via the screen-capture API)
  • Fullscreen
  • Light Chrome-style theme + a Vivaldi-ish accent mode
  • Responsive layout (adapts for smaller screens)

Keyboard Shortcuts

  • Ctrl/Cmd + T — new tab
  • Ctrl/Cmd + W — close tab
  • Ctrl/Cmd + L — focus address bar
  • Ctrl/Cmd + D — toggle split tiling
  • Ctrl/Cmd + E — toggle vertical tabs
  • Ctrl/Cmd + B — toggle notes panel
  • Ctrl/Cmd + M — soft mute / cover
  • Ctrl/Cmd + S — save session

Data & Privacy

Everything is local. Comfort Browser stores your preferences, bookmarks, notes, and sessions in localStorage (keys prefixed ccb5:). It has no backend, sends no telemetry, and can't see the contents of the pages loaded in its iframes.

Because it's browser storage, the usual caveats apply — clearing site data, switching browsers, or privacy settings can wipe your saved sessions. Export a session to JSON if you want a real backup.


License

Find the license in LICENSE I guess.

Part of the Navi family of local browser tools (alongside NaviWriter, NaviPlayer, and NaviPlayer Pro), even though this one browses instead of playing media. 🌐

About

A rudimentary browser in a browser intended to provide the tools your current browser might not have.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages