Hacker News new | past | comments | ask | show | jobs | submit login
Quadratic – Figma-for-Spreadsheets – Is Multiplayer (quadratichq.com)
40 points by davidkircos on Feb 1, 2024 | hide | past | favorite | 30 comments



Hi, I am David Kircos. The Founder of Quadratic (https://QuadraticHQ.com), an open-source spreadsheet application for engineers that supports Python, SQL (coming soon), and classic Formulas. Unlike other spreadsheets, Quadratic has an infinite canvas (like Figma). As a result, you can pinch and zoom to navigate large data sets, and everything renders smoothly at 60fps.

Today, we launched real-time Multiplayer on Product Hunt!

Quadratic is built using WebGL and Rust WASM. We built our multiplayer service from scratch in Rust to handle large amounts of data smoothly. For smooth rendering of a large grid of data, cells and text are rendered using low-level WebGL for performance. If you are interested in the technical details, check us out on GitHub (https://github.com/quadratichq/quadratic/)

What do you think? Can we make a spreadsheet that developers actually enjoy using?


Cool! I’ve spent a lot of time building OT and CRDT based collaborative editing. What approach did you go with for quadratic? What were the pain points you had with existing systems that motivated you to write your own?


Was only a matter of time before I saw this question here and from you Joe! Only annoyed you beat me to it this time!


How do you handle server sync? What is the use case? You don't seem to be for application building, rather for doing analysis work (https://www.quadratichq.com/examples) where the main problem you solve is "No more squinting into a tiny terminal to see your data output"? So this is a data swiss army knife for developers, a dev sidecar if you will that attaches to your python REPL i guess. How do you make money?


The use case is doing analysis work as a team, with some engineers and some people only familiar with spreadsheets all being able to work together.

Quadratic is always free for individuals, and we will be paid for Teams, which will be shared folders that we are launching in a couple of weeks.


Congrats on releasing this!

I had a look at the server code. Is the idea that you will just vertically scale up the server to handle the load, or is there a mechanism for scaling out horizontally?

[1] https://github.com/quadratichq/quadratic/blob/main/quadratic...


The `quadratic-multiplayer` service is designed to be scaled vertically. Once we hit that limit, we will need to come up with a way to route traffic to servers based on what file a user is accessing and what server is hosting that room.

Every other service can be scaled horizontally today. However, the Rust services are very efficient at processing traffic, and a single node can handle significant usage.


Gotcha, makes sense. I've heard stories of vertical scaling going a *long* way for multiplayer servers if they’re essentially relaying messages.

> we will need to come up with a way to route traffic to servers based on what file a user is accessing and what server is hosting that room

Shameless plug, but you might like https://plane.dev for this.


Plane.dev looks awesome. We will check it out!


Congrats on the launch! I was just looking at the Multiplayer PR earlier this week and was hoping it would be released soon. I’ve always been frustrated with Excel and you’ve built a product that I’ve legit dreamed of for years.

Thanks for building in CO!


Thank you! Yes, Quadratic was built out of frustration from existing spreadsheets.

If a spreadsheet was built today... it would support modern programming languages, be fast, multiplayer from day 1, have a great API, speak with databases natively,

This is what we are building!


It depends on the license and pricing.

I'd love to consider bringing to my org, but not if I don't have a true path. I won't even evaluate it unless I have a clear path to use.


Cool. Now please edit the title and remove the open-source label or make it open-source.

https://github.com/quadratichq/quadratic/issues/824


Wouldn't it be called multi-user?


Multiplayer has become the term of art for concurrent editing of the same data structure by multiple users.


"Multiplayer" seems like a weird term outside of video games, but I think it conveys multiple real-time concurrent users more than just "multi-user" would.


That is what I thought, too.


Multiplayer is more fun :)


Apparently not anymore, since a more "fun" word exists for multiple users of a calculator


The license in the repo says all rights reserved. This is not open source.

https://github.com/quadratichq/quadratic/blob/main/LICENSE

Please do not call yourself open source if you are only source available. That’s false advertising.


Sounds fantastic. Any word on what the pricing will be when it's launched?


We will always be free for individual use, and our Teams pricing will initially be between $10-20 /user/month.


How does this compare to Google Sheets or Excel on o365?


Quadratic speaks Python natively and is built on an infinite canvas!


This is not open source(!).

Edit: There's no obvious mention of open source on their website or docs (presumably because that would be legally unwise), so it's false advertising on HN for likes.

Relevant GitHub issue: https://github.com/quadratichq/quadratic/issues/824


Quadratic's source code is openly available on Github, we will amend our language to "open access" going forward. We are far more open than any other spreadsheet, and pride ourselves on that!


The term you are looking for is “source available”. Using “open” is deceptive.

Your source code is not “openly available” simply because you have published it.


Interesting; any pointers to the difference would be welcome, TIA


This a very widely accepted one: https://opensource.org/osd/


linked in the github issue: "Quadratic's source code is available publicly in this repo. However, we do not provide any license to use, modify, or distribute our code." so you can look at it but dont have permission to use it




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: