Documentation

Peak Browser

Peak is a native Apple browser workspace for quick lookups, saved context, focused work, optional AI, and nearby collaboration. Built with SwiftUI and WebKit, local-first by design.

macOS 14+ · iOS & iPadOS 17+ · Updated 16 August 2026

Overview

Peak is not an address bar with tabs. It is a workspace you summon, where a lookup can become a note, a task board, an AI chat, a whiteboard, a saved session, a generated site, a mesh conversation, or a two-minute game — without leaving the window.

Instant access

On macOS, summon Peak from anywhere with a global hotkey. Open it, capture something, return to what you were doing.

Native, not wrapped

SwiftUI, WebKit, Core Data, CloudKit, Keychain, and Apple's Network framework. Web tabs are real WKWebView instances, not an embedded browser engine of our own.

Local-first

Workspace data stays on device and syncs only through your own iCloud. API keys live in Keychain. No analytics in the app.

Alongside web tabs, app-native tabs hold notes, boards, AI chats, whiteboards, sites, mesh rooms, arcade games, and local tools. They all behave like tabs: reorder them, keep them side by side, save them into a session.

Install & first run

Peak is on the App Store for macOS 14.0 and later, and iOS/iPadOS 17.0 and later. Download it, launch it, and complete the welcome flow.

The global hotkey

ShortcutAction
Control + 1Toggle the Peak window from anywhere on macOS

Change it under Settings → General. Command, Shift, Option, and Control combinations are all supported.

On macOS, Peak can live in the menu bar. Clicking the icon toggles the window, and Peak can hide itself when it loses focus — which is what makes it feel like a command surface rather than another browser window competing for space.

Nothing is required up front. Peak works fully as a browser and workspace with no account, no API key, and no network calls beyond the pages you visit. Every AI feature is opt-in and off until you add a key.

Root pages

Peak's root is a horizontal workspace of five pages. Swipe or click between them; they are always there behind whatever tab you have open.

Landing
The starting point. One input that searches the web, opens a URL, creates a note, starts a board, begins an AI chat, or opens a whiteboard.
Dashboard
Your local command centre — profiles, incognito, bookmarks, bookmark groups, saved sessions, and jump-back entries.
Activity Hub
A timeline of recent searches, pages, notes, boards, chats, and whiteboards.
Arcade Hub
The Intermission area: short games, focus spaces, and small local tools.
Mesh Hub
Nearby collaboration over the local network.

One input, many outcomes

The landing input changes what it produces depending on the mode you pick:

  • Search — query a search engine, or paste a URL to open it directly
  • Note — capture a block-based document
  • Tasks — start a Kanban board
  • Whiteboard — open an infinite canvas
  • LLM chat — begin an AI conversation

Each one opens as a tab, so a half-finished thought sits beside the page that prompted it.

Dashboard & activity

The dashboard holds workspace profiles, incognito, bookmarks and bookmark groups, saved tab sessions, activity summaries, and jump-back entries for recent work.

Activity Hub

A timeline of recent searches, visited pages, notes, boards, chats, and whiteboards — for getting back to context without having to remember where you left it.

Saved sessions

A session is a set of tabs saved together and restored together. Useful for a piece of research you want to close without losing, or a set of references you reopen every week.

Profiles & incognito

Workspace profiles isolate cookies, sessions, caches, and local web storage, so personal, work, and throwaway browsing stay separate. Each profile carries its own name, icon, and colour.

Incognito skips history and activity persistence entirely — nothing is written to your workspace.

Block notes

Peak Notes are block-based documents for structured capture without leaving the workspace.

Creating one

Switch the landing input to Note, type a title or a first thought, and submit. The note opens as a tab. Existing notes are in the Notes inspector.

Block types

Headings · Paragraphs · To-do blocks · Code blocks · Markdown blocks · Links · Separators · Images · Tables

Images can be dropped in or added through a file picker. On macOS, notes export to PDF.

Mesh-aware

With mesh sync enabled, note edits travel to nearby peers as structured workspace deltas rather than whole-document replacements, so two people editing different parts do not overwrite each other.

Kanban tasks

Native boards for lightweight tracking. Switch the landing input to Tasks, name the board, and it opens as a tab.

Boards support lanes, cards, drag-and-drop between lanes, and local persistence through Core Data. They can participate in mesh sync when it is on.

