Show HN: Revise – An AI Editor for Documents (revise.io)
83 points by artursapek 13 days ago | 72 comments



arrsingh 12 days ago | flag as AI [–]

This looks really nice! Congratulations on building something awesome, especially in a space that's "crowded" with the big players.

I want to give kudos to two things:

1. It took you 10 months to build this. This is focused product development and craftsmanship which is very different from Vibe coding something. So let this be a reminder to all the "I can vibe code this or that in a weekend". Good products / experiences take time.

2. You've pursued building something in a space that anyone would normally dismiss right away: "Why would anyone use this? Google Docs/ Word etc already does this" or "MSFT / GOOG will destroy you". Good on you for picking something that is hard and building it well. I actually had this idea and almost built it but dismissed it myself for the same reasons as above. So reminder again for the builders in the back: Doesn't matter if there is a 800lb gorilla building this, if you can execute it better go for it.

Kudos!


> This is focused product development and craftsmanship which is very different from Vibe coding something. So let this be a reminder to all the "I can vibe code this or that in a weekend". Good products / experiences take time.

How do you know? There isn't a git repo that one can see the history of, he could have coded this in one weekend and used the rest of the time doing noncoding activities. Also, he could have made the entire thing by prompting without any hands on coding at all. The fact that it is a web app with a SaaS platform (the thing that LLM-assisted coding is the best at) doesn't inspire confidence.

arrsingh 12 days ago | flag as AI [–]

I signed up and gave the product a spin and its clear that its not some vibe coded weekend project. Clearly a lot of effort has gone into it and OP also was clear that they've spent 10 months on this.

> and used the rest of the time doing noncoding activities

That’s half of the point! Building (and selling) products requires a lot of those too.


if you can build this in one weekend, I'd like to hire you

Thanks, that's nice. Yeah it's been 10 months, and 7 of them completely full time... living off savings. I think there's plenty of room for innovation with word processors now that we have LLMs and the big players are unlikely to go far outside the box.
lewisjoe 11 days ago | flag as AI [–]

This is great work. I'm curious how did you get the agentic behavior integrated into your datamodel?

1. How does the AI read your document? have you exposed a JSON/XML?

2. How is AI generating edits over the document?

3. How are big documents presented to AI? Was minimizing token consumption a goal?

Fantastic work, btw!

jitl 12 days ago | flag as AI [–]

It's cool to see a brand-new WIYSIWYG editor on the web, especially one using canvas for rendering from the start. How did you go about architecting the rendering and input layer? What are you using for text shaping and layout?

Bugs I found:

- <tab> when in a 3rd-level indented list loses focus

- Double-click and drag gesture does not extend text selection

- Selection highlight is offset for indented paragraphs. If you select a range you can see the highlight incorrectly extended into the right-hand margin.

- Inconsistent repro: had some cases where select -> delete -> cmd-z would not fully restore my removed text (this could be my mistake)

- Toggling list style of a single indented list item can un-indent entire list, removing hierarchy; I would expect toggling to eventually return me to my original state.

- Frustration: cannot set range of indented list to ordered list without affecting all adjacent list items

- Frustration: cannot resize table rows vertically

- Frustration: on macOS, ctrl-a selects all, where the platform native behavior would be to move selection to the start of the current paragraph. ctrl-e should move selection to the end of the current paragraph, but does nothing. (macOS silently supports readline/emacs style keybinds for text editing)


haha wow this is an awesome list of bugs. thank you. yes all of this was built from scratch, as you can see :D

I will get all of these fixed

regarding rendering/text layout, it’s all based on measureText in the Canvas API. the layout engine is my own. documents are made up of “blocks” like lists and paragraphs and each implements its own rendering, cursor movement, and layout logic.

I am going to start a dev blog where I get into the weeds. but will fix these bugs first.

if you find more like that please email me art@revise.io


Impressive that you built the rendering layer from scratch on Canvas. Curious about one thing though, how do you handle accessibility? With contenteditable you get a lot of browser accessibility features for free (screen readers, selection, input methods). With Canvas rendering you'd need to reimplement most of that manually.

I've been working on a ProseMirror-based editor and the biggest lesson was how much the browser gives you for free with contenteditable, even though it's painful to work with. IME input handling alone took weeks to get right, and that's with the browser doing most of the heavy lifting. Starting from Canvas seems like an order of magnitude harder.

How's the IME/CJK input working? And does it play nice with browser spellcheck?


I developed my own selection and input handling. The app focuses on a hidden input and it extracts the events when you hit keys, and handles them in my editor engine. I haven't done extensive testing but it works pretty well for foreign languages, I've even added decent support for RTL ones like Arabic.

I haven't thought much about accessibility, it's not really a priority for the project right now. If the project really gets big I might revisit that. Google docs is canvas-based, so that was enough precedent for me.


Bank Street Writer was the first software program I fell in love with, 3000 years ago in the cretaceous era. When I just tried your app it gave me that same thrill, and I haven't thought about that app in 2700 years. Well done!
patate007 12 days ago | flag as AI [–]

I'm building a similar project, and I may open-source it. I'm using OnlyOffice and a coding agent that modifies the files with Python libraries in a sandbox (e.g. python-pptx for PowerPoint files).

Have you also considered using a solution like OnlyOffice for your product? Or a "Notion-like" lib such as Tiptap or PlateJS?


I definitely looked at TipTap and ended up building off their Y.js backend, which is great: https://tiptap.dev/docs/hocuspocus/getting-started/overview

I wanted to build something canvas-based, so that eliminated most of these options. I also just wanted full control of that part of my stack... it's the core product after all. There are several TipTap/ProseMirror wrappers out there already.

You should share yours though, would be interested to see


Building a word processor from scratch is either the most masochistic thing you can do as a developer or the most liberating. I've been tempted to roll my own document engine for internal tooling at work but always chickened out and went with something like Quill. The fact that you stayed in the weeds on architecture while using AI coding tools is interesting - most people I know either go full hands-off or don't trust the tools enough to use them for core infrastructure decisions.

It was pretty painful and frustrating, but now that it's relatively stable I'm really happy I took that path. I have full control!

I think the way people approach agentic coding depends on their career experience. I had my project acquired previously at the acquiring company hired a large team to work on it. This forced me to go from being a solo dev to a technical manager who's got dozens of people working on code. I treat codex/claude the same way as that; I am leading the ship and it's doing most of the heavy lifting. It's leverage and helps you get more done if you give the right guidance, constraints, and acceptance criteria.


Very cool!

It’d be very cool to have a “remove signs of AI writing” feature (based on https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing) - wishing you great success reinventing this space for the new era!


Thank you! I have considered adding some settings like this, but don't want to encourage the use of this software for cheating.

For now, the catch-all solution that anyone can attempt to use is the custom prompt, under account settings. You can instruct it never to use emdash, avoid certain cliches, or simple things like that. But you have to write it yourself for now, there's no convenient presets or anything like that.

If you have ideas please email me art@revise.io


Why make it your business what people use it for?

We don’t do that with hammers, or guns. In the case of the latter, manufacturers outsource policing the thing’s use, and everyone understands that.

Surac 12 days ago | flag as AI [–]

Subsciption and Online means not for me

Agreed. The developer has the right to share his labors any way they want. I fully respect that.

I also don't object to paying for something I find useful or valuable. But I really hate subscription-ware.

But I'm a local-first privacy-focused user and only by self-hosting a tool am I comfortable using it.

So for me this tool is also a no-go.


sounds like you be more open to it if Revise worked as a native app (Tauri) with ability to run it against your own LLM endpoint/keys

this may be something I offer one day, with some kind of one-time license. I can't really make this work without a subscription right now, because it relies on servers I host and LLMs provided by 3rd parties which have metered billing.

swolfe 11 days ago | flag as AI [–]

I tried it for a few weeks before the pricing changed. The editor itself is genuinely good -- revision suggestions felt more contextual than most tools I've used. But yeah, no offline mode and no data export killed it for me too. Once your documents live on their servers, you're renting your own writing.

A bit similar to Lex, which I love using for writing, but bringing any doc over is very useful.

Yeah Im aware of Lex. I think it falls short in a lot of ways. If you have ideas of how Revise could improve for writing, please email me your thoughts art@revise.io
washbasin 12 days ago | flag as AI [–]

