I keep a few websites open constantly - a dashboard, a chat, a quick reference. Having them buried in a browser tab means constantly switching context. I wanted them pinned to my desktop like sticky notes, always visible, without taking up a full window.
Peek lets you add any URL as a floating widget. It loads the site using an iPhone user agent at iPhone dimensions (393×780 by default), so you get the mobile layout - which looks much better at that size than the desktop version would.
Features
- Add any URL as a persistent desktop widget
- Renders sites in mobile layout using an iPhone 18 user agent - clean and readable at phone proportions
- Always-on-top mode so the widget floats above other windows
- Pin widgets so they stay on the desktop between sessions
- Configurable position and size per widget (320×600 min, 460×900 max)
- Auto-refresh on a configurable interval - useful for dashboards or live data
- Launch at login
- All widget state persisted locally in SQLite
- Back/forward navigation gestures on the web view
Key decisions
- WKWebView over embedding a Chromium variant — WKWebView is the system browser engine, so it shares cookies, sessions, and site data with Safari; users are already logged in to the sites they want to pin without any additional auth flow
- iPhone user agent by default — desktop responsive breakpoints at 393px wide render as broken narrow layouts; mobile layouts are designed for exactly these dimensions and look right without any adjustment
- SQLite.swift over CoreData — CoreData’s object graph model is significant overhead for storing widget URLs, positions, and sizes; SQLite.swift gives typed queries without the abstraction layer or the Core Data stack startup cost
- Debounced position writes on resize and drag — storing every intermediate position while dragging would generate hundreds of writes per second; debouncing batches them into one write at drag end and keeps the database I/O negligible
Built with
- Swift 5.9
- AppKit + WKWebKit
- SQLite.swift - local persistence
- macOS 13 Ventura+