7 ms·
Show HN: Sheet Ninja – Google Sheets as a CRUD Back End for Vibe Coders
- abdusco 6mo agoThe animations in the page keeps interrupting me and scrolling me up after I scroll past them.
- sxa001 6mo agoIs this in the 'How it Works' section? I'll get that fixed - thanks for letting me know.
- sxa001 6mo agoHi all - a friend and I have been dabbling in the entrepreneur space for years, but we never really pulled the trigger because of our corporate jobs. We suffer from the same thing that plagues a lot of engineers: we know how to build products, but we are weak at distribution and marketing. We feel that being able to build is becoming table stakes and the ability to actually get a product into people's hands is more important than ever. We built SheetNinja (https://sheetninja.io https://sheetninja.io) to force ourselves to learn that side of the business from the ground up. We chose a validated market (sheets-to-api) so we could focus on the "how to find users" problem rather than wondering if the category was useful. It also fits our current "vibe coding" workflow i.e. when we use LLMs or Replit to spin up an idea, a Google Sheet is often the fastest way to handle CRUD without the friction of setting up a traditional database. We are looking for feedback on the tool itself and the landing page. We have a lot of visitors but a lower sign-up rate atm. Thanks, in advance! https://sheetninja.io https://sheetninja.io
- tjohnell 6mo agoPlease share the repo for the API and we will happily provide technical feedback.
- saadn92 6mo agoThe "we chose a validated market so we could focus on learning distribution" framing is really smart and honestly something I wish I'd done earlier. I'm building a workspace/collaboration tool and spent way too long on the product side before realizing the distribution muscle is a completely separate skill that doesn't develop on its own. One thing I've noticed from the sheets-as-backend pattern: the reason people keep reaching for spreadsheets is because the editing UX is instant and familiar.Any tool that wants to replace this for non-technical users needs to nail that "just click a cell and type" experience. That's the hard part honestly.
- IxInfra 6mo agothe distribution muscle being a separate skill is so underrated. most technical founders assume if you build something good it finds its own audience. it almost never does. sounds like you're learning the hard way which is probably the only way
- Imustaskforhelp 6mo agoGood project but I wish something like this can exist for proton mail, I have made some puppeteer scripts which can hook up to proton docs. But Proton is really doing some great disservice to not having a public api for their docs. I can imagine it being used for anonymous comments page for webpages etc. I am not sure if there is something that you can do about it though given that the fundamental issue of this is caused by proton not having an api whereas I think google docs does have API. It's more a message to proton if anything.
- PullJosh 6mo agoLooks great! I’ve definitely wanted this exact thing before. I will consider reaching for this next time I need to throw together a quick app.
- mememememememo 6mo agoOh man fix the site. If I scroll down it auto scrolls up after 2 seconds. And other bugs.
- sxa001 6mo agoSorry about that - I've pushed a fix to stop it from auto-scrolling which should be propagating through soon. Thank you for flagging this
- mememememememo 6mo agoThanks! No need to be sorry :)
- tyleo 6mo agoThis site is pretty broken. The project seems cool but I’d recommend a more static landing page. I bounced very quickly. Didn’t even make it to the bottom with all the distracting animations.
- Remi_Etien 6mo ago[flagged]
- jeffinmanuel 6mo ago[dead]
- snoopen 6mo agoI'm not sure I see why this needs to be a paid service. Unless I understand incorrectly, you can get the same result for free, self contained, with freely available code like this: https://gist.github.com/richardblondet/ce87a397ef669d4d25dd21ea02b9dda1 https://gist.github.com/richardblondet/ce87a397ef669d4d25dd2...
- robotswantdata 6mo agoDon’t really get the purpose for this apart from throw away projects. For vibe coders is it really “hours” setting up a database these days? GCP cloud sql + drizzle ORM is minutes and actually scales unlike a spreadsheet, heck Claude can even write you a deployment script and run it over GCP CLI.
- misiek08 6mo agoCloud SQL costs gazillions, sheet is free (other than selling your data)
- codybontecou 6mo agoMost are lucky to get a few sign ups.
- robotswantdata 6mo agoCloud sql lowest tier is pennies a day, this ninja platform is also not free. A spreadsheet is a misclick away from corruption, why not spend another prompt on getting Claude to configure a db?
- kevcampb 6mo agoWhich works out at $100 USD / year. You might think that's trivial, but when you start provisioning multiple environments over multiple projects it starts to add up. It's a shame that Google haven't managed to come up with a scale to zero option or serverless alternative that's compatible.
- rvz 6mo agoIt is trivial to set up a database on GCP given that you know what you are doing and I would pay Google for that stability and support for setting up multi-tenancy and region. Using Google spreadsheets as a backend will just cause them to charge everyone later. Sheet Ninja isn't free. Even on their side, "free" does not mean what you think it means.
- rsafaya 6mo agoReally good project for a quick data back end. One feature suggestion: webhook support for row changes: If my Sheet updates (say, a new waitlist signup), I'd want to trigger for e.g. a Slack notification. Supabase has something similar with their database webhooks. I use that extensively for kicking off signup workflows.
- snoopen 6mo agoYou can do this now directly in the Google environment. Should be trivial to vibe code Google Apps Script to hit a Slack endpoint. You'd probably use an 'on edit' trigger to run the code.
- sxa001 6mo agoThat's a great suggestion, thank you For your signup workflows, how sensitive would you be to latency? Would a 30 to 60 second delay be a dealbreaker, or are you looking for something that hits Slack the instant the row is created? (The challenge with Google Sheets is we'd have to poll for changes)
- smrtinsert 6mo agoDo vibe coders need an api for an api? Sounds like something solvable with a skill
- igor_mart 6mo agoJust impossible to read the landing page on mobile due to endless carousel sliding which constantly returns you to the top of the page
- michaelcampbell 6mo agoI didn't have any "top of page" navigations that I didn't control going on.
- odest 6mo agoI really like the idea of using Google Sheets for quick prototyping and maybe "vibe coding" without the friction of setting up a traditional DB. I haven’t noticed a scrolling issues, btw
- lpcvoid 6mo agoThe world needs less vibe coded slop, not more
- evanbabaallos 6mo agoIs this meant to replace databases?
- _joel 6mo ago"Ship now, pay later" you're not wrong.
- 0xbrad 6mo agoAwesome!
- curbits 6mo agoI have done this for my own projects for years it’s great for projects that are only for me and gives me a very good db editor also. Cool project though the only risk I see is that if the target audience are vibe coders they will you known just vibe code an integration
- sxa001 6mo agoThank you! The idea of our target audience just vibe coding this themselves definitely gave us pause for thought while we were building it :) We're thinking of playing around with the pricing right now to make sure it is cheaper to just use this than to spend the time and tokens recreating the logic. We will see how it plays out.
- pduggishetti 6mo agoSQLite, SQLite + drizzle with WAL mode, push it to a VPS, do not waste your time on anything else :) Thank me when things become super easy! When things scale, SQLite will still be fine, will fit 99% of the vibe coders needs! When they don't then migrate to what ever!
- rvz 6mo ago> When things scale, SQLite will still be fine, will fit 99% of the vibe coders needs! No it won't. SQLite is a poor choice at handling this, period. With all those hacks it still doesn't make any sense over something like PostgresSQL which is designed for that use case. Yet another reason why I dismiss this nonsense of vibe coding.
- pduggishetti 6mo agoI accept what you say, my point is for 99% of vibe coded and vibe coders stuff you have no reason to spin up anything more than sqlite, if you grow migrate to postgres, you will have drizzle help you! A single vps like 1-2 GB ram and 2 CPU can suffice 100s of your projects SQLite can handle 100s of users easyily And 99% of vibe coded projects won't grow further than 100s of concurrent users
- mettamage 6mo agoThis requires technical skill
- threatofrain 6mo agoIf Claude can do it reasonably well then there’s another tier of technical skill that can reach.
- pixel_popping 6mo agosshhhhh, don't tell everyone they can actually run a website with few hundred K users on 40$ servers.
- Raed667 6mo agoI put Google Sheets as a backend (in production) when i wanted a select non technical people to be able to see and modify the data without the cost of building a backend. I really wish auth was easier to setup for services though, i see no reason google can't provide this out of the box
- riffraff 6mo agoYou can auth with Google auth after you configure an app, what are you thinking of that would be simpler?
- Raed667 6mo agoI meant to authenticate a service (that is not running on GCP) to access the sheet, it requires a service account and felt more convoluted than what it needs to be
- afferi300rina 6mo agoCompletely agree. Managing service account JSON keys and configuring IAM roles just to access a single sheet feels like a huge overhead for simple projects.
- _pdp_ 6mo agoIf this site does not run on top of a google sheet then don't believe it.
- deleted 6mo ago[deleted]
- xnx 6mo agoA pay option like this definitely seems worse than the Firebase backend that AI Studio would automatically use.
- Leftium 6mo agoI made a similar project: https://veneer.leftium.com https://veneer.leftium.com You can publish any publicly readable sheet/form (append rows with publicly available form): - sample sheet: https://veneer.leftium.com/s.1RoVLit_cAJPZBeFYzSwHc7vADV_fYLbuhnt4NdyR2Sk/list https://veneer.leftium.com/s.1RoVLit_cAJPZBeFYzSwHc7vADV_fYL... - sample form: https://veneer.leftium.com/g.chwbD7sLmAoLe65Z8 https://veneer.leftium.com/g.chwbD7sLmAoLe65Z8
- joshstrange 6mo agoI like this idea, I wrote a tiny CRM-like thing for my mom a month or so ago (upgrade from a google sheet that I had previously upgraded from an Apple Note) and it uses Sheets as it's backend. She can always go back to the Sheet and lose nothing but the web interface she uses it tailored to exactly what she needs. I couldn't be happier with it and she loves it. I'll have to remember this for my next little one-off tool.
- kent8192 6mo agoI think it can be one option to achieve a tiny goal. Some companies often think that using AWS or GCP is too much of a stretch for a minimum target. So, it can be a good way to meet their request.
- pezo1919 6mo agoAfaik Google Sheets comes with REST API endpoints by default. How is this different? Which scenarios do and which DO NOT require Sheet Ninja?
- NicoJuicy 6mo agoDid this 9 years ago :o, cached it though.
- jeninho 6mo ago[dead]
- zephyrwhimsy 6mo ago[flagged]
- mamday1 6mo agoYou do not need to go through these guys Google provides access to the URL to use the sheet as a database and also allows you to deploy Javascript and even host the site with AppScript (example https://script.google.com/macros/s/AKfycbzYt_aXBdQlnMM7idlVDiOihiUQC9l9VsmuA3Qg-AI6PPpExvXWbhVL66lMjvC-vpY/exec https://script.google.com/macros/s/AKfycbzYt_aXBdQlnMM7idlVD... )
- TheTaytay 6mo agoThe +1 button doesn’t work?
- sroerick 6mo agoThis is a great project, very cool, but it is actually insane to me that CRUD is so apparently hard that Google Sheets is the best solution
- ugh123 6mo agoWhat's old is new again: Filemaker Pro
- Andrex 6mo agoThe attractiveness of a spreadsheet comes in the display and the charts, etc. For a serious database doing actual transactions, I'm not sure about the utility.
- sroerick 6mo agoYes, but these things like easy exposure of metrics, having a simple editable back end, these used to be table stakes for this sort of thing
- aitchnyu 6mo agoUmm, does Google sheets let you fetch rows in O(log(n)) time or aggregate numbers?
- Andrew_McCarron 6mo ago[flagged]
- sxa001 6mo agoThanks and great question - appends are atomic via Google's Sheet API, but updates/deletes are currently positional based on row ID. It's 'last-write-wins' for now if there are multiple concurrent updates.
- lanice 6mo agoMissed opportunity naming it ensheetify.io
- pugchat 6mo ago[dead]
- everythingabili 6mo agoYou can do this with GQuery. It's really good (no affiliation). /* Uses: https://github.com/FCPS-TSSC/GQuery https://github.com/FCPS-TSSC/GQuery */ function exampleQuery1() { const gq = new GQuery(); const result = gq .from("Tags") .select(["ID","Name"]) .where((row) => row.ID == 12) // you can use > or < etc .get(); JSON.stringify(result, null, 2) }
- kylex-ken 6mo agois an .xls a normal workflow for API creating? I get the documenting the schema is easier, but why not just a IDE with a prompt?
- rakeshd 6mo agoHas anyone run into issues with concurrent writes? Like if two users submit a form at the same time, do you get race conditions or does Sheets' API handle locking somehow? I
- matevz_smallPMS 6mo ago[dead]