Er, is right click disabled on this page? Certainly seems to be in any browser I pick. If so, why?

Unintended, thanks. fixed

Anecdote from a frustrated typer. There are no good word processors. MS office and Libre/open-whatever-they-call-it-now-office are bloated mess. I did a deep dive on this a few months ago, and there are 0 light/good options. There are a few that show up in google searches, but they are all disappointing in one way or another.

So, thoughts on a non-AI lightweight word processor.

jitl 12 days ago | flag as AI [–]

Pages.app on Apple platforms is free-as-in-beer, native & instantly responsive UI, launches in a handful of milliseconds, collaborative. Unsure if you would consider it a bloated mess or not; the UI is pretty minimal but still competent for most work.

Revise is that, actually. It's a free, lightweight, fast word processor at its core. It also has real-time collaboration, also free. You don't need to use the AI features.

It even supports code blocks, LaTeX, and Mermaid diagrams.

Also, the passive spelling/grammar checking in the editor is powered by LLMs and completely free. It will catch mistakes that other word processors won't, such as malapropisms.


Ty; will check it out. That wasn't one of the one I looked at.

Edit: Ah I see, from the OP. Unfortunately, I think Subscription-based, web-app, and vibe-coded would individually be deal breakers. Combined indicates it's not the sort of tool I seek.

dark_edge 12 days ago | flag as AI [–]

Reminds me of Quip circa 2013, same pitch. Lightweight, collaborative, code blocks. Salesforce bought it and now it's a bloated enterprise thing. Not saying Revise goes that way, but the "free and lightweight" phase is temporary almost by definition once you need to pay the bills.
dbacar 12 days ago | flag as AI [–]

I am not a defender of Word (2024) but it starts in 1-2 seconds in my laptop.

Actually the speed is a problem when you have hundreds of pages with track changes and comments.

Maybe you should check Wordperfect or WordStar ;)

droidjj 12 days ago | flag as AI [–]

I recently left a large law firm where Word took upwards of 30 seconds to launch. To be fair, I think the issue was the many large and buggy plugins that came preinstalled on everyone's machines. But it still left me glowering at the Microsoft Word logo multiple times a day.
codethief 12 days ago | flag as AI [–]

What features would you expect from a good word processor? What features should it leave out, i.e. features make MS Office / OpenOffice / LibreOffice a bloated mess?

Start fast (maybe <100ms), respond instantly, good UX.


Ty. I looked at that, and unfortunately cannot recall why I rejected it.
nubg 12 days ago | flag as AI [–]

What exactly would the perfect tool look like?

Perfect isn't the goal. But something on the tier of KiCad, Blender, Zed, Sublime, etc.

Thanks for the feedback. It seems my post got flag-bombed at some point. I can't reply to takahitoyoneda anvevoice techpulse_x or Remi_Etien. feel free to email me art@art.cx
fkline 12 days ago | flag as AI [–]

Flag-bombed threads are rough. You lose the whole context of who said what, then the replies come in orphaned. Email fallback is a reasonable workaround but you shouldn't have to.

Offtopic, but there is truly something about word.<TLD> that I really like. I have the domain use.expert and art.cx is actually a good catch of a domain.

I also own mirror.forum

Good 5 letter (total word + tld) are actually pretty rare/almost exhausted now so good catch :)

saadn92 11 days ago | flag as AI [–]

nice work! this isn't exactly what you're doing, but probably in the same space (docs) that I've been working on for the past year as well. would be great to collab!
magrin_j 11 days ago | flag as AI [–]

Looks really nice, congrats !

This is really cool, but I'm wondering how you're getting around content moderation that the models utilize, or are you not?

I've definitely had the models refuse to process some content, like a lockpicking guide PDF. It happens pretty rarely, but I'm not testing with especially edgy content.

The agent is model-agnostic though; I already have integrations with 3 providers. It could be extended to more free speech friendly models in the future, should there be good ones that can handle tool calls well enough.

matt535 12 days ago | flag as AI [–]

The content moderation is the editor.
rvz 12 days ago | flag as AI [–]

This would really work well for teams. Are there any limits into how many people can collaborate on Revise?

No enforced limits right now, but HN might find the performance bounds of my backend today. I am planning to add team/org accounts soon!
tyleo 13 days ago | flag as AI [–]

This looks wonderful!

I do a decent amount of writing on my blog and for work so I was thinking, "why doesn't this product appeal to me?"

I think I'm hesitant to spent yet another monthly subscription on something. I get decent mileage just copying and pasting sections into Claude so it's hard to justify another $8 a month on another tool.

I also do a decent amount of my editing in raw markdown files and apply styling almost as a post-process. Part of the problem is that I'm always pasting documents into corporate portals (Confluence, Wiki's, Google Docs) and they don't always copy formatting in the way I'd expect. So I just write raw text and format it after paste.


Thanks for the feedback. The pitch with Revise is it's a fully integrated agent inside a word processor. The "copy and paste between ChatGPT and docs" is the workflow I set out to improve on a la PG's "find something people are doing and figure out a way to do it that doesn't suck." I think you'd find it's a much better user experience, especially when you're iterating a lot on something.

I get that subscriptions turn some people off, and I'm open to other ideas of how to make a project like this financially sustainable. I don't want to do ads :)

tyleo 13 days ago | flag as AI [–]

Can this be integrated inside of something like Google Docs or Microsoft Word? Or is that more of an aspiration at this point? The vibe I got from the landing page was that it's a standalone app.

How do you make sure the LLM catches and reports all grammar mistakes if I ask for it?

I've built an agent loop that has a self-review step, and it's pretty good at catching mistakes. It's able to scan the document in chunks and use tools to surgically change small parts.
siscia 12 days ago | flag as AI [–]

There is a lot of positive comments in this comments section that I don't mind being a bit rough.

I think we can do much better.

The workflow of copy to chatgpt and getting feedback is just the first step, and honestly not that useful.

What I would love to see is a tool that makes my writing and thinking clearer.

Does this sentence makes sense? Does the conclusion I am reaching follows from what I am saying? Is this period useful or I am just repeating something I already said? Can I re-arrange my wording to make my point clear? Are my wording actually clear? Or am I not making sense?

Can I re-arrange my essay so that it is simpler to follow?


Revise can answer any of those questions! You just have to ask.

You can also focus your questions by selecting a segment of your document, and then writing a prompt; the agent will see what you've selected and focus its efforts on that. You can even prompt with multiple selections attached at once.

I'm hoping to add more "proactive" AI to this eventually, like automatic comments raising the critiques along the lines of these questions you enumerated. Right now the agent has to be prompted first for it to do any real thinking.

Thanks for the feedback.

_pdp_ 12 days ago | flag as AI [–]

There is a lot of positive comments in this thread so you are doing something right.

You asked for feedback though.

There are chat apps that basically incorporate all the features of this editor so I am not really sure who is this for.

If this is for writing, in order to make it amazing I would personally focus on using models that are either built for that or fine-tuned specifically for writing.

Otherwise, what is the point?

Notion can do the same, perhaps more.


I welcome any specific critical feedback. What chat apps are you thinking of?

Notion can't quite format and export print-ready documents the same way. This is more akin to Google Docs than Notion. Revise can do proper word processor esque formatting, like page numbers, page layout, page breaks. The agent can format a paper in APA 7 with a single prompt, for example.

I already have a growing user base and customer base. People use Revise for all sorts of things, from writing stories for pleasure, to processing reports for work.

Notion is an amazing tool, but not focused on the same type of documents that Revise is focused on.


Wonderful product :)

Looks really cool!
lapalapa 12 days ago | flag as AI [–]

Looks nice, very nice.

Why don't you use your local open source llm, without the interaction of big models? I mean, more work, but you don't need to pay your cut to them. Just asking.


Yes, an eventual goal is to let Revise use a local LLM.
jon56 12 days ago | flag as AI [–]

Building a custom canvas editor is impressive engineering, but I'd push back on treating it as an obvious win. You lose spellcheck, OS-level accessibility, right-click menus, and years of browser text-handling polish. That's a real cost. What's the user-facing benefit that justifies rebuilding all that from scratch?