WaxFrame gets a team of AIs to work together to write and refine your document. This guide walks you through the whole process from start to finish — step by step, in plain language. No prior AI experience needed.
You tell WaxFrame what document you need. Multiple AIs each read it and suggest improvements. A separate AI — the Builder — weighs all the suggestions, applies the best ones, and produces an updated document. You repeat that process — called a round — until the document is good enough to use.
Think of it like having five sharp colleagues review your draft simultaneously, then one editor incorporate all their notes. Except it takes about two minutes per round instead of two weeks.
Setup screen — where you configure which AIs you're using and enter your API keys. You do this once and your settings are remembered.
Project screen — where you enter the goal for your document and, if you already have a draft, paste it in. This is also where you clear a project and start fresh.
Work screen — where the action happens. You run rounds here, watch the AIs work in real time, review the updated document, and handle any conflicts the Builder couldn't resolve on its own.
WaxFrame talks directly to AI providers on your behalf. To do that, it needs an API key from each AI provider you want to use. An API key is simply a password that proves to the provider that you have an account and gives WaxFrame permission to send requests on your behalf.
You'll need keys from at least two providers — one for your reviewers and one for your Builder. Most providers let you sign up and get a key in a few minutes, and many offer free credits to get started.
Your API keys are stored only in your browser. They never leave your machine and are never sent to WaxFrame or anyone else — only directly to the AI provider you're using.
When you first open WaxFrame, you can run up to 3 rounds completely free. No account, no credit card, no sign-up. Just open the app, set up your AIs, and go. The free rounds are a chance to try the full product and see how it works before committing to anything.
After your 3 free rounds, WaxFrame will prompt you to enter a license key to continue. You can still view your session history and export your documents — you just can't start new rounds without a key.
Free rounds count from the first time you use the app in a given browser. They don't reset when you start a new project.
A WaxFrame Pro license is a one-time purchase — no subscription, no recurring fees. Buy once, use forever. You get a license key that you enter into the app to unlock unlimited rounds.
Purchase at: weirdave.gumroad.com/l/WaxFrame
You can also reach the purchase page directly from the Menu → Buy WaxFrame Pro.
Your license is stored in your browser. If you switch to a different browser or computer, you'll need to re-enter your key — the key itself is reusable, so just repeat the steps above.
Whether you're running WaxFrame from the hosted version or a local ZIP download, the same files power the app. If you've opened the folder and are wondering what to click — the answer is index.html. Everything else loads automatically and you never need to open it directly.
| File or Folder | What it is | Do you open it? |
|---|---|---|
index.html | The app itself. This is WaxFrame. | Yes — double-click this to launch |
app.js | All the logic that makes WaxFrame work. | No — never open or edit this |
style.css | Controls how everything looks. | No — never open or edit this |
theme.js | Handles light/dark mode switching. | No — never open or edit this |
api-links.js | Stores API console and billing URLs for each provider. | No — never open or edit this |
waxframe-user-manual.html | This document. Opens from the Menu inside the app. | No — opens from the app |
api-details.html | API Key Guide — step-by-step key setup and billing links. | No — opens from the app |
what-are-tokens.html | Explains tokens and how to keep API costs low. | No — opens from the app |
document-playbooks.html | Pre-written goals for common document types. | No — opens from the app |
prompt-editor.html | Advanced prompt customisation for power users. | No — opens from the app |
images/ | Icons and graphics used by the app. | No — leave this folder alone |
screenshots/ | Screenshots used in documentation and marketing. | No — leave this folder alone |
sounds/ | Audio assets used by the app. | No — leave this folder alone |
docs/ | Reference documents and Word source files for the guides. | No — leave this folder alone |
WaxFrameGettingStarted_v2.pdf | Quick-start guide for new users. | Yes — read this if you need setup help |
WaxFrameREADME_v2.pdf | Full product overview and feature reference. | Yes — useful reading before your first session |
⚠️ Keep all files together inside the same folder. Do not move index.html out on its own — it needs the other files alongside it to work correctly.
index.html is a web page file — the same kind of file that makes up every website you visit. Your browser (Chrome, Edge, Firefox, Safari) knows how to open it. The difference is that this one lives on your computer instead of on the internet, so nothing is sent to any server when you open it.
Double-click index.html and your browser opens WaxFrame just like any website. If nothing happens, right-click the file and choose Open With, then pick your browser from the list. Chrome or Edge work best.
Once WaxFrame is open, bookmark it in your browser — next time, just click the bookmark. On Windows you can also right-click index.html and choose Send To → Desktop to create a shortcut. On macOS or Linux, keep a browser bookmark or create your usual desktop shortcut.
Your API keys, custom AIs, and preferences are stored in your browser's local storage — not inside the WaxFrame folder. This means:
Your documents and round history are stored in IndexedDB, also in the browser. Use the Export and Full Transcript options to save important work as files outside the browser.
⚠️ Upgrading WaxFrame? Your API keys and settings are tied to the folder path your browser uses to open WaxFrame. To keep your settings when upgrading, always replace the files inside the same folder rather than creating a new folder with a different name. If you open WaxFrame from a new folder path, your browser will treat it as a completely separate app and your keys will not carry over.
When you first open WaxFrame you'll land on the welcome screen. Click Let's get started to go to Setup.
The Setup screen has two sections: Your Worker Bees (the reviewer AIs) on the left, and Your Builder on the right.
Don't have API keys yet? Click the Get Key link next to any AI to go directly to that provider's sign-up page. Most providers have a free tier — Gemini in particular is a great starting point at no cost.
The Builder is the AI that incorporates all the reviewer suggestions and rewrites the document each round. It does significantly more work than any single reviewer, so choose an AI with a key saved.
Not sure which to use as Builder? DeepSeek is the most cost-effective option by a wide margin. ChatGPT and Gemini are solid alternatives if you run into issues.
Once you have at least two API keys saved and a Builder selected, the Continue to Project Setup button at the bottom will activate. Click it to move on.
WaxFrame comes pre-configured for six public AI providers. But you can also connect any AI that uses an OpenAI-compatible API — including local models running on your own machine (like Ollama or LM Studio), third-party providers like Mistral or Together AI, and enterprise AI systems running inside your organisation's network.
To add one, go to Setup and click + Add Custom AI at the top of the Worker Bees panel. A form will open.
/v1/chat/completions. Example: https://ai.yourcompany.com/v1/chat/completionsOnce you've entered your endpoint URL and API key, click Fetch Models. WaxFrame queries the provider's /v1/models endpoint and returns a dropdown of available model IDs. Select the one you want.
If the fetch fails or the endpoint doesn't support model listing, fall back to typing the model ID manually. Your IT team or the provider's documentation will have the exact string.
Click Test Connection to fire a real minimal API call before adding the AI to your hive. WaxFrame shows you:
If the test fails, WaxFrame shows a plain-English hint for common error codes:
⚠️ The Add to Hive button only appears after a passing test. If you change any field after a passing test — URL, key, model — the result resets and you must test again. This prevents a stale passing result from being used to add a misconfigured AI.
Once added, your custom AI appears in the Worker Bees list alongside the built-in providers. It can be toggled on or off between rounds, used as a Builder, and removed at any time. Custom AIs are saved in your browser and will still be there when you reload WaxFrame.
You need at least two AIs with saved keys to run a round. If you're using only custom AIs (for example, in an internal-only deployment), add at least two before trying to continue to Project Setup.
Every AI reads your goal before touching your document. It tells them what the document is, who it's for, what it should and shouldn't include, and what outcome you need. A vague goal produces a vague document. A specific goal produces something you can actually use.
The Project screen is where you enter your goal. You'll also paste your document here if you already have a draft. If you're starting from scratch, leave the document area empty.
Too vague "Compare wireless platforms for our company."
Much better "Create a technical comparison of enterprise wireless networking platforms — HPE Aruba, Cisco Meraki, Juniper Mist, and Extreme Networks. Audience is our IT infrastructure team evaluating a campus refresh. Scope is strictly wireless: access points, controllers, cloud management, and licensing. Do not include switching, routing, or security products. The output should help the team make a shortlist recommendation."
The first 300 characters of your goal are sent to every AI as active context in every round. A counter next to the goal field turns amber when you pass that threshold — put your most essential instructions in those first 300 characters.
Paste your existing document into the document field below the goal. WaxFrame will treat this as your starting point and all rounds will refine what's there — it won't generate a fresh draft from scratch.
Once your goal is written and you've moved to the Work screen, click Start Round. You'll see each AI light up as it works — they all run at the same time, so having more AIs doesn't mean it takes longer.
Your first round is a Draft round. Your complete goal is sent to every AI and they each write a first draft. The Builder then reads all the drafts, combines the best elements, flags anything the AIs disagreed on, and produces the first version of your document.
This typically takes 1–3 minutes depending on how many AIs you're using and how large your document is.
The working document — your document as it stands after this round. You can read and edit it directly.
The Suggestions panel — a list of what each AI suggested. You can read through these to understand what the reviewers were thinking.
The Conflicts panel — any points the Builder couldn't resolve on its own. These need your attention before the next round. See Step 4.
Before you run another round, read the document. Is it going in roughly the right direction? Does the scope look correct? Is the tone right?
If the first draft is way off — wrong scope, wrong format, wrong tone — don't keep running rounds on a bad foundation. Fix the goal first, then run Round 2. See When Things Go Wrong.
If the document looks directionally correct — even if it still needs a lot of work — continue to Step 4.
A conflict happens when two or more AIs disagreed on something and the Builder couldn't confidently pick a winner. Rather than make an arbitrary call, it flags it in the Conflicts panel and asks you to decide.
There are two types:
User Decision The Builder is stuck and needs your input. It won't proceed on this point until you weigh in — these take priority.
Builder Decision The Builder made a judgment call and kept moving. It's showing you what it chose in case you disagree.
Each conflict card shows you the current text and the alternatives the AIs suggested. You have three options:
Click the Current: text on any conflict card to jump straight to that line in the working document and highlight it — useful when you need to see the surrounding context before deciding.
Once you resolve a conflict, your decision is locked in. The AIs won't re-raise that point in future rounds — the hive treats your choice as final. This prevents the same debate from surfacing round after round.
⚠️ Note on Grok: Grok has a tendency to re-raise points you've already resolved. The conflict system handles most of these automatically. If it keeps looping on a settled point across multiple rounds, toggle Grok off from the Work screen for the rest of the session — its suggestions are most valuable in early rounds anyway.
Conflicts aren't just tiebreakers — they're one of your most direct tools for controlling what goes into the document. If a conflict surfaces content that's out of scope or off-tone, use the Custom option to replace it with something correct, or Decline to suppress it entirely. Either way, the decision is locked and the AIs won't push it again.
After your first round, all subsequent rounds are Refine rounds. Instead of writing a draft from scratch, the AIs now review what's there and suggest targeted improvements — tightening language, fixing inconsistencies, plugging gaps, improving structure.
The process is the same each round: click Start Round, wait for it to finish, read the updated document, resolve any conflicts, and decide whether to run another round.
Between rounds, you can type a one-time instruction into the Notes field on the Work screen. Notes go directly to the Builder for the next round only — after the round runs, the notes clear automatically.
Notes are useful for things like:
Scope corrections — "Remove all references to switching and routing. Wireless only."
Tone adjustments — "Tighten the language. This is a technical document — cut any marketing-style phrasing."
Structural changes — "Move the pricing section to after the feature comparison. Add a summary table at the end."
One-off additions — "Add a note in the intro that all pricing is subject to change and should be verified with each vendor."
If you find yourself typing the same note every round, move it into your goal instead — that's where permanent instructions belong.
The working document is editable at any time between rounds. If you can see exactly what needs to change — remove a paragraph, fix a heading, correct a fact — just edit it directly. The AIs will refine what's there in the next round and won't reintroduce content you've removed, especially once your goal explicitly excludes it.
In the Work screen, each Worker Bee has a toggle. If an AI has been consistently returning "No changes needed" for a couple of rounds, you can toggle it off to save API credits — it's done its job. You can also swap your Builder mid-session from the Builder menu if one AI is performing better than another.
WaxFrame doesn't have a fixed number of rounds — the hive keeps refining until you stop it. Here's how to tell when the document has reached a natural finishing point:
Multiple AIs return "No changes needed" in the same round. When reviewers start running out of meaningful suggestions, the document has converged.
Conflicts become fewer and more stylistic. Early rounds produce structural debates. Late rounds produce disagreements about individual word choices — a sign you're nearly done.
The document looks like something you'd actually send. Trust your own read. You're always the final editor.
Before finishing, toggle off any AIs that have been returning "No changes needed" for two or more rounds, and run one last round with just your most critical reviewers. This often produces the cleanest final pass.
When you're happy with the result, click Finish. WaxFrame will prompt you to export before clearing the session.
.txt file, including a byline showing how many rounds it took and how long the session ran.⚠️ Export your document before starting a new project. Your working document and round history are cleared when you do — they cannot be recovered.
You're a few rounds in and the hive has drifted — scope has crept in, the tone is off, or the AIs filled in gaps their own way. This happens. Here are your options, from lightest touch to nuclear:
Tighten the goal + add a Note (lightest): Go back to the Project screen via the nav menu and add explicit scope or tone instructions to your goal. Then before the next round, add a Note with immediate corrective instructions for the Builder — for example, "Do not include routing or switching. Wireless only. Remove any switching references already in the document." The updated goal sets direction going forward; the Note corrects the current pass.
Edit the document directly: If you can see exactly what needs to come out, remove it yourself, tighten the goal, and run the next round from a cleaner starting point.
Redirect through conflicts: If the drift is showing up as conflicts, handle it right there. Write a Custom resolution with the corrected text, or Decline to suppress the suggestion. Once resolved, it's locked.
Start over (nuclear): If the document has drifted badly enough that fixing it would take longer than starting fresh, use Clear Project on the Project screen. This clears the document and round history but keeps your API keys. Rewrite your goal with tighter scope and start again.
Starting over isn't a failure. A well-written second goal often produces a better round-one document than five rounds of correcting a draft built on a weak goal.
Occasionally an AI returns a response that doesn't match the format WaxFrame expects — you'll see a "Missing output structure" error on that AI's card. This usually means the AI had trouble following strict formatting instructions on a large or complex document.
What to do: Try switching your Builder to ChatGPT or Gemini and running the round again. Some AIs are more consistent than others at following precise output formats under heavy load.
The resolved-decisions system handles most cases automatically. If a particular AI — especially Grok — keeps surfacing a point you've already decided on across multiple rounds, toggle it off from the Work screen for the rest of the session. Its suggestions are most valuable in early rounds.
The most common causes: the key was entered with an extra space, the key has been revoked or expired, or the account has run out of credits. Go back to Setup, delete the key, and re-enter it carefully. Check your provider's dashboard to confirm the key is active and your balance isn't zero.
WaxFrame requires at least two AIs with saved keys and a Builder selected before it will allow you to run a round. If the Smoke the Hive button isn't active, go back to Setup and check that you have at least two key fields filled in and a Builder chosen on the right side of the screen.
AI provider websites change over time. If a URL in this manual or in the Getting Started guide no longer works, open the API Key Guide from the Menu inside WaxFrame — it always has the current links for every provider's key console and billing page.
If your organisation runs its own internal AI deployment — models hosted on company infrastructure, accessible only on your network or VPN — you can use those models in WaxFrame instead of, or alongside, the public ones. This means your documents stay completely inside your organisation's systems. No data leaves your network.
Common setups include enterprise versions of Claude, ChatGPT, and Gemini running through platforms like AWS Bedrock, Azure OpenAI, or a custom internal gateway. If your IT team has given you an API endpoint and a key or token, you're ready to go.
You need three things:
https://ai.yourcompany.com/v1/chat/completions. Ask specifically for "the OpenAI-compatible chat completions endpoint."gpt-4o, claude-3-7-sonnet, or gemini-2.5-pro. It must be exact. Ask your IT team for a list of available model IDs.Most enterprise AI platforms use the OpenAI-compatible API format. If your IT team isn't sure, ask: "Is the API OpenAI-compatible?" The answer is almost always yes.
By default, WaxFrame shows six public AI providers — ChatGPT, Claude, Gemini, Grok, Perplexity, and DeepSeek. If your organisation uses internal models only, you can hide the public ones individually using the Hide button on each AI row. Hidden AIs are excluded from all rounds and remembered across sessions. A banner at the top of the setup list shows how many are hidden, with a ↺ Restore Hidden button to bring them back.
Setting WaxFrame up for colleagues? Hide the public AIs first, add your internal ones, and they'll see a clean list with only the tools that work in your environment.
If WaxFrame is running from a hosted URL (like GitHub Pages) and your internal API endpoint is on a different domain, your browser may block the request due to a security rule called CORS.
The fix: run WaxFrame locally. Download the repo as a ZIP file, unzip it, and open index.html directly in your browser. A file opened locally has no cross-origin restrictions and can reach internal endpoints freely.
⚠️ If you see a "Network Error" when testing an internal AI, CORS is almost certainly the cause. Switch to running WaxFrame locally and the error will go away.
WaxFrame is free and open-source. It has no subscription, no credits, and no built-in payments. When you run a round, requests go directly from your browser to each AI provider's API, and each provider bills you separately based on the number of tokens used.
This means you need an active account with a payment method on file at each provider you want to use. Most providers offer a small free credit when you sign up, but sustained use will require topping up your balance.
API pricing is not fixed. Providers change their rates, introduce new pricing tiers, and add or remove models on an ongoing basis. What a round costs today may be different next month.
⚠️ Billing rates are set by each AI provider and can change without notice. Check the billing rate page for each provider you're using at least once a month.
You can reach each provider's billing and API key pages directly from the API Key Guide in the Menu. The Open All Billing Pages button on that page opens all of them at once.
When you click Open All Billing Pages or Open All API Consoles, WaxFrame attempts to open one tab per provider simultaneously. Most browsers block this by default and only allow the first tab through.
If you see a popup-blocked notification from your browser, click it and choose Always allow popups from this page. Then click the button again — all tabs will open. You only need to do this once per browser.
Perplexity has an unusual billing policy that can catch new users off guard. When you first sign up for Perplexity API access, you are given the option to enable auto-billing with a monthly spending limit.
⚠️ Enable auto-billing when you first sign up and set your monthly limit low — $5 is a reasonable starting point. If your initial credit runs out without auto-billing active, Perplexity will require a minimum top-up of $50 to reactivate your account. Opting in early avoids this entirely.
WaxFrame uses specific model versions for each AI provider. These are the defaults as of this version:
gpt-4.1claude-sonnet-4-6gemini-2.5-pro-preview-03-25grok-3sonar-prodeepseek-chatYou can see and change the model for any AI from the Setup screen — click the model name next to any AI to select from available options. WaxFrame fetches the current model list from each provider when you open the selector, so the options shown always reflect what's available on your account.