0 / 0
No suggestions
Built by Kevin Bryan Revised by Stephan Lauermann

Modern Editor



→

Simplification Options (Esc to close)

Original Text

Analyzing...

Document Summary (Esc to close)

Import Corrections

Choose how to bring corrections into the editor:

Example loads the sample document and sample corrections so you can see how highlights look without calling the API.

Paste Corrections JSON (Esc to close)

Paste a JSON object of the form {"corrections": [{ "original": "...", "corrected": "...", "explanation": "...", "type": "grammar" }]} generated by ChatGPT or another model for this exact document.

Use Validate to check alignment without applying changes.

Tip: if JSON import fails, try the Unstructured Comments import, or regenerate JSON in two steps: (1) ask for a table with columns [original sentence, comment, correction], then (2) turn that table into the JSON shape above.

Prompt examples: grammar | fact-checker | generic | check-everything | translate comments → JSON (full) | translate comments → JSON (lite)

Example JSON you can paste: sample_comments.json

JSON schema preview
  • corrections: array, ordered as they appear in the document.
  • original: required string; exact text to anchor (escape backslashes as \\).
  • corrected: required string unless type is "comment".
  • explanation: optional short note shown in the popover.
  • type: optional; grammar | style | comment.
  • Escaping: keep LaTeX braces, math mode ($...$), and macros; JSON still needs \\ for backslashes.
{
  "corrections": [
    {
      "original": "We prove that $f(x) = x^{2}$ {see Appendix A}.",
      "corrected": "We prove that $f(x)=x^{2}$\\, (see Appendix A).",
      "explanation": "Tighten math-mode spacing and keep braces literal.",
      "type": "grammar"
    },
    {
      "original": "Let \\alpha_n denote the sequence in \\mathcal{F}.",
      "corrected": "Let $\\alpha_n$ denote the sequence in \\mathcal{F}.",
      "explanation": "LaTeX macros stay escaped (\\\\alpha_n, \\\\mathcal).",
      "type": "style"
    }
  ]
}
Anchoring options for matching original strings; applied to validation and import.

Global Diff (Esc to close)

Import Comments (Esc to close)

Paste unstructured review comments here. We will convert them into structured corrections for the current document.

Template: prompt_import_comments.md

Example: example-unstructured-comments.md

Include IDs (if present) and comment text. We will keep IDs and map them to structured corrections.

Deep Audit Target (Esc to close)

Describe the specific statement, lemma, proof step, or derivation to audit. This run produces a deep audit report and structured, anchored suggestions.

Automatically populated if some part of the paper is highlighted.
Deep audits can take a very long time (often 15–30 minutes). Keep this tab open.
Deep audits ignore supporting files. Avoid uploading them for this run.

Deep Audit Report (Esc to close)

Deep Audit Prompt (Esc to close)

Review or customize the deep audit prompt. Custom edits are stored locally.

Reference file: input/deep_audit_target.md

Custom / User Instructions (Esc to close)

Describe the edits you want. Be specific about scope, tone, and constraints. Preserve meaning unless you request a rewrite. Start from a preset if helpful.

Tip: attach supporting files and enable Web/Python tools in the menu if you want the model to use them.

Scope
Editing strength

Run history

Run history can store prompts/responses locally (IndexedDB) so they can be reviewed or downloaded later.

Warning: Stored runs live in this browser profile and can be read by anyone with access to it.

Quick start

  1. Paste or upload a document, or select a passage to focus.
  2. Choose a model and reasoning effort in the menu, then run Grammar, Style, Everything, or Custom.
  3. Review suggestions: use left/right arrows to move, Enter to accept, Backspace/Delete to reject.
  4. Conveniently get a prepaid API key at OpenRouter (broad model access across providers) and paste it via the menu.

Tools

  • Grammar / Style / Everything: Rule-based passes over the selection or full document.
  • Custom: Edit instructions, scope, and aggressiveness; start from a preset if helpful.
  • Simplify: Creates three simpler rewrites of a selected passage.
  • Proof: Beta logic check for a selected theorem and proof.
  • Custom Ask: Ask a question about selected text; returns comments plus suggestions.

Selections include a small read-only context window. You can optionally add the full document as an extra read-only context message (costly). Full-document runs include the LaTeX preamble.

Models: OpenAI (default), OpenRouter (supports custom model ids like openai/gpt-5.2), and Gemini. Tools (web/python) are OpenAI-only; supporting files are sent only with OpenAI.

Files and history

  • Upload: Replace the document or add supporting files (PDF, markdown, LaTeX).
  • Supporting files: Sent with your prompt (OpenAI only) and count toward cost.
  • Run history: Optional local storage in this browser profile.
  • Sessions: Save or load snapshots from the menu.
  • Request timeout: Optional menu setting; Off by default. Use it if a run hangs.

Privacy and safety

  • Data: Selected or full text is sent to the chosen model provider.
  • Local storage: Keys, sessions, run history, and file metadata may be saved locally.
  • Sensitive data: Avoid if you cannot send it to an external provider.

Created by Kevin Bryan (University of Toronto). Revised by Stephan Lauermann.

kevinbryanecon.com | alldayta.com | kevin.bryan@rotman.utoronto.ca

Upload Document

Upload a new document for editing. This replaces the current document.

Drag and drop a .tex or .txt file here

or

Supporting Files

Drag and drop supporting files here

or

Attachments are skipped when chunking is active. Increase the chunk size to include them.
Plain text (markdown/latex) is preferred; PDFs are slower and more expensive.
Supporting files count toward token usage and cost.
Stored OpenAI file IDs
These IDs reference files stored at OpenAI. Reattaching uses your current OpenAI key.
Recent supporting files (name, size, date/time)

Confirm Supporting Files

Selection Context

Include the full document as additional context for this run?

Local context always includes ±1000 characters around each selection.

API access

Connect your providers

Paste the key for any provider you plan to use. Nothing is sent until you run a request.

OpenAI

Format: sk-...

Paste your OpenAI secret key from platform.openai.com.

Gemini (Google)

Format: AIza...

Use the API key from Google AI Studio.

OpenRouter

Format: sk-or-...

OpenRouter key for routing through your account.

OpenRouter custom model

Optional

Paste a full OpenRouter model id (e.g., openai/gpt-5.2 or openai/gpt-4.1). Leave blank to use your OpenRouter account default.

Reasoning level is set in the Reasoning dropdown (Auto uses task defaults). For thinking models like gpt-5.2, pick Reasoning: High.
Warning: Stored keys are only obfuscated. Anyone with access to this browser profile could recover them.

Welcome

You can explore Modern Editor without an API key. Try the offline example, add a key, or import JSON corrections.