TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Collaborate on your YC Application with CRDT-powered forms

22 pointsby jasonbwabout 1 year ago
Hi HN,<p>Like many of you here, this is not my first time applying to YC. Each time, my co-founder and I would copy the YC application to google docs to collaborate on it, then we copy it back to submit. This got us thinking - why can&#x27;t we just collaborate on the YC application <i>in the YC application</i>?<p>At one point I went down the CRDT rabbit hole and realized collaborative forms would be a great use of CRDTs, so I decided to build this out to an MVP.<p>If you&#x27;re curious about CRDTs (Conflict-Free Replicated Data Types) and how they differ from OT (Operational transformation, which is what powers Google Docs) the tl;dr is that OT requires a central server to merge edits from different clients, whereas CRDTs are a data structure with commutative and idempotent operations, that can merge concurrent edits deterministically to always end up at the same final state.<p>This gives you a bunch of cool properties out of the box. Real time support as clients merge concurrent edits from other clients (usually via some central server). Offline support through deterministic merging of offline edits from multiple clients as they reconnect. P2P support because you can send the underlying operations independent of a server and clients can build up the state themselves.<p>If you want to dig deeper there are a bunch of CRDT articles posted to HN. Two that I enjoyed reading are [1] by josephg and [2] by jakelazaroff.<p>CRDTs are also showing up in more software. The Zed editor posted last month uses CRDTs [3] and they have a blog post explaining how it works [4]. Rumor has it that Apple Notes uses CRDTs under the hood.<p>The CRDT library I used is Yjs [5].<p>If you want to try out TogetherForm for your YC S24 application, this will generate a unique link with the YC application you can share with your co-founder [6].<p>I&#x27;d love to hear any feedback and suggestions you have. I&#x27;m also trying to figure out where to focus my time next:<p>a. Build out the no-code form builder.<p>b. Build out a React library (or similar) that allows you to make your forms collaborative by, say, using a special &lt;TogetherForm&gt; component.<p>One last thing: I know it&#x27;s a lot to trust a random new product, so here&#x27;s a Google Doc template for the S24 YC application that you can copy and keep for yourself [7].<p>[1] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31049883">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31049883</a><p>[2] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=37764581">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=37764581</a><p>[3] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39119835">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39119835</a><p>[4] <a href="https:&#x2F;&#x2F;zed.dev&#x2F;blog&#x2F;crdts" rel="nofollow">https:&#x2F;&#x2F;zed.dev&#x2F;blog&#x2F;crdts</a><p>[5] <a href="https:&#x2F;&#x2F;github.com&#x2F;yjs&#x2F;yjs">https:&#x2F;&#x2F;github.com&#x2F;yjs&#x2F;yjs</a><p>[6] <a href="https:&#x2F;&#x2F;togetherform.com&#x2F;yc" rel="nofollow">https:&#x2F;&#x2F;togetherform.com&#x2F;yc</a><p>[7] <a href="https:&#x2F;&#x2F;docs.google.com&#x2F;document&#x2F;d&#x2F;1zpU14-9zcYGvbxmtLKEbDcsln99Fd6tDfD4UVOGzQL8&#x2F;edit" rel="nofollow">https:&#x2F;&#x2F;docs.google.com&#x2F;document&#x2F;d&#x2F;1zpU14-9zcYGvbxmtLKEbDcsl...</a>

4 comments

fmyterabout 1 year ago
I used to do research on CRDTs and data language-level replication mechanisms, this has to be one of the coolest real-life applications I&#x27;ve seen so far :) Kudos
评论 #39463194 未加载
projectprintlababout 1 year ago
I lean toward the &lt;TogetherForm&#x2F;&gt; component as I typically find myself going straight to building my own form. This would be especially nice to use with Remix given it is pretty much entirely form-based.
评论 #39456536 未加载
davidrichardsabout 1 year ago
Awesome idea!!
zerojamesabout 1 year ago
This is incredible! Nice work!