Collaboration, Now!
I've a bold claim to make. I think the web is stuck, stagnant, immovable, … more synonyms. 🛑
We're stuck in, fundamentally, a React-pinned era. Around ~2018 or so, React had the complete suite: functional components and hooks. And modern app development, whether you like it or not, is largely inspired by that kind of idiom—whether you're using actual React or one of the many libraries that try to be like React. 🤯
Instead of making the web better, we as developers are just trimming the hedge of its walled garden. It's not growing, changing or evolving. 🧱
Multi-User Is Not Collaboration
Let's get right to it. I've co-founded a startup called Gumnut Dev because we want to bring the web forward into the future—and for us, that means collaboration.
Our problem statement—more specific than 'the web is stagnating'—goes something like this:
Your product is designed for multiple users—but can they actually work together? Or are they just digitally bumping shoulders and passing like ships in the night?
Gumnut Dev enables inline collaboration within your existing forms, with no database changes. Increase productivity between your real users and lets AI agents contribute natively. And we store history over time, down to the keystroke, of who did what.
Here's a little preview:
We're not solving every problem with the web. Maybe later. But for now, we're solving collaboration for your SaaS/product/web application 💖.
So why are we founding the startup? It behooves us to start with…
A History Lesson 📜
Google Docs released in … let me check … two-thousand and six. That's nearly twenty years ago.
And so as software engineers, as product managers, even as users of a product: we all know collaboration is possible. But we look at Google Docs, or Notion, or Miro, or… any one of the number of collaboration tools, and somehow we believe they're special.
And so, collaboration outside these experiences is totally alien to the average user. Why?
Cost/Benefit 💸
Our big thesis is two-fold. One is the broad React-stagnation problem. The modern, app-like web, is stagnant.
The other is that the cost/benefit isn't there. Why would I spend time adding something that isn't really core to my product? I don't want to have to pivot to using a different database, or running a websocket for real-time editing, or—the list goes on.
And if you do want collaboration, you have to ask your CTO/management… can we get multiplayer content editing superpowers users expect in our own app without spending the next 12 months building something that doesn't meet expectations?
So of course, that's what got us thinking. 🤔
The Right DX 🧑💻
Collaboration is a relatively solved problem. Technically, academically—there are solutions. CRDTs, or Operational Transforms, and products that implement them—they exist. And they've come a long way. CRDTs, for example, were classically overlooked because they were 'too heavy'. Smarter people than me have worked out that they can be incredibly performant.
This is all interesting. But these are experiments at best: they're not a product you can just use.
We at Gumnut Dev are building a product: a new paradigm of how you can just add these things to your existing sites, web applications, and SaaS'es.
And ironically, despite my bellyaching, using Gumnut Dev is just a React library you drop in:
function YourForm() {
// models other form libraries, but with collaboration!
const s = useGumnutDoc({ getToken, docId });
return <div>
<label>Edit AI Prompt</label>
<GumnutText control={s.control} name="prompt" multiline style={...} />
<GumnutData
control={s.control}
name="enabled"
render={(arg) => (
<div>
<label>Enabled</label>
<input type="checkbox" {...arg.field} />
</div>
)}
/>
</div>;
}
Okay, there's a tiny bit more setup, but we're talking hours, not days or weeks, to get this sorcery working. 🎩
Some Internals
This is all well and good—Sam, you're pitching me a startup, I get it. But I assume my audience is technical enough to want to know a little bit more before diving in.
I think the best way to represent what do do under the hood is with a little video.
The way to think of what we do is: we get out of the way of your existing database, and host an editing session—think of it like a git
branch—where people can work together.
Once your editing is complete, Gumnut orchestrates a simultaneous commit back to your database and a full-history snapshot witten back to Gumnut. Your database doesn't know or care that the work was prepared in our "temporary collaboration dimension"; it just sees the new data, ready to be used.
Implications
The core design is pretty—I don't want to say simple, because what Gumnut does is complex, and you should pay us to do it for you (no bias here).
But now that we help you edit, you can think of a user editing something in a boring old HTML form as not just this transient thing that happens in their browser, but something that has a life of its own.
1. Collaboration
The obvious implication, which I introduced at the top, is collaboration. You're working on something together. And who gets to work together, that's something we help you configure (via JWTs and fairly standard authorization practices).
Frankly, this stops your users leaving to go to a platform like Google Docs to get their work done. You want users to be sticky, more engaged, and expecting more from your site—so you're easier to use than your competitors. Ask yourself: how often do people get off your platform because the only way they can be productive is with an external tool?
2. Review and approval
Because an edit session is no longer just "in someone's browser", why not ask/demand/expect that your content is reviewed before it's saved back to your database? Gumnut could email or contact a list of reviewers—just like how we write code—and ask for their feedback before it allows you to save. 💾
3. History
Every time you commit, your product's database updates. That's the way it should be—your database is for running your business.
But Gumnut can keep track of what you changed over time. And this is an incredibly important feature that most SaaS'es overlook, at least initially: you want, nay, you need, a proper audit trail.
And if you've not thought about this, and you have compliance risk, whew! This is the only part of this post which is trying to elicit 'fear', which is one way to promote a product.
But it's also important. 💭
Gumnut stores keystroke-level attribution every time you commit: you know who changed what, and when, and you can go back to that later. You might load it via API, or inline in your own forms in a "history" mode—but the important part is that we store it for you for free, so when shit hits the fan, you can find out how you got there.
And again, this is all without modifying your existing database solution.
4. AI Agents
AI is a bit of an orthogonal dimension. But right now, a regular SaaS with a multitude of forms doesn't have a great way to have AI help you. Instead, AI agents can be collaborative users just like anyone else on your site—ask them to fix spelling mistakes, do rewrites, or just work with you to achieve a goal.
Here's a demo of something simple, just coming along and cleaning up spelling mistakes:
And because we're storing history—we know what the AI added versus anyone else. So if you think the AI has hallucinated, well, you can find out exactly what parts you can cut out. 🔪
5. More?
We have a lot more ideas, but then this blog post would go on forever. 😂
But we fundamentally believe Gumnut is a new way of thinking about working together on the web—one that stays away from your existing choices in a good way—add us to your platform to make your product better.
What Now?
Why are we building this startup? We want to move the web forward. And for me, that piece is collaboration—why shouldn't it come cheaply, with history and AI agent support built-in? It's crazy to me that we are stuck in this rut, using amazing technologies all around the place but being totally unable to integrate it in 'regular' products.
To my original thesis: there's other parts of the web that need improvement, too—we'll come back to them once our first product is wildly successful. 😂
So we're eager for you to try it out, book a demo, all those things—the "like and subscribe" of the SaaS world.
👉 Hit us up at https://gumnut.dev. Book a demo, or join our update list.
Thanks for reading! You're officially ahead of 99% of the internet. 💝