Whiteboards

An infinite canvas for diagrams, maps, files, and rough design work.

  • Select and pan
  • Freehand drawing
  • Lines, arrows, elbow connectors, and curved connectors
  • Rectangles, circles, diamonds, triangles, inverse triangles, and cylinders
  • Text, sticky notes, and tables
  • Images, documents, videos, audio notes, and live web embeds
  • Groups and layer ordering
  • Export controls for a selection
  • Lucide icon assets
  • World, continent, and country map assets

Whiteboards have their own tool shortcuts for select, pan, draw, text, sticky notes, shapes, arrows, grouping, duplication, zoom, and delete. They sync over mesh when enabled.

Sites & PeakUI

Peak can build web pages and native app screens with you, preview them live, and hand the result to Xcode.

Web sites

Ask the assistant for a site and it writes real HTML, CSS, and JavaScript into a project you can read, edit, and screenshot. The preview runs in a sandboxed WKWebView that registers no script handlers, so previewed code can look at nothing outside its own page.

PeakUI

PeakUI is a validating subset of SwiftUI written in .peakui files. It has two backends from the same source:

  • An HTML renderer, so you see the screen immediately without a build
  • A verbatim export, which writes the same source into a real Xcode project unchanged

That second one is the point: what you export is the SwiftUI you wrote, not a translation of it. Constructs the preview can only approximate are flagged as you write them rather than discovered after the export.

Exporting to Xcode

A site of .peakui screens exports as a multiplatform Xcode project — one app target for macOS and iOS, folder-synchronised groups, a shared scheme, and Xcode's recommended settings already applied, so it opens ready to run rather than to "update to recommended settings".

Publishing. Sites can be pushed to a GitHub repository from inside Peak. That needs a personal access token, added when you first publish; it is stored in Keychain and sent only to api.github.com.

Projects

A project groups conversations, files, and standing instructions so the assistant starts a new chat already knowing the context. Reference material you add is available to read; notes you ask it to remember carry across sessions in that project.

Sites can be filed under a project, which keeps a build and the conversation that produced it in the same place.

How AI works here

AI in Peak is optional and unbundled. There is no Peak account, no Peak inference server, and no subscription to us. You bring a provider — or run models on your own machine — and Peak talks to it directly with your key.

Chats are tabs, so a conversation sits beside the page, note, or board it is about. Nothing about your chats is used for training, analytics, or advertising by us.

Providers & keys

Add keys under Settings → API. Each row has a field, a link to where that provider issues keys, and a Test button that asks the provider for its model list — a real request, because a revoked key looks exactly like a valid one until something is sent.

OpenRouter also has a Sign in button, which saves making a key and bringing it back. It opens a Safari-backed window, so a saved password or passkey is already there; Peak receives a key scoped to that account and never sees the password behind it.

ProviderWhat it gets you
OpenRouterOne key for models from every vendor, and the only route for generating images, video, music, and speech.
OpenAIGPT models directly from OpenAI.
OpenCodeA curated set of coding models on one subscription, including Claude, GPT, and Gemini.
xAI GrokGrok models directly from xAI.
Google GeminiGemini through Google's OpenAI-compatible endpoint.
Moonshot KimiKimi models on Moonshot's pay-as-you-go platform. Keys start sk-.
Kimi CodeKimi on the subscription plan from kimi.com. Keys start sk-kimi- and use a different endpoint.
Ollama CloudOpen models on Ollama's servers — same names, no local download.
OllamaModels on this Mac. No key, nothing leaves the device.

Two things worth knowing

The model menu shows what your keys can reach. Providers you have not configured are hidden rather than offered and then failing. With no keys at all the full list returns, led by a line telling you why none of it will answer.

Model lists are asked for, not remembered. Any provider with a models endpoint is queried at launch and its current roster merged in. Names change faster than app releases, and a hardcoded list is wrong within weeks.

Generation is OpenRouter's, whoever is answering. Image, video, music, and speech run through OpenRouter's extension to the chat API — no other provider offers an equivalent. Without an OpenRouter key those tools are not supplied to the model at all, and Peak says so rather than letting it describe a picture it never made.

Local models

Peak discovers Ollama models from your machine and lists them under On this Mac. Tool support comes from what the daemon reports about each model rather than from guessing at the tag, because a tools request aimed at a model whose template cannot take them fails the plain chat too. If you start Ollama after Peak, use Refresh local models at the bottom of the model menu.

What the agent can do

When a model supports tool calling, Peak supplies it with a set of capabilities. Everything here is governed by Settings → Tools, which is the ceiling — nothing can widen it.

Research

  • Web search and a hidden browser. The agent can search, navigate, click, fill fields, scroll, extract page text, and take screenshots in a background viewport that never touches your tabs.
  • Page media. It can list the images and video a page actually displays — including srcset, <picture>, CSS backgrounds, and Open Graph tags — and reuse one directly in a site.
  • Public repositories. It can list a GitHub repository's file tree, read individual files, and search across them. Nothing is cloned; files are fetched one at a time and held in memory for that conversation only.

Your own library

  • Semantic search over your saved bookmarks, notes, and history — by meaning rather than keyword, for "that article I saved about typography". Local only; it never touches the web.
  • Media search across images you have already generated or attached, so it reuses what exists instead of making a fourth near-identical mountain.

Building

  • Create sites, write and edit files, read them back, search within them, and diagnose a page by actually running it
  • Screenshot a page it just wrote and look at the result before claiming it works
  • Export a PeakUI site to an Xcode project
  • Extract a colour palette or a whole site's design language from an image or URL, and cut a subject out of a photo — all on-device, no key needed
Approval. Settings → Tools → Require approval before actions holds requested changes in the AI inspector until you accept them. On by default, and worth leaving on while you get a feel for how a given model behaves.

Skills

A skill is a reusable capability definition: instructions, a tool policy, knowledge, and templates. It is deliberately data, never code — a skill folder is a document, and importing one is importing a document, not installing software.

That has a consequence worth stating plainly: a skill's tool policy can only ever narrow what you already permit in Settings. There is no direction in which a skill can grant itself something you turned off.

Built-in skillWhat it does
Site BuilderMulti-page sites with real images and no placeholder text.
Scroll WorldScroll-scrubbed video pages: generated scenes, seamless camera moves, no cuts.
Deep ResearchReads several independent sources, then answers with what they actually support.
TerseStrips filler. Same substance, far fewer words.
NarratorTurns an explanation into narrated video — script, voice, and soundtrack.

The skill catalogue shows each skill's full instruction text before you enable it, its estimated token cost per message, and — for skills built on generation tools — a warning that they need an OpenRouter key to do anything.

Generating media

With an OpenRouter key, the assistant can produce images, video, music, and speech as part of a conversation, and place them into notes, sites, and videos. Pick the model for each kind under Session Settings → Generation Models; those are shared across every chat, unlike the conversation model.

  • Images — from a prompt, or from a source image you attach when you want an edit rather than a new picture
  • Video — a slow cloud job measured in minutes, with a spend ceiling per conversation
  • Rendered video — diagrams, plots, equations, and slide-style explainers, rendered on-device and instantly, with type that stays sharp
  • Music and speech — tracks and narration, mergeable onto a video

Generated files are named from their content rather than a timestamp, so the gallery stays searchable, and are reachable by filename in later turns of the same conversation.

Sources & citations

An answer built from the web lists the pages it was built from, under the answer: title, site, and the text as it read then, each opening in a Peak tab.

Peak assembles that list from what it actually fetched, not from what the model says it read — so a source in it cannot be invented. Each one is marked as a search result or as read in full, because seeing a search engine's two-line summary and reading the article are different kinds of evidence, and an answer that leans on the first should not look like one that leans on the second.

Answers can also mark a sentence with a number that opens the matching source. A number Peak cannot match to a page it really retrieved stays as plain text rather than becoming a link.

What this does and does not promise. That a page was retrieved is a fact Peak witnessed. Which sentence a source supports is the model's judgement — which is why a citation opens the page rather than asserting anything about it.

Peak AI's invented web

A search engine over an internet that does not exist. Choose Deadnet from the search engine list and Peak AI invents a page of results, then writes each destination only when you follow it. Links lead to more invented pages, which lead to more.

A bar at the top of every page states that the whole web is fabricated, and it cannot be dismissed or removed. Generated pages cannot reach the public internet, run code, or alter that disclosure — a screenshot of an invented page is otherwise indistinguishable from a real one, which is exactly why the marking is not optional.

Invented — everything made up, nothing fetched · Grounded — looks up what is true first, invents the sources around it · Deep Search — several lookups before writing

Peak Mesh

Mesh connects nearby Apple devices for local collaboration over Apple's Network framework — discovery, chat, tab sharing, workspace sync, and game invites, with no accounts and no cloud relay in the middle.

Peer discovery · Mesh chat · Tab sharing · Shared workspace signals · Note deltas · Task board deltas · Whiteboard deltas · AI chat sync · Site Builder tab presence · Game invites · Multiplayer game state

Opt-in by category. Which kinds of workspace data participate is a set of toggles you control. Peak does not broadcast everything because mesh is on. Traffic can be secured with a shared passphrase, held in Keychain-backed storage.

Without a network at all

Mesh can run over Apple's peer-to-peer Wi-Fi, so two devices connect with no router, no hotspot, and no internet between them — a train, a field, an aeroplane. Wi-Fi has to be switched on for the radio to exist; it does not have to be joined to anything.

Reaching a device the radio cannot

Nearby discovery is a local-network broadcast and stops at the edge of the network. For a device somewhere else, a written-down address does the same job: one device shows a peak-mesh:// address, the other keeps it in a short list and dials it directly. The connection is the same encrypted one, with the same room secret; only the way the two devices find each other differs. The port can be pinned so a written-down address survives a restart, and each written-down peer shows what it is actually doing — connecting, refused, no answer, or standing by because that peer is already here another way.

No relay, and no open door by default. Peak runs no server in the middle: a written-down address is a direct connection between two machines. Reaching a device behind a home router needs that router to forward the port, which is a deliberate act. A wrong room secret is refused at the handshake and says so.

Sending a project

Sharing a Site Builder tab shares that the editor is open and which project it is. On your own devices that opens the synced copy. On someone else's, opening the tab asks your device to send the project — one project, at the moment they ask for it, and only while the tab is still shared. Send to Peer, inside a project, sends it deliberately at any time.

Arcade & focus spaces

Intermission is for the gap between two pieces of work — a couple of minutes away from the thing you are doing, without leaving the app that has all your context in it.

Games

Peak Runner · Bit Copter · Cache Breaker · Orbital Lander · Bit Artillery · Global Macro Conquest · Matrix Chess · Stack Overflow · Peak Sudoku · Summit Drive · Summit Jib · Bit Siege · Paper Trader

Several support local mesh multiplayer — invite a nearby device into a lobby and play across the room with no server involved.

Focus spaces

Box Breathing · Zen Space · Fireplace · Aquarium · Thunderstorm · Lava Lamp · Rain on Terminal · Weather Window · Peak Rising · Brownian Compilation · Vector Gallery

Local tools

Small utilities that run entirely on device. No key, no upload, no network call.

Background Remover
Cuts the subject out of a photo.
Palette Extractor
Pulls a usable colour palette from any image.
Website Design Extractor
Reads a page's typography, spacing, and colour decisions so you can build on them.
Text Extractor
Recognises and lifts text out of an image.
Image Compressor
Shrinks images before they go into a note or a site.
App Icon Generator
Produces a full icon set from one source image.

The assistant can call several of these as tools mid-conversation, which is why extracting a palette or cutting out a subject works without any provider key.

Reader mode

A button in the toolbar turns the page in front of you into a clean article — no navigation, no ads, no boilerplate — and turns it back again.

It reads the page as already loaded rather than fetching the address a second time, so pages that build themselves as you watch, and pages that needed you to be signed in, come out with their text intact. The page stays loaded underneath: media keeps playing and your place is kept. A Contents button lists the article's own headings.

Three kinds of page are handled specially: an article comes back as the article, a video comes back as its spoken transcript with timecodes, and a discussion comes back with its comment tree. The result states which path produced it, because a description is not a transcript.

Auto Edit

Drop a video or an audio file in and Peak measures the loudness of every moment, finds the pauses, and proposes an edit that removes them.

You can watch and listen to the result before anything is written, adjust how quiet counts as quiet and how much room to leave around each cut, and only then save. Nothing is uploaded: the measuring and the writing both happen on your machine. Peak AI can do the same on a file you hand it.

Infographics

An infographic in Peak is a short piece of text, and the picture is drawn from it wherever you are looking.

Ask Peak AI for a process, a timeline, or a set of figures and the answer contains a drawn picture rather than a block of code, filling in as it is written. The same document can be an element on a whiteboard — select it, resize it, recolour it, export it, edit its text, or switch its arrangement without losing what it says — or a scene in a rendered video whose items build up one at a time as you talk through them.

Steps · Zigzag · Staircase · Timeline · Chips · Cards · Figures · Bars · Ring · Pyramid · Funnel · Pros and cons · Venn · Quadrant · SWOT

Why text. A picture that is a few hundred characters reaches everyone in a Mesh room instantly and merges like a sticky note; the same picture as an image is megabytes that merge like nothing. Any arrangement Peak does not have is drawn as the nearest one it does, rather than refused.

Peak Surf

A surf companion with spots, conditions, and a travel passport of countries you have surfed.

The waves are simulated. Swell height, period, and direction are generated on your device by Peak's own model. They are a plausible simulation, not a forecast, they are labelled “Simulated” wherever they appear, and they must never be used to judge whether it is safe to enter the water.

Weather — wind, cloud, precipitation, sunrise and sunset — comes from Apple WeatherKit. Maps come from Apple Maps. Country summaries come from Wikipedia and indicators from World Bank Open Data. Open-Meteo is available if you add your own key, since their free tier is non-commercial only.

Location is requested only for features that need it, and is rounded to roughly one kilometre before anything leaves the device. The exact position is used only to draw you on your own map.

Hotkeys

ShortcutAction
Control + 1Toggle the Peak window globally (macOS)
Cmd + NNew tab
Cmd + WClose the current tab
Cmd + RRefresh the current web tab
Cmd + 19Switch to tab 1 through 9

Whiteboards add their own shortcuts for select, pan, draw, text, sticky notes, shapes, arrows, grouping, duplication, zoom, and delete.

Privacy & data

What is stored on your device

Browsing history · Saved sessions · Bookmarks · Activity logs · Notes and attachments · Task boards · AI chat history · Whiteboards · Sites · Workspace profiles · Dashboard layout · Mesh message history

All of it lives in Core Data, app support files, UserDefaults, and Keychain, and can sync through your own private iCloud using CloudKit. We have no access to that database.

What Peak does not do

  • No built-in analytics, advertising SDKs, or cross-app tracking in the app
  • No Peak account required, because there are no Peak servers holding your workspace
  • No cloud relay for mesh — nearby means nearby
  • No use of your chats for training

What leaves the device, and when

Only what you ask for: the websites you visit, prompts to a provider you configured, generation requests to OpenRouter, repository files you asked the assistant to read, and Peak Surf's weather and country lookups. Each is described in full in the Privacy Policy.

Deleting things

Settings → Privacy clears workspace data by category: history, sessions, chats, notes, bookmarks, task boards, whiteboards, activity, dashboard data, tags, and mesh message history. Where iCloud sync is on, clearing removes it from your synced workspace too.

Troubleshooting

Provider rejected the request”

The named provider refused your key. Check that key in Settings → API and press Test. The most common cause is a key in the wrong row — Moonshot Kimi and Kimi Code are separate accounts on separate endpoints, and each rejects the other's key with an unhelpful “invalid authentication”. Peak flags that mismatch under the field as you paste.

Provider key required”

The model this conversation uses belongs to a provider with no key entered. Either add one, or switch to a provider you have configured.

Generation tools are missing

They need an OpenRouter key, whichever model is answering. Without one they are not offered to the model at all — which is deliberate, so you get a clear refusal instead of a confident description of a picture that was never made.

No local models

Ollama is probably not running, or started after Peak did. Use Refresh local models at the bottom of the model menu. Peak talks to 127.0.0.1 rather than localhost, because the latter can resolve to IPv6 first while Ollama binds IPv4.

Nearby devices are not appearing

Mesh needs both devices on the same local network with local network permission granted, and the same workspace categories enabled on each. It has no cloud fallback by design — if the network cannot carry it, there is no relay to route around.

A generated Xcode project will not build

Export refuses to produce a project at all when a screen contains something it cannot faithfully export, and lists what and where. If a project did export, open the scheme and check the destination — the generated target supports both macOS and iOS, but the iOS platform has to be installed in Xcode.

Something missing or wrong here? Write to Designr.pros@gmail.com.