[HN Gopher] Show HN: Quadratic - Open-Source Spreadsheet with Py...
       ___________________________________________________________________
        
       Show HN: Quadratic - Open-Source Spreadsheet with Python, AI (WASM
       and WebGL)
        
       Hi, I am David Kircos. The Founder of Quadratic
       (https://QuadraticHQ.com), an open-source spreadsheet application
       that supports Python, SQL (coming soon), AI Prompts, 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.
       Our vision is to build a place where your team can collaborate on
       data analysis. You can write Python, AI Prompts, and Formulas in
       one spreadsheet feeding each other data and updating automatically.
       Quadratic is built using WebGL and Rust WASM. To render a large
       grid of cells smoothly, we tile the spreadsheet similar to google
       maps. If you are interested in the technical details, check us out
       on GitHub (https://github.com/quadratichq/quadratic/)  You can use
       AI to help you write Python and then run the code directly in
       Quadratic. Then, we feed the result back to the AI model so it can
       follow along, help you debug, and modify your existing code.  AI
       can also be used to directly generate data onto the sheet with
       prompts. It knows the context of what's on the sheet and how the
       data it's inserting fits in. Try it out.  SQL is coming soon...
       stay tuned!
        
       Author : davidkircos
       Score  : 93 points
       Date   : 2023-04-05 16:13 UTC (6 hours ago)
        
 (HTM) web link (www.quadratichq.com)
 (TXT) w3m dump (www.quadratichq.com)
        
       | nilslice wrote:
       | i saw a very early version of Quadratic and was impressed then,
       | so to see what David and team have done in the months since is
       | awesome! congrats on the launch :)
        
       | greatDEBONKER wrote:
       | [dead]
        
       | hyuuu wrote:
       | hah i tried to build this myself, I think there is a huge market
       | to be able to connect multiple data sources + proper programming
       | language support logic instead of vbscript/excel formula. Did the
       | user interviews as well, I saw a lot of real world tangible use
       | cases can be solved with this. Congrats on your launch!
        
         | swyx wrote:
         | why did you stop? any concerns on the market demand?
        
           | ricklamers wrote:
           | You can read some of the reasons I stopped working on it here
           | https://hackernoon.com/introducing-grid-studio-a-
           | spreadsheet... (not parent)
        
       | JulianWasTaken wrote:
       | Just a marketing note, as I haven't tried to use this yet, but
       | starting the feature list on the page with "pinch to zoom"
       | striked me as pretty odd. Sheets (Google or Excel) already do
       | this, and even if they didn't I don't personally find it to be a
       | killer feature anyhow. I know the point is pinch to zoom +
       | infinite sheet, but the pinch to zoom doesn't strike me as
       | interesting there from a marketing perspective.
       | 
       | To pick something else -- I again haven't used it yet and might
       | not be in the target market as I don't find myself saying "I wish
       | my spreadsheets had _more_ functionality " -- but if I were, I'd
       | probably lead with more of the flexibility or collaboration
       | functionality (e.g. "write Python not VB", even though Google
       | Sheets lets you write JS at this point.)
        
         | davidkircos wrote:
         | Good point - we will move things around on the marketing site.
         | 
         | Google Sheets does not have pinch to zoom. Maybe Excel does on
         | some platforms, it doesn't on 365. The only other spreadsheet I
         | know with decent pinch to zoom support is Numbers on mac.
        
       | nhatcher wrote:
       | Hey David, I just tried it out and looks great! Congratulations
       | on a great product! Colour me impressed.
       | 
       | There are a million things in my head. Let me just mention two:
       | 
       | * When you are sending close to 20Mb of data compress it, it's
       | going to make a huge difference in loading times. * I think, and
       | I might be very wrong, but I think that when you are looking at a
       | spreadsheet that looks like Excel you have certain expectations
       | about the the UX. How to insert formulas, the way you extend
       | content from some cells to others, etc
       | 
       | One question, what algorithm are you using to evaluate the
       | dependencies? Could you point me to the source?
        
         | davidkircos wrote:
         | Yes the bundle is huge, we have made no effort yet to optimize
         | it. Feel free to create a PR :)
         | 
         | Here is how we manage cell dependencies
         | https://github.com/quadratichq/quadratic/blob/main/src/grid/...
        
           | nhatcher wrote:
           | Thanks!
        
       | zokier wrote:
       | Neat. From tech point of view, one improvement I'd love to see is
       | more named ranges/tables etc so that the python<->grid
       | interaction doesn't need to rely only on coordinates. I'd imagine
       | it'd also make sense for stuff like sql queries and dataframes to
       | have column names mapped somehow sensibly into the datamodel.
        
         | davidkircos wrote:
         | 1000% create an issue on the repo
         | https://github.com/quadratichq/quadratic/issues
        
       | adamdill wrote:
       | Spreadsheets are broken, and a horrible user experience for
       | technical users.
       | 
       | I'm excited to see work in this space, because it's such a great
       | lever for continued productivity.
       | 
       | how do you see your open source model making money and continuing
       | to scale feature development?
        
         | davidkircos wrote:
         | We plan on charging organizations using Quadratic for
         | collaboration. Our pricing will be low so it's affordable to
         | get seats for the whole team. Think <$15 / user / month.
        
           | easton wrote:
           | I can't imagine you can really charge less, but is there a
           | huge market for an excel substitute that costs more than
           | excel and doesn't interoperate? I understand the reasons why
           | this is cooler/better, but IME when people want to step up
           | from excel it's either because they have some use case that
           | fits a BI tool or they are going to hire a dev. (Real problem
           | is that they never realize Excel isn't enough until it's the
           | backbone of their company... but...)
           | 
           | Best of luck though, this looks super cool!
        
         | Andrew_nenakhov wrote:
         | Spreadsheets are not broken. Spreadsheets are probably the most
         | impactful and accessible tool that boosts productivity for many
         | users in very many areas, from commerce to finance to
         | statistics to automation to sales.
        
         | WillAdams wrote:
         | No, the prevailing implementations are mapped to the grids of
         | ledger sheets which the accountants who were the initial market
         | were accustomed to. (A vivid memory from when I was young was
         | the accountant who pulled up to the computer store I was at and
         | said, "I want a Visicalc" --- after a bit of back-and-forth w/
         | the salesman, he loaded up his Trans Am w/ pretty much one of
         | everything in the store (Apple ][, 80 column card, dual
         | floppies, wide printer, &c.)
         | 
         | Look up Lotus Improv and Javelin and Quantrix for examples of
         | spreadsheets done right.
        
       | Andrew_nenakhov wrote:
       | Uh oh can it be a self-hosted Google sheets replacement?!
       | Screenshots look really promising!
        
         | drexlspivey wrote:
         | This runs in the browser so there isn't really anything to
         | host, it's just a static page.
        
       | marwis wrote:
       | Infinite canvas looks like a mistake. Is there a way to use
       | sheets?
        
         | davidkircos wrote:
         | Right now there is only one sheet.
         | 
         | We are working on support for multiple sheets (both infinite or
         | finite) and support for Python files to enable reusability of
         | code across the sheets.
        
       | swyx wrote:
       | this is super HN bait - webgl, rust, wasm, figma, AI in
       | spreadsheet!
       | 
       | congrats on your launch - wondering how youre thinking about the
       | UX of AI integration in spreadsheets?
        
         | davidkircos wrote:
         | With the first iteration of AI in Quadratic, the UI/UX is a
         | chatbot that knows the context of your document, your code, the
         | output, and our documentation.
         | 
         | This context makes it easy to use GPT to write, edit, and debug
         | your code to get the desired result faster.
         | 
         | We are working on inline code completions and experimenting
         | with whole document generation.
         | 
         | Imagine a spreadsheet that generates all you need for your
         | analysis, with each step being verifiable in code, SQL, and
         | formulas. Then being able to share it with your team with a
         | link.
        
           | esafak wrote:
           | Do users have to bring an OpenAI license key?
        
         | dsnr wrote:
         | The Figma reference strikes me as odd. You can implement an
         | infinite canvas in plain html/css, and there's a gazillion
         | tools that have this feature. I get the feeling the text is
         | written for search engines rather than HN.
         | 
         | On a related note, there's no mention that the product is built
         | using Pixi.JS, an open source 2d graphics engine.
         | 
         | https://pixijs.com/
        
       | probablypower wrote:
       | This looks cool and is well made, but god do I hope my company
       | does not let this become common place. We already struggle with
       | company logic being buried in spreadsheets, brains and walled
       | garden software. The last thing we need is to encourage this
       | modern business anti-pattern of experts implementing their work
       | in byzantine, opaque, impenetrable gardens of logic-data
       | spaghetti bowls.
       | 
       | I'll buy into this in a second, however, if you find a way to
       | defragment the logical mess of a spreadsheet and turn it back
       | into functional transformations of tabular data, such that we can
       | implement it into stream processes or ETL pipelines. Otherwise
       | you're just letting the next generation of corporate workers fall
       | into the same trap of embedding their business logic lazily into
       | a digital grid cemetery that'll end up wedged into the onedrive
       | file pile.
       | 
       | (Apologise if this comes across as cynical, from an
       | implementation perspective you've done an amazing job, I just
       | hate spreadsheets)
        
         | swyx wrote:
         | i hear you but also it wouldnt be too too hard to consume data
         | from your source of choice and to expose data for consumption
         | elsewhere. a fully reactive spreadsheet is in some ways a lot
         | better for a smooth upgrade path from "just trying things out"
         | to "ok it's in production now" - the holy grail.
        
         | davidkircos wrote:
         | Yeah, it's a valid point.
         | 
         | Our goal isn't to replace production ETL pipelines etc. We are
         | building a place where you can quickly do an ad hoc analysis,
         | share it with your whole team, and iterate on it.
         | 
         | If it's small and works great you're all set. If your work out
         | grows Quadratic just take the Python and SQL code from
         | Quadratic, modify it slightly, and deploy it on more robust
         | infra.
        
         | shaftway wrote:
         | Back in the mid aughties (circa 2006) I was doing risk analysis
         | at a big bank. The kind of international bank that you read
         | about on a regular basis in the news. Our team supported
         | synthetic bond-backed collateral debt obligations, and this was
         | all principal finance, so the bank investing its own money. We
         | didn't have clients that we had to support. But we did have to
         | generate our risk profile each night and FTP it to the central
         | server.
         | 
         | And it was all done in a Excel spreadsheet.
         | 
         | Each night a bunch of traders would each kick off scripts in
         | Excel. The script would download the new ratings (S&P, Fitch,
         | and Moodys) for each bond, download the new LIBOR curves,
         | update the spreadsheet, save a copy (y'know, for backup
         | purposes and history), then generate an XML file, shell out to
         | the risk tool provided by the quants, then parse the XML
         | result, load it back into the spreadsheet, let it crunch and
         | then FTP it to the central risk server.
         | 
         | Each deal was a separate spreadsheet, and there were about 30
         | of these deals. Some of the runs would take ~20 hours, so they
         | were basically always running, but most of them took about an
         | hour. The sheets were a spaghetti mess of formulas, often with
         | errors or inexplicably different formulas.
         | 
         | I also am cynical, and I can't imaging supporting something
         | with even more programming ability.
        
       | knewter wrote:
       | This looks great, and I'm always eager for competition for Google
       | sheets and friends. Supporting python directly makes it seem
       | great for a massive variety of use cases, and python is
       | incredibly accessible.
       | 
       | Connecting this up to databases seems like it would provide a
       | great deal more value - excited to see that come to fruition.
       | 
       | Additionally, from the demo video, I have to say the performance
       | is impressive. I haven't seen a similar product yet from that
       | respect - curious if this is due to my ignorance or your
       | ingenuity.
       | 
       | At any rate, congratulations!
       | 
       | What are some of the useful things you've used it for recently?
        
         | davidkircos wrote:
         | We do many of our company operations dashboards in Quadratic.
         | 
         | Directly using SQL would make this even easier.
         | 
         | We are also working on support for popular Python charting
         | libraries like MatPlotLib and Plotly!
        
       | Yoofie wrote:
       | Any chance this can run offline in a standalone way, just like
       | excel? This seems really cool, but asking the PM or marketing to
       | run NPM commands to build and open a *.grid file is a no-go.
        
         | davidkircos wrote:
         | Yes it can. It can also run as a standalone app via Electron.
         | We just haven't published builds yet.
        
       | jarpineh wrote:
       | This looks really interesting and useful to start looking into
       | data and doing ad hoc processing. It reminds me of
       | https://natto.dev/
       | 
       | Without knowing anything about your architecture I wonder if you
       | could support Duck DB WASM as a data source and SQL engine. Also,
       | since there's Python there you could conceivably bring Jupyter
       | into the mix. Shared runtime (or at least a connection) and data
       | space within browser sounds like a powerful combination.
        
         | davidkircos wrote:
         | Yup, working on duckdb-wasm support. Stay tuned!
        
       | el_don_almighty wrote:
       | The nerd in me loves seeing tools like this and the amazing
       | integration of coding tools for manipulating data
       | 
       | The enterprise manager of complex financial and equipment excel
       | models worries about managing those code bases if they are spread
       | out all over God's creation, hidden in a thousand cells without
       | change management or access control...
       | 
       | Is there a single code/formula base location for everything? (I
       | admit, I have only been playing with it for a little bit...)
       | 
       | How do I manage who gets the 'user version' and who gets to play
       | with the 'creator' version?
       | 
       | We always use the first worksheet as a version control chart
       | tracking recent changes and modifications. It's rudimentary, but
       | surprisingly effective over time now that OneDrive desperately
       | undermines these controls with history management
        
         | davidkircos wrote:
         | We are working towards having your code stored in a way where
         | you can manage it with git.
         | 
         | Access controls will allow you to set who can edit and who can
         | view. We also want to have a mode where you can edit, but only
         | in your own fork.
        
       | HactarCE wrote:
       | Super excited with where Quadratic is going! I've been long
       | frustrated that performance and reliability of web apps is so
       | awful, and the fact that Quadratic emphasizes both of those as
       | core product features is a significant reason I'm working there
       | now as the main Rust dev.
       | 
       | Currently the classic Excel-style formulas are implemented in
       | Rust, and we're planning on writing the spreadsheet core +
       | multiplayer server in Rust as well.
        
       | joshu wrote:
       | i love spreadsheets. i'm also a seed investor in quadratic!
        
       | rdschouw wrote:
       | Any chance you have a docker-compose.yml you can add to your
       | repository? ;-)
       | 
       | Great concept! Congrats on your launch!
        
       ___________________________________________________________________
       (page generated 2023-04-05 23:00 UTC)