Menu

WaxFrame puts multiple AI assistants to work on your document. Start from scratch and we'll generate a draft — or bring an existing document to refine. Either way, the Builder writes and revises while the Reviewers give specific, numbered suggestions. Round by round it improves; you're done when all your reviewers agree the document is at its best. Your free trial includes 3 rounds on purpose — the Chocolate Chip Cookies template (Menu → 📋 Template - Use) converged by round 3 in every one of 11 test runs while we were sizing the trial, so you can see the whole cycle start to finish before spending a dime.

~$0.30 per full hive review · $5 typically covers ~15 reviews

Pay-as-you-go through each AI provider — no subscription, no minimum. Most users top up once a quarter, not once a week. See the full pricing breakdown

New here? Start with the Start Here guide, or open the Menu for the User Manual, API setup guide, and more.

WaxFrame
Many minds, one refined result.
Setup — Step 1 of 4

Set up your hive

Your hive is a team of AIs. Every AI reviews your document each round; one is the Builder — the AI that rewrites it.

Minimum 2 AIs. 3+ recommended so the hive can break its own ties on conflicting suggestions.

Click any AI below to add its key, pick its model, and (when ready) crown it Builder. New here? Tap the above for cost, keys, and the full setup guide.

WaxFrame
Many minds, one refined result.
Setup — Step 2 of 4

Your Project

This is the most important page in the whole setup. This section defines what your project is all about. Every AI sees this information on every round — it's their entire understanding of what you're trying to build. The more specific you are the better your project will be (garbage in, garbage out). A few extra minutes here pays off in every round that follows.

New to WaxFrame? Click 📋 Use Template above and hit the gold Quick Start button at the top of the gallery — one click applies a low-stakes Chocolate Chip Cookies demo so you can see the whole hive flow before bringing your own document.

Fields marked * are required to continue.

What kind of document is this? Be specific — cover letter not document. This is the first thing every AI reads and it sets the format, length, and tone for the whole session. If there is one thing the AIs should never forget, put it here.

Who will read this? The AIs use this to calibrate tone, vocabulary, and how much to explain. IT Director and VP of Facilities gives very different results than general public. The more specific you are, the more consistent every round will be.

What do you want to happen after someone reads this? Approve the budget, schedule an interview, understand the three options and pick one. This is the finish line the AIs are working toward. Vague here means vague everywhere — this field has more impact on quality than any other.

Draw the fence. AIs expand into adjacent topics unless you explicitly stop them. Cover both sides — what must be included and what must not be included. Example: wireless networking only — no switching, routing, or security products.

How should it sound? A few adjectives — professional, confident — is a floor that works but leaves a lot open to interpretation. Richer is better: Direct and confident, not stiff — like a peer they'd want to work with. Say what to sound like, what to avoid, and who's reading. Bland inputs produce inconsistent outputs across rounds.

Hard rules that must survive every round — things the AIs should always or never do. Example: do not add new sections, always use Oxford commas, never change the numbers in the cost table. You can also use the Notes drawer on the Work screen for one-round-only instructions.

Length Constraint

Pick a mode that matches what your document needs. The Builder is told the rule for the mode you choose, and round-end and convergence-time guards fire accordingly.

Refine rounds will receive

Your assembled goal is under 300 chars — the full text will be sent each refine round.
WaxFrame
Many minds, one refined result.
Setup — Step 3 of 4

Reference Material

Optional. Source material The Hive will reference on every round but never edit — job descriptions (rules and responsibilities), RFP requirements, style guides, scoring rubrics, prior decisions, vendor claims. Distinct from Notes (round-to-round directives) and from your Starting Document (the document under construction). When you add more than one, order matters — the first document reads as most authoritative to the hive; use the ▲ ▼ arrows on each card to reorder.

📚 Total reference size 0 docs Chars: 0 Words: 0 Tokens (est.): 0
Paste Text
Click to add a new reference and paste your content into it
Upload File
Drag & drop one or more files, or click to browse — Word (.docx), PDF, PowerPoint (.pptx), Excel (.xlsx, .xlsm), .txt, .md
No reference material yet.
WaxFrame
Many minds, one refined result.
Setup — Step 4 of 4

Starting Document

Three buttons below let you choose where your starting document comes from. Click Upload File to upload a Word doc, PDF, or other file you already have. Click Paste Text to paste text directly. Click Start from Scratch if you want the hive to generate a first draft using only your project goal.

Click the area below to browse for a file, or drag and drop one directly onto it.

Drag & drop a single file, or click to browse
Supports Word (.docx), PDF, PowerPoint (.pptx), Excel (.xlsx, .xlsm), plain text (.txt), or Markdown (.md)
1
Starting from Scratch
WaxFrame will ask all your AIs to create a first draft based on your project goal. Make sure your goal is detailed — the more specific you are, the better the first draft will be.
Project
Round 1 — Draft
PROJECT
00:00:00
The Hive
Conflicts
No conflicts yet — run a round to see what the Builder couldn't resolve.
📄 Working Document
🖥️ Live Console
Legend: ■ Round ■ Sending ■ Response ■ Success ■ Warning ■ Error ■ Info
Console ready — Smoke the hive to begin.
WaxFrame
Many minds, one refined result.
Settings

Settings

Your preferences are saved in this browser and apply to every project on this machine. Changes save automatically.

🔑 Account & License

Manage the WaxFrame Pro license saved in this browser. Your key stays local; WaxFrame only contacts Gumroad when you submit or replace it.

Checking license… WaxFrame will show your current license status here.
License key Paste a Gumroad license key here to unlock Pro or replace the key currently saved in this browser.

⚡ Auto Mode

How the hive behaves during hands-off Auto runs. These only take effect while Auto is on.

Failover Builder If your Builder hits the failure-streak limit during an Auto run, WaxFrame pauses and offers to promote this AI to Builder so you can resume in one click. Choose "None" to have Auto pause and ask you without offering a promotion. Slow Builders do not trigger this — only repeated failures do.
Never disable the Builder Keep the Builder in the run even if it's slow or throwing errors. Waiting on the Builder is usually better than losing it mid-run — turn this on if your Builder is reliable but occasionally slow.
Failure-streak limit How many rounds in a row can fail before Auto pauses and asks you what to do. A single clean round resets the count, so an early blip won't halt a healthy run later.
Slow-responder threshold A reviewer is flagged "slow" when its response time exceeds both (multiplier × round average) AND (round average + 15s), for this many rounds in a row. The +15s floor prevents false alarms when the average is tiny. Slow alerts surface a troubleshooting card (once per AI per session) and log every slow round to the Live Console — slow AIs are NOT auto-disabled; toggling off is your call.
× avg, for rounds
Length-guard reround attempts When the hive converges but the result is over or under your length limit, Auto sends the document back to the Builder to trim or expand, then runs another round. This is how many times it will try before giving up and asking you. A clean in-range result stops the loop early.
Reset Auto settings Restore every Auto Mode option above to its built-in default (Failover Builder: none · Never disable Builder: off · Failure-streak limit: 2 · Slow threshold: 3× / 2 rounds · Reround attempts: 2).

🔍 Vision / OCR

Which AI reads text out of scanned or garbled PDFs — used by the "Re-extract with AI Vision" button and the automatic pass on image-only pages. It uses that provider's configured model.

OCR provider "Automatic" uses the first vision-capable AI you have a key for (ChatGPT, Claude, Gemini, or Grok, in that order). Pick a specific one to always use it for OCR. If your pick isn't keyed, WaxFrame falls back to Automatic so extraction never fails.

🎛️ Workflow & Updates

Mirror toggles for the work-screen footer pills, plus background refresh of provider model lists.

Length guard When armed, rounds and convergence events that exceed your length target are blocked so you can decide whether to trim, expand, or proceed. Same behavior as the footer pill — flipping it here goes through the same confirm step. Per-project state; resets when you start a new project.
Slow-AI alerts When on, a Troubleshooting Card surfaces when a reviewer is taking much longer than its peers and your average round time. Turn off for hands-off Auto runs where the chain shouldn't stop just because one AI is slow.
Auto-update model lists When on, WaxFrame periodically re-fetches the model list from every configured provider so retired/renamed models don't haunt your dropdowns. Refreshes happen in the background — no interruption. If your currently-selected model disappears from a provider's list, you'll get a toast. Off = model lists persist until you click ↻ Recheck on an AI row.
Refresh interval How often the background refresh runs. 1 week is a good default — model lists don't change daily, but 30 days lets retirements linger. 24h is for power users following frontier rollouts closely.
Reset suppressed prompts Every confirmation modal carrying a "Don't show this again" option leaves a suppression flag when dismissed. This includes the Length Guard toggle (disable + re-arm), per-project Checkpoint Nudge, Server/Internet mode switch, Add reference doc mid-session, Recommend Models for All, Go back to Home, and per-template educational modals. (The Checkpoint - Restore trust warning on its dedicated screen is intentionally NOT dismissable — it's a security trust gate that fires every time. The Checkpoint - Save screen is the action surface, not a yes/no gate, so it has no suppression either.) Click here to clear all of them at once; every dismissed prompt will reappear next time you trigger its action.

💾 Backup Sync

Save a checkpoint to a folder on your disk automatically as you work — so if your browser cache gets cleared, the tab crashes, or you switch machines, you have a fresh recovery point ready. Pick a folder once and forget about it. Manual Save Checkpoint on the Checkpoint screen still works for one-off saves anytime. Requires Chrome, Edge, or Opera (file-system API not exposed in Firefox/Safari).

Backup folder Where backup files land on disk. First click opens the OS picker pre-navigated to ~/Documents — pick or create a WaxFrame subfolder there. The choice is remembered across sessions (one permission prompt at session start).
— Not set —
Auto-backup frequency How often a backup file lands. More frequent = more disk space + finer rollback granularity; less frequent = less clutter. Off disables auto-backup entirely; the manual Save Checkpoint flow still works.
Sections to include Which pieces of WaxFrame state land in each backup file. Defaults match a self-portable backup — project + session + AI list + models + builder + license. API keys are off by default (sensitive). Same 9 sections as the manual Checkpoint screen, where each has a full description. See section details on the Checkpoint screen →

🔬 Diagnostics

Off by default. Turn these on only when troubleshooting a specific issue — they have a small memory + speed cost while active. Power-users only; nothing here is needed for normal use.

Deep Dive capture Captures detailed per-API-call telemetry on every round — request/response shapes, finishReason, payload sizes, token counts, timing, error codes — into a ring buffer of the last 200 calls. Use this when you need to file a bug report for an intermittent failure, or want to inspect what each AI actually returned (raw text, not WaxFrame's parsed view). The data is included automatically in the diagnostic bundle exported from the Help page. Slightly slows down round throughput while active. Same toggle as the 🔬 button on the dev toolbar.

🧹 Storage

WaxFrame stores everything locally in your browser across three storage layers — nothing leaves your machine. Each button below targets one layer; the last wipes everything. Wipes are irreversible from inside the app; save a checkpoint of anything worth keeping first (Menu → 💾 Checkpoint - Save), or use your existing export buttons on the work screen. Each wipe needs a two-click confirm. After a wipe the page reloads so the app starts fresh.

Wipe localStorage Removes your AI list, API keys, custom-AI configs, project fields, license, Auto-mode settings, recommendation caches, model caches, and UI prefs (collapsed/expanded rows, etc.). Leaves IndexedDB (rounds + document) intact.
Wipe IndexedDB Removes your session data: round history, working document text, console history, conflict ledger. This is where the document and rounds you can see right now actually live. Leaves localStorage (hive, keys, settings) intact.
Wipe sessionStorage Currently unused by WaxFrame. Cleared defensively in case a future feature adds ephemeral state here.
Wipe EVERYTHING (full reset) Clears all three layers at once. Equivalent to a fresh install — your hive, keys, license, projects, rounds, document, settings, all gone. Use this for an uninstall, or to fully reset after troubleshooting failed.
WaxFrame
Many minds, one refined result.
Checkpoints

Checkpoints

A checkpoint is a single JSON file that captures whichever pieces of your WaxFrame state you choose — project setup, reference material, starting document, in-progress session, hive composition, model picks, API keys, Builder selection, license. Save one before a risky round, before clearing a project, or as a periodic safety net. Restore one to bring those pieces back — pick which sections to apply; the rest of your local state stays untouched.

Pick which sections of your current local state go in the checkpoint file. Each row describes what’s in that section and shows what’s in your live state right now. Tick the sections you want included; untick what to leave out. License is included by default for self-portability (work → home on the same machine) — untick it when sharing the checkpoint with anyone else.

Project
Session
Hive
License
Smoking…
Smokin' the Hive…
Beekeepers smoke their hives to calm the bees before working with them. We do the same — a little smoke settles the hive so they can focus on your document.
📝 Notes Directions for the Builder only — never sent to reviewers.
🎯 This-round notes Auto-clears after the Builder uses them on the next round.
Templates:
📌 Standing notes Apply every round, every Builder. Persist until you clear them or start a new project.
📚 Reference Material Source material The Hive will reference on every round but never edit. Edits apply to the next round.
0 docs Chars: 0 Words: 0 Tokens (est.): 0
No reference material yet.
To upload files, use Setup 3 — Reference Material from the menu.
Add a Custom Worker Bee
Connect any OpenAI-compatible, Anthropic, or Google endpoint
PNG/JPEG/WebP · 256×256 recommended · auto-resized
What goes in each field?
Quick reference for filling out the Add a Custom Worker Bee form
If you're not sure where to start: pick your provider from the Quick Add dropdown. It pre-fills the URL and API Format for you and shows a link to where you get an API key. Quick Add covers the most common providers; for anything else, fill in the fields manually.

URL

The full address of the provider's chat-completions endpoint. Most OpenAI-compatible providers end with /v1/chat/completions. Examples:

  • https://api.mistral.ai/v1/chat/completions
  • https://api.together.xyz/v1/chat/completions
  • http://localhost:11434/v1/chat/completions (Ollama running locally)

Anthropic and Google use different URL shapes — Quick Add handles those automatically.

API Format

How the provider expects requests. Most providers (Mistral, DeepSeek, Together, Cohere, Ollama, LM Studio, etc.) speak OpenAI compatible. Anthropic and Google have their own formats — pick those only if you're connecting directly to them.

API Key

The secret token the provider gave you when you signed up. Usually starts with a prefix like sk-. Local providers (Ollama, LM Studio) don't need a key — leave blank. Your key is stored in your browser only and never sent anywhere except the provider's own endpoint.

Model

The specific model on that provider's API. Click Fetch Models after entering the URL and key — WaxFrame will pull the live list and ask the provider which model is best as a Reviewer (✨) and which is best as a Builder (🔨). You can pick any model from the list.

My provider isn't in Quick Add

Most providers WaxFrame doesn't list still work — they just need to be filled in manually. If the provider's docs say "OpenAI-compatible," set API Format to OpenAI compatible and use whatever URL their docs give you. If it's not OpenAI compatible, you'll need a provider that is, or wait for WaxFrame to add native support.

Import from Model Server
Fetch all models from a local or enterprise AI server and add them in bulk

WaxFrame auto-detects common model brands (Claude, ChatGPT, Gemini, Grok, DeepSeek, Perplexity, Mistral, Cohere, Llama) from the model name. For anything else — including models routed through a server runtime like Alfredo, LM Studio, Open WebUI, or Together — pick a default icon below or upload your own. If you skip this, the generic icon is used.

PNG/JPEG/WebP, 256×256 recommended · auto-resized · stored locally
What you'll need

Import from Model Server works with any AI platform that exposes an OpenAI-compatible chat completions API. Fill in the three fields on the left and click Fetch Models.

Chat Endpoint
The URL WaxFrame sends chat requests to. For Open WebUI this typically ends in /api/chat/completions. For Ollama and LM Studio it ends in /v1/chat/completions.
Models Endpoint
The URL WaxFrame queries for the list of available models. For Open WebUI this is /api/models. For Ollama it is /api/tags. For LM Studio it is /v1/models.
API Key
Required for most enterprise servers as a bearer token. Leave blank for local development servers that do not require authentication.
Not sure what to enter? Pick a preset from Quick Add to auto-fill a matching endpoint pattern, then adjust the base URL to match your server. If you are connecting to an enterprise platform at work, ask your IT team for the chat completions endpoint and the authentication method.
Endpoint
Status
Received
Something went wrong
Models will appear here
After you click Fetch Models, the available models from your server show up here so you can pick which ones to add to your hive.
Nothing is selected by default — most server lists contain models that aren't useful for document review. Pick the ones you want, then click the icon thumbnail on each row to customize it (auto-detected from the model name otherwise).
Choose an Icon
Pick a bundled icon or upload your own — your choice is saved with this AI.

Pick any image file (PNG, JPG, SVG, WEBP). It'll be resized to 256×256 max and stored inline with the AI — no external URL, safe for air-gapped networks.

Round History
Click any round to restore that version of the document
No completed rounds yet. Each round is saved here automatically.

🏁 Project Complete!

Export your document before starting a new project — your working document and round history will be cleared when you do. If you want to review which reviewers were still suggesting changes (the holdouts), make a manual edit, or run another round before exporting, click ← Back to Hive at the bottom.

Change Builder

The Builder rewrites the document each round. Click 🔨 Builder on whichever AI you want — model can be swapped from the dropdown next to its name. Cost note: the Builder reads project setup, reference material, the full document, and every reviewer's suggestions every round — switching to a premium model raises per-round cost.

Confirm

Enter value

⏸️

Auto paused

Auto stopped.

📏 Round exceeds length limit

Prior document
This round
Target limit
Trajectory
Distance from target

Discard rejects the round (default). Keep accepts this round's output as the new document, but the guard stays active for future rounds. Continue anyway accepts and disables the length guard for the rest of this project — useful when the guard's target doesn't match what the document actually needs to be.

Edit Hive

Toggle AIs on or off for this session. AIs without a saved API key are skipped automatically.

⚠️ Round Not Saved

Note: This round was not saved to your history, but your API request was still processed and tokens were consumed.

🩺 Something went wrong


        

Remove this reference?

📊 Select sheets

What gets converted: Cell values (formulas evaluated to displayed values), merged cells flattened by repetition, embedded comments, defined names. What's skipped: Cell colors and conditional formatting, embedded images and charts (data labels are captured), pivot table source data (cached display values shown), hidden sheets, and macros.

⚠️ You haven't exported anything yet

If you start a new project now, your working document and round history will be permanently discarded. Export the document and / or full transcript first if you need them.

📋 Project Summary

Project setup (read-only — edit on the Project screen)
ⓘ

About Your Project Goal

This is the most important section of the entire setup. Every AI in your hive reads these six fields before touching your document — it is the only context they have about what you actually want. Vague fields produce a vague document. Specific, detailed fields produce something you can use.

You do not need to fill all six — even two or three give the hive a strong foundation. Fill them top to bottom. Each one controls a specific dimension of the output:

Document type Sets the format, length conventions, and depth. Be specific — cover letter not document, technical comparison not report. If there is one thing the AIs must never forget, put it here.
Target audience Calibrates tone, vocabulary, and how much to explain. IT Director and VP of Facilities produces very different results than business audience. Name the seniority, technical level, and any split audience.
Desired outcome The finish line. This is the field with the most impact on quality — every suggestion and every rewrite is working toward this. Approve the budget, schedule an interview, pick one of the three options. Vague here means vague everywhere.
Scope & constraints Draws the fence. AIs expand into adjacent topics unless you stop them. Cover both sides — what must be included and what must not be. Wireless only — no switching, routing, or security products.
Tone & voice Prevents style drift across rounds when different AIs are writing. Two or three words is enough — confident, direct, no jargon or warm, conversational, no bullet points.
Additional instructions Hard rules that must survive every round — things the AIs must always or never do. Do not add new sections. Never change the numbers in the cost table. Always use Oxford commas.

💡 The goal works the same way whether you are uploading a file, pasting text, or starting from scratch. The AIs have nothing else to work from — no internet access, no knowledge of your organisation, no understanding of what you want unless you put it here.

⭐ Template - Save

Save this project's setup as a reusable recipe — your Goal fields, starting document, reference material, length guard, and the hive that ran it (AI lineup + Builder). The round history is not saved. Saved to this browser, on your hard drive. (Sharing templates with other people is coming in a later update.)

0 / 120

Subdivides your Custom Templates view only — built-in template sections aren't affected.

0 / 240

💾 Save Hive Profile

Save your current per-AI model picks as a reusable named profile. The next time you pick this profile from the Hive Profile dropdown, every AI snaps back to the model captured here. Saved to this browser, on your hard drive.

🏁 Set up and ready to run

Before you burn any tokens, two quick things you can do — both optional, and both available later from the menu.

Testing API keys…
Click any row to see what was sent and received
AI
Sent
Click a row to see the request.
Received
Click a row to see the response.
ⓘ

Test All Keys — Troubleshooting

The Test All Keys check sends a one-word prompt (Reply with exactly one word: CONNECTED) to every saved AI and reports the result. A red ✗ means something blocked the request. Use the table below to identify the cause from the row's status code, then jump to the matching provider billing console at the bottom of this guide.

Red ✗ on a row The API call returned a non-2xx response, or the network call itself failed. Click the row to load the raw status and response body in the Received pane on the right — the error message there will be one of the cases below.
HTTP 401 — Unauthorized The API key is invalid, expired, revoked, or wasn't sent. Most often this means the key was copy-pasted with extra whitespace, or the provider rotated keys after a billing event. Open the provider's console (links below), generate a fresh key, paste it back into the AI's row in Setup 1.
HTTP 403 — Forbidden The key authenticated, but the provider refused to fulfill the request. Almost always a billing/permissions issue — payment method missing, credit balance exhausted, or organizational restrictions on the API key. Open the provider's billing console and confirm there's credit on file.
HTTP 429 — Rate Limited You've sent more requests than your plan allows in the current time window. Common error phrases: "rate limit exceeded", "Some resource has been exhausted", "quota exceeded". Wait a few minutes and retry. If you hit 429 during normal WaxFrame use, your plan tier is too low for your hive size — upgrade the plan or reduce the bee count.
CORS error The browser blocked the response because the API endpoint didn't return an Access-Control-Allow-Origin header that permits waxframe.com. WaxFrame runs entirely in your browser and cannot bypass CORS. You'll see this almost exclusively with custom endpoints — internal company gateways like Alfredo, self-hosted Open WebUI / Ollama, or other proxies that haven't whitelisted browser origins. Fix is on the gateway side: have the operator add Access-Control-Allow-Origin: * (or specifically https://waxframe.com) to the gateway's CORS configuration. The 6 default providers all have CORS pre-configured.
Network timeout / network error The browser couldn't reach the endpoint at all. Could be DNS, a corporate firewall, VPN interception, the network being down, or the endpoint server itself being unresponsive. Verify you're online, double-check the endpoint URL in Setup 1 is correct, then retry — most network errors are transient.
Empty / malformed response The endpoint returned 200 OK but the body was empty, truncated, or not in the JSON shape WaxFrame expected. Click the row to see what was actually returned. Usual culprits: rate-limit messages buried inside 200 responses, HTML error pages from misconfigured proxies, or model-name typos that cause provider-specific empty replies.

💡 Provider billing & console links — open the right one for whichever AI is failing.

💡 Custom AIs added via Add Custom AI or Import from Model Server won't appear above — only the 6 default providers have known billing URLs. For custom endpoints, billing/permissions are handled wherever you got the endpoint from.

Error Detail
Raw API Response

      
Testing API Key…
Sending a minimal test request…
AI
Sent
Endpoint
Request body
Received
Status
Response body
ⓘ

How the Hive Works

Every WaxFrame session has two AI roles and one document, processed in rounds. Each round is the same loop: reviewers read, Builder rewrites, you decide what to keep.

Reviewers (Worker Bees) Each reviewer reads the current document independently and produces a numbered list of specific suggestions — wording fixes, missing context, structural issues, factual concerns. Reviewers don't see each other's output. They write in parallel, which keeps their perspectives genuinely independent.
Builder The Builder reads all of the reviewers' suggestions plus the full document, then produces the rewritten version. It also flags any suggestions where reviewers disagreed (the Conflicts panel) so you can decide which option wins. Because the Builder rewrites the whole document every round, it uses significantly more tokens than reviewers — pick a paid plan with capacity.
Rounds A round runs all reviewers in parallel, then the Builder. You read the result, resolve any conflicts, optionally add Notes for the next round, and run again. Documents typically converge in 5–20 rounds depending on starting quality and complexity.
Convergence tip Starting from a blank page often converges faster than refining a heavily misaligned existing document. If your current draft fights the document's actual purpose, the hive will spend rounds debating reframing rather than building. When in doubt, start fresh and let the hive build it correctly the first time.
Notes & Reference Material Two ways to steer mid-stream: Notes are per-round directives (e.g., "lock the company name spelling exactly as written"). Reference Material is source-of-truth content the hive consults but never edits (job descriptions, style guides, prior drafts). Both are injected directly into every reviewer and Builder prompt for the round.

💡 Quoting exact contested text in Notes is more reliable than citing line numbers — line numbers shift as the document evolves.

ⓘ

What's in the Menu

The Menu is the navigation drawer you'll find at the top-left of every screen. The top section jumps you between setup screens, the Working Console, and Settings; below that, grouped sections hold tools, documentation, and advanced features. None of it is required to run a round, but most of it earns its place once you've used the app for a while.

🛒 Buy a License A pinned button at the bottom of the menu, shown while you're on the free trial. Buys a WaxFrame license key via Gumroad — every installation includes three free trial rounds, and a one-time license unlocks unlimited rounds. Once your license is active, this button disappears. Opens in a new tab.

Navigation

Home + Setup 1–4 + Working Console + Settings Direct jumps to every screen in the flow. Useful for going back to fix something — change the Builder, add another reviewer, edit the project goal, or manage preferences and license details — without rewinding through the rest of the setup. The active screen is highlighted so you always know where you are.

Tools

📂 Checkpoint - Restore Opens the Checkpoints screen in Restore mode. After choosing a checkpoint file you'll see a Current vs Checkpoint diff with a checkbox per section (Project info, Reference Material, Starting Document, Session, AI list, Model picks, API keys, Builder, License). Tick only what you want to bring forward; unticked sections keep their current local values byte-for-byte. Pull yesterday's project setup without overwriting today's keys, or bring a checkpoint's AI list across machines while keeping local model picks intact.
💾 Checkpoint - Save Opens the Checkpoints screen in Save mode. Nine independent checkboxes pick which sections go in the file — Project info, Reference Material, Starting Document, Session in progress, AI list, Model picks, API keys, Builder selection, License. Each row shows what's actually in your live state right now and lists the exact JSON fields included. Recommended before any risky operation or experimental round, and as a periodic safety net on long projects.
⏱ Round History Browse every completed round in the current session — see the document at each round, every reviewer response, the Builder's resolutions, and any USER DECISION blocks. Export the full transcript as a single file from here.
⭐ Template - Save Save your current project setup (goal fields, reference material, starting document, length guard, hive + Builder) as a reusable named template. Future projects can apply it from the Template gallery to skip retyping the same setup. Round history is NOT saved — templates are recipes, not snapshots.
📋 Template - Use Opens the Template Gallery — pre-built templates (Quick Start, Cover Letter, Resume, RFP, etc.) plus any custom templates you've saved. Applying one populates your Project fields with proven starting content for that document type.

Settings

🔑 Account & License Manage your WaxFrame Professional license in Settings — enter, replace, remove, or check status. Your trial round count is preserved across license changes, so removing a key can't escape an expired trial.

Help & Support

💰 AI API Pricing Current per-token costs for every default AI provider with cost-per-round estimates so you can predict spend before a project. Updated as providers change their rates.
🔑 API Key Guide How to get an API key from each of the six default providers (Anthropic, OpenAI, Google, Mistral, xAI, Perplexity), with direct billing links and the exact paid-plan tier you need for the Builder role.
📋 Document Playbooks Worked examples of WaxFrame on common document types — résumés, job descriptions, business proposals, thank-you letters, and more — with the exact Project Goal and Notes payload that converged the document, plus measured round counts and wall-clock times where available.
🛟 Help Troubleshooting guide plus the one-click Diagnostic Bundle export — strips your API keys and license automatically, then gives you a pre-filled GitHub issue link so support has everything needed to reproduce a bug.
Hive Profiles Documentation for the per-AI model recipe system — save your tuned hive setup as a named profile, switch between profiles with one click, and understand the cheap/balanced/thinker/fast tiering each profile picks across.
📖 User Manual Step-by-step walkthrough of every screen and feature, written like a long-form guide rather than a reference card. The best entry point if you're new.
🪙 What Are Tokens? Plain-English explanation of tokens — the unit each AI provider charges by — and how to read the round-cost numbers WaxFrame surfaces.

Advanced

✏️ Prompt Editor View and override the exact prompts WaxFrame sends to reviewers and the Builder. Most users never need it, but if you're tuning behavior or debugging an oddly-behaved AI, this is where you'd look.

Legal

🛡️ Privacy Policy How WaxFrame handles your data — short version: it stores everything in your browser (IndexedDB and localStorage), never on a server, and sends your document text only to the AI providers whose keys you configured. No tracking, no analytics.
📜 Terms of Use The legal terms covering use of the WaxFrame software and waxframe.com site. Short and plain-language.

💡 Documentation pages open in new browser tabs — your in-progress WaxFrame session won't be disturbed. The Menu also has an ℹ️ About button at the top with credits, build info, and license details.

ⓘ

Your Worker Bees

Your Worker Bees are the AI assistants that act as reviewers each round. They each read your document independently and submit a numbered list of specific suggestions for improvement. The Builder then reads all of those suggestions and rewrites the document.

💰 Real-world cost (measured) About 30 cents per full hive review. $5 typically covers ~15 reviews; $10 covers ~30; $20 covers ~60. Numbers from real 10-AI hive runs analyzed via DeepDive capture. Most users top up once a quarter, not once a week. Per-provider rate breakdown on the AI API Pricing page.
How many do you need? At least two AIs with saved API keys. WaxFrame won't let you proceed until this requirement is met. The more reviewers you have, the more perspectives the Builder has to work with — but even two gives strong results.
API keys Each AI requires its own API key from its provider. WaxFrame connects directly to each AI on your behalf using these keys. You are billed by each provider for the tokens you use — WaxFrame itself does not charge per use.
What it costs One-time API credits, not monthly subscriptions. Gemini has a generous free tier (with billing left off your Google AI Studio account) — pair it with one paid provider (about $5 in credits) and you have the two AIs needed to start. The paid providers (ChatGPT, Claude, Mistral, xAI, Perplexity) start around $5 each in one-time credits. A 3-AI hive runs about $10; all six providers about $30 total — versus the $120+/month an equivalent stack of consumer subscriptions would cost. Heads up: once you enable billing on Google AI Studio, Gemini can start charging per token — watch your AI Studio usage page(opens in a new tab) during longer runs, especially with Gemini as Builder. Per-provider pricing and billing links are in the API Key Guide.
AIs without keys AIs without a saved key are displayed but skipped automatically every round. They stay in your hive and are ready to use as soon as you add a key.
Toggling AIs per session On the Work screen you can toggle individual AIs on or off for the current session using the Edit Hive button — without losing their saved keys. Useful if you want a faster round or are testing specific reviewers.
Custom AIs & model servers Running WaxFrame against an internal gateway (Alfredo), self-hosted Open WebUI, Ollama, or any other custom endpoint? Use Add Custom AI or Import from Model Server to get those endpoints into your hive. If you want a clean workspace with only your imported models visible, use Hide All Defaults to clear the public AIs out of the way — they stay in the system and can be reset back in with one click.
Model diversity matters The reviewer hive works because each AI has different training, different biases, and a different sense of "good." A hive of six AIs that are all the same underlying model (or near-identical fine-tunes of the same family) is functionally one reviewer with six voices — convergence is fast because they were never going to disagree, but the result is no better than a one-shot. When using Recommend Models for All, check the picks afterward and override any that landed on the same family. Minimum: at least two distinct model families (e.g., ChatGPT + Claude). Three or more is better.
CORS errors CORS is a browser security rule that decides whether a webpage running at waxframe.com is allowed to read responses from a given API endpoint. The 6 default providers (Anthropic, OpenAI, Google, Mistral, xAI, Perplexity) all whitelist browser clients, so you'll never see CORS errors with default keys. You'll see them with custom endpoints — Open WebUI / Ollama / internal gateways like Alfredo — when the gateway operator hasn't added Access-Control-Allow-Origin for browser callers. The fix is on the gateway side, not on WaxFrame's side. Click the ⓘ on Test All Keys for the full troubleshooting reference.

💡 Don't have keys yet? Open the API Key Guide for step-by-step instructions and direct billing links for each provider.

ⓘ

The Builder

The Builder is the AI that actually rewrites your document each round. While your reviewers each read the document and give numbered suggestions, the Builder reads all of those suggestions plus the full document and produces the updated version.

The Builder's two roles In a full round (Smoke the Hive) the Builder is the synthesizer — taking every reviewer's suggestions and producing the new document. Between rounds it's also your handyman: write a directive in the Notes drawer ("rewrite the first paragraph," "stop saying 'refine' so much") and click Send to Builder to have it perform just that task without running the full hive. After the Builder finishes, click Smoke the Hive when you want the reviewers to weigh in on the change.
Why it uses more tokens Every round, the Builder processes the entire document plus every reviewer's suggestions in a single request. This is significantly more tokens than any individual reviewer uses. A paid API subscription with sufficient capacity is required — free-tier accounts will fail mid-round.
Which AI should I choose? Claude, ChatGPT, Gemini, and DeepSeek all handle large documents reliably. DeepSeek is the most cost-effective option by a wide margin. If a round fails with a missing output structure error, switch to ChatGPT or Gemini — they tend to be the most consistent at following strict formatting instructions under heavy load.
Can I change it later? Yes — you can change your Builder at any time from the Work screen using the Change Builder button. You are not locked in.

💡 See What Are Tokens? for a full breakdown of token costs across providers and how to keep your usage costs low.

ⓘ

Working Document

This is the live version of your document. Every round, the Builder rewrites it in full based on reviewer suggestions. You can edit it directly at any time between rounds — the AIs reference line numbers, so the numbering updates automatically as you make changes.

Editing directlyClick anywhere in the document and type. The hive will see your changes in the next round.
Line numbersAIs reference line numbers in their suggestions so the Builder can locate changes precisely. Don't worry about the numbers — they update automatically.
ⓘ

About Length Constraint

Pick a mode that matches what your document needs. The Builder is told the rule for the mode you choose, and round-end and convergence-time guards fire accordingly.

No limitNo length gating. The Builder gets no length instruction. Use when length is irrelevant or you want the hive to choose what fits.
Hard capCeiling only. The Builder is told "stay at or below the limit; shorter is fine." Round-end and convergence-time guards fire only when the document goes over. Use for tweets, cover letters, single-page summaries — anywhere there's a maximum but no minimum.
TargetAim to hit a specific value. Both ceiling and floor guards are armed against the same number. Round-end checks are trajectory-aware so you only get prompted on rounds that move away from the target. Use for strict word-count submissions, fixed-length essays, or any "exactly N" requirement.
RangeStay between a minimum and maximum that you supply. The Builder is told to aim for the middle of that range. Both guards armed against their respective bounds. Use for "between 800 and 1500 words", "3 to 5 paragraphs", or any document with both a floor and a ceiling.

Length is measured in your chosen unit — characters, words, paragraphs, or pages. Pages cannot be measured directly from text, so they're approximated using 600 words per single-spaced 12pt page; the other three are direct-counted.

CharactersCounted directly. Matches how web forms, SMS counters, and social media count. Accurate for plain English. Emoji and complex scripts can count differently than what appears on screen.
WordsCounted by whitespace separation. Matches how most submission forms count. Can differ from Microsoft Word by 1–2% on hyphenated terms or URLs.
ParagraphsCounted as blocks of text separated by blank lines. Headings and bullet lists count as paragraphs if they're separated by blank lines.
PagesApproximated using 600 words per single-spaced 12pt page (industry-standard typewriter math — Word's default and what most word processors round to). 1 page ≈ 600 words, 2 pages ≈ 1200 words, 5 pages ≈ 3000 words. WaxFrame cannot measure pages directly — actual page count depends on font, margins, and line spacing. For firm limits, aim slightly under.
ⓘ

Conflicts

When AIs disagree on something, the Builder flags it here rather than making an arbitrary call.

The panel always shows conflicts from the most recent round only — it is not a project-wide completion indicator. "No conflicts" can mean any of three things: the round was a Builder-Only round (no reviewers ran), the round was Round 1 of a from-scratch project (the Builder writes the first draft before reviewers have anything to evaluate), or the round was a full reviewer round and everyone happened to agree on the changes. None of those mean the document is finished.

The document is "done" when the hive reaches ✓ Converged — a majority of reviewers agree there are no more changes needed. Before that point, keep running rounds with Smoke the Hive, or click 🏁 Finish if you're already satisfied with the current draft.

User DecisionThe Builder found competing suggestions and needs you to choose. Pick one of the AI-generated options, type your own resolution, bypass if you've already fixed it directly, or decline to suppress it entirely. Your decision is applied immediately and locked.
Builder DecisionThe Builder made a judgment call on your behalf. Review what it chose. If you disagree, select a different option or type your own and hit Apply.

💡 Click the Current: label on any conflict card to jump directly to that line in the working document.

ⓘ

Live Console

The Live Console shows everything happening in real time — which AIs are sending, responding, succeeding, or failing, with timestamps and response previews.

Round entriesEach round starts with a divider showing the round number and phase. Sending, response, success, and error entries follow for each AI.
ErrorsAPI errors, rate limits, and connection failures appear in red with the HTTP status code and a plain-English explanation.

💡 Use the Copy button to grab the full console log for troubleshooting.

ⓘ

The Hive

Your hive is the team of AIs collaborating on your document each round. Every checked AI with a saved API key participates automatically. AIs without a key are skipped silently.

ReviewersEvery AI in your hive reviews the document each round — reading it in full and submitting specific numbered suggestions.
BuilderThe Builder both reviews and builds. In a full round it reads all reviewer suggestions and rewrites the document. Between rounds it also acts as your handyman — give it a directive in the Notes drawer ("rewrite the first paragraph", "stop saying 'refine'") and click Send to Builder to make a targeted change without running the full hive. Then Smoke the Hive to see if the reviewers agree. The Builder uses significantly more tokens than reviewers and should have a paid API key. DeepSeek is the best value, though it's the slowest responder so expect longer rounds. If a round fails with a missing output structure error, try switching to ChatGPT or Gemini.
Status indicatorsIdle → Reviewing → Done → Building. Each AI shows its current status live during a round.
ⓘ

Export Filename Mask

The filename mask lets you customise the name of your exported .txt file using tokens replaced automatically at export time.

{name}Replaced with your project name, sanitised for use in filenames.
{version}Replaced with your project version number. If no version is set, defaults to "v1".
ExampleA mask of {name}_final_{version} with project name "My Report" and version "v2" produces My_Report_final_v2.txt.

💡 Leave the mask blank to use the default format: ProjectName_version.txt

ⓘ

Starting Document

The three buttons — Upload File, Paste Text, and Start from Scratch — are mode selectors, not action buttons. Click one to choose how you want to provide your starting document.

Upload FileClick the drop zone to browse, or drag a file directly onto it. Supported: Word (.docx), PDF, PowerPoint (.pptx), plain text (.txt), Markdown (.md).
Paste TextClick inside the editor that appears and paste your text directly.
Start from ScratchNo further action needed — the hive will generate a first draft from your project goal.

💡 PDF tip: PDF extraction works best with digitally-created documents. Heavily designed or scanned PDFs may extract poorly — try Paste Text if that happens.

ⓘ

Notes

Notes are directions for the Builder only — not sent to reviewers. They apply to the next round only and are cleared automatically after that round runs. Use Notes for one-round-only instructions; for rules that must survive every round, put them in Additional instructions on the Project screen instead.

Notes pair powerfully with the Send to Builder button: write a directive ("rewrite the first paragraph," "stop saying 'refine'", "tighten the conclusion"), click Send to Builder, and the Builder performs just that task without running the full hive — like asking a handyman for a specific repair. After it's done, click Smoke the Hive to see if the reviewers agree with the change.

🔒 Lock a linePrevents the Builder or reviewers from changing a specific line. Paste the exact text between the quotes — paraphrasing or line numbers will not work because the AIs pattern-match against the document text.
🔒 Lock a sectionProtects a block of content starting at a specific heading or first line. Paste the section heading exactly as it appears.
↩ Reverted documentTells the Builder you have manually reverted the document to an earlier state. Instructs it to ignore all changes from the previous round and treat the current text as the new baseline.
🚫 No new sectionsCaps the Builder to working within the existing document structure. Stops it from adding headings or creating new sections during the next round.
Freeform notesType your own instructions below the template buttons. Good for targeted direction like tighten the third paragraph or the conclusion needs to be more decisive.
📋 CopyCopies the current Notes text to your clipboard. Useful if you want to reuse a complex instruction in a later round.
✕ ClearWipes the Notes field. Does not undo — use with intent.

💡 Quoting the exact text from the document is more reliable than citing line numbers — line numbers shift as the document evolves, but exact text is stable.

ⓘ

Reference Material

Reference material is source documentation the hive consults every round but never edits — job descriptions (rules and responsibilities), RFP requirements, style guides, scoring rubrics, prior decisions, vendor claims. It is sent to every reviewer and to the Builder so they can cite against it.

Distinct from NotesNotes are round-to-round directives for the Builder only and apply to the next round. Reference material is standing source material sent to every reviewer every round.
Distinct from Starting DocumentThe Starting Document is the document under construction — the hive rewrites it. Reference material is read-only source material the hive cites against.
When to use itRFPs, job descriptions, style guides, scoring rubrics, prior consensus decisions, vendor claims you need to cross-check against.
When to skip itMost short documents do not need it. A cookie recipe or thank-you note has no source material to cite against.
Editable mid-sessionUse the 📚 Reference button on the Work screen to edit reference material between rounds. Edits apply to the next round.
Multiple documents supportedAdd as many references as you need — paste your own text or upload files. Each one is independently named, reorderable (▲ ▼ arrows on the card), and removable. Order matters: the first document reads as most authoritative to the hive, and the hive sees them with labeled section headers so AIs can cite specific documents by name.
Token cost realityReference material is sent to every reviewer every round. A 5,000-character RFP roughly doubles your prompt size, which roughly doubles per-round cost. Pick a cost-conscious Builder when reference material is large.

💡 Trim reference material to what is most important. The hive cannot read what you do not paste — but it also costs you money for every token.

ⓘ

Token Estimate

The token count shown is an estimate based on characters / 4, which is the standard rule of thumb for English text in OpenAI-family tokenizers. Real tokenizers vary by model, language, and content type.

Use this number to gauge cost order of magnitude — a 5,000-character reference doc is roughly 1,250 tokens per request, sent to every reviewer every round. A 6-bee hive running 4 rounds = 30,000 tokens just for reference material, before any document or response content.

Dev Tools

WaxFrame Unlocked!
Welcome to WaxFrame Pro!

A little more room, please

Thanks for stopping by! WaxFrame's work screen shows several AI Worker Bees, your document, and the Builder's synthesis side by side — so it needs a window at least 1366 × 768 px to lay everything out (1600+ wide is best).

Your browser viewport: — × —
Required minimum: 1366 × 768

If you're on a desktop or laptop: resize this browser window or dock dev tools to the bottom and you'll be in. Important: if your screen resolution looks fine but you're still blocked, check your browser zoom level (Ctrl+0 to reset) and Windows DPI scaling (Settings → Display → Scale; 200% halves your effective viewport). If you're on a tablet, please switch to your computer.

WaxFrame
Many minds, one refined result.

Thanks for finding us 👋

WaxFrame puts a team of AI Worker Bees on your document at the same time — ChatGPT, Claude, Gemini, Grok, Mistral, Perplexity, and others all reviewing and refining in iterative rounds, with a Builder AI synthesizing their feedback.

It's built to run on a desktop or laptop where you can see your Worker Bees, the document, and the Builder's output side by side. A phone screen can't fit all that at once, and editing a document while it's bouncing between multiple AIs is hard enough without squinting at it.

Free 3-round trial. Unlock unlimited rounds with a $19 lifetime license — no subscription, no recurring charges, ever.

📌 Bookmark waxframe.com and open it from your laptop when you're ready.

About WaxFrame

WaxFrame

Many minds, one refined result.

v3.63.224 Pro Build 20260608-026

Browser-native document refinement powered by your own AI keys, your hive configuration, and a local-first workspace.

Version

v3.63.224 Pro · Build 20260608-026

Stack

Vanilla HTML, CSS, JavaScript — no frameworks, no server, no install required.

License

AGPL-3.0 — open source, free to use and modify with attribution.

Author

R David Paine III — weirdave.com(opens in a new tab)

Testing

Candy

Built with ❤️ by WeirDave, Claude, and Codex.

🔍 Verify & edit — document

Please check the extracted text on the right and adjust anything that doesn't match. If there are too many things to fix, try the Re-scan button to get another AI to look at it. If it looks good, we recommend saving a copy by using the Save as .txt button. Otherwise, click Proceed when you're satisfied.

Show technical details
Original

Preview isn't available for this file type in the browser.

Edit the extracted text on the right — that still saves normally.

Extracted text (editable — type to fix it)