10 ms·
Show HN: SQLite Online – 11 years of solo development, 11K daily users
- bob1029 1y agoI am really struggling to figure out what this is or how it provides value. Edit: This discussion isn't exactly what I was hoping for. I was looking for ways to better highlight the features or value proposition of this site. Not defenestrate it altogether. E.g.: A simple modal that says "Welcome to SQLite Online! You can <core value proposition> with this tool." would have radically altered my initial perception.
- zvmaz 1y agoFor me: Try queries without the hassle of setting up a database. Learn SQL. Experiment. Etc.
- WesolyKubeczek 1y ago> For me: Try queries without the hassle of setting up a database. sqlite3 some-file.db That's the whole "database setup" in case of SQLite.
- cortesoft 1y agoWhere do I type that in on my iPad? Some people might not have computers but still want to learn?
- josefx 1y agoPay for one of the many SQLite Apps on the App Store, like Jobs intended?
- sqliteonline 1y agoThis method is not available on all devices and does not support sharing or collaboration. The website, however, works on any platform and allows working together in a single shared database.
- zwnow 1y agoyou can just share the file, huh collaboration sounds nice though, it definitely has a market considering 11k daily users.
- sqliteonline 1y agoIf the database is loaded from an external source (as shown in the examples), using the "Share Script" feature automatically attaches a link to the database. The link allows both the database and the script to be accessed and loaded.
- avinassh 1y agohow does collaboration works for SQLite, since the db is embedded?
- kijin 1y agoUhm, by allowing multiple people to connect to the same database through a webapp like this?
- sqliteonline 1y agoWhen you upload a database to the site, it is stored in your browser's memory or uses OpFS — a local storage within your browser. You can share a link to grant access to your database, with the connection handled via P2P through WebRTC.
- deleted 1y ago[deleted]
- WesolyKubeczek 1y ago> This method is not available on all devices and does not support sharing or collaboration. The parent cites "hassle of creating the database" and does not mention sharing or collaborating. I showed that it doesn't get more hassle-free than this and doesn't even require connectivity (which might be a problem "on some devices" or "in some locations").
- oblio 1y agoI think someone forgot what made the web the most popular platform in the world.
- killerstorm 1y agosqlite3 :memory: if you don't want it to be persisted
- ajmurmann 1y agoHow do I get this sqlite3 command to work on my Chromebook? When I type this in on my Windows machine it's not working either. Are there other steps I need to take first?
- jermaustin1 1y agoAs a developer, on your development machine, if you use sqlite even infrequently, then no. Anyone else, probably, but then why would you use this tool if you have no need for sqlite?
- encom 1y ago>my Chromebook LOL >my Windows If you're the kind of person who even knows what SQL, SQLite or hell even a database is, you already know SQLite runs on pretty much anything.
- chasil 1y agoOn your Chromebook, load the Linux subsystem, which you can find in settings. It will give you a shell that will have SQLite. For Windows, download the interactive command line tool from sqlite.org.
- ajmurmann 1y agoThanks for your answer! That said, I know how to install SQLite and am well-familiar with it. My point was that the parent's comment did not tell the full story. A student just trying to do the first baby steps with SQL won't know any of this. Yet with the website shown here, they can immediately focus on the actual SQL, no matter what devise they are on, as long as it has a functioning browser.
- Aeolun 1y agoImplicit assumptions: You know what a CLI is, you have one on your system, and how to install the sqlite3 binary somehow. When I just started out with linux I was so frustrated with people just listing reams of commands, or files I needed to edit without stating I needed to look in /etc
- asveikau 1y agoI had the same reaction, why not just use the command line interface? From there, I guess the value this adds is: 1. There is a UI, i.e. it has some autocomplete of sql syntax and it shows tables in a ... tabular format. 2. As others have mentioned, there are sharing features. Yes you could share a .db file, but with this you can also send a link viewable in a browser, with specific queries, etc. #1 reminds me of MS Access from back in the day. Those were sql dbs underneath, but they had some interfaces to show you how to build queries. It wasn't a bad way to dip your toes into the basics of sql.
- zvmaz 1y agoI don't understand the people trying to convince others that this tool is useless by saying "just do it this way, duh!". It is useful, even from a rapid glimpse at the website. Be kind and sensible.
- mchaver 1y agoThe just-use-rsync line of thinking doesn't go away https://news.ycombinator.com/item?id=9224 https://news.ycombinator.com/item?id=9224
- Sohcahtoa82 1y agoI'm at the point where I know exactly what comment that is because of the comment ID of 9224. Don't even need to mention rsync, Dropbox, or anything else.
- deleted 1y ago[deleted]
- tiffanyh 1y agoI would have loved this 25-years ago during university. Would have made homework (and just learning) significantly easier.
- gwbas1c 1y agoIt's clear that the tool is highly useful to the people who use it. That being said, I feel like I'm dumped into the playground without understanding what I am playing with. A few short paragraphs, examples, screenshots, explanations, ect, would go very far.
- sqliteonline 1y agoYes, we plan to add starter tips with explanations of their purpose.
- tuveson 1y agoJust to offer another perspective: I think the way your website works right now is actually very nice and the person you’re replying to is wrong. When I go to godbolt.org, it similarly puts me on the screen where I actually want to be, as a person that wants to use that tool. I think an “About” page or docs would greatly help people that want to know all of the features offered by the site, but I think the default of dropping you into the tool is ideal.
- jairuhme 1y agoAgree with your edit saying that there should be a landing message that gives a quick overview. But with in a few moments I was able to see that you can create a database and then start inserting tables/records into it. Seems like a pretty good tool to learn how to create and manage a database without the hassle of having to download sqlite and start testing commands that might be new to you in the CLI
- sqliteonline 1y ago> You can <core value proposition> It may be difficult to briefly describe all the website’s capabilities right now, but the key features include: * Federated queries across external and internal data sources. * Using query history as a source for new requests. * Collaborative access to databases — both server and local, with structure synchronization. * Automatic chart generation based on queries. * And much more, including hidden features that are not yet easy to summarize.
- LtdJorge 1y agoIf you want your points to appear in different lines in HN, use two backspaces :)
- sqliteonline 1y agoThank you
- crazygringo 1y agoYup, I think it would be a big help if the home page ('/') was a landing page explaining who it's for and why, and why. Is this for students? For prototyping? For quick analysis? Sample data? Importing real data? Use cases are key. And then have a big hero button leading to the the actual tool ('/app' or '/playground' or whatever). Maybe preloaded with different sample data depending on the use case. Right now, being dumped into a complicated interface with zero explanation is very confusing. (None of this is to criticize the project itself, just to help identify it to the people who might find the most value in it!)
- qmmmur 1y agoCan’t people decide themselves what it’s for?
- crazygringo 1y agoNo? I don't have the time to spend 10 minutes getting to know a product's features to try to figure out what it might be for. Just tell me what it's for. I mean, it's great if people can figure out other uses for it too. If they want to use it in a new way, awesome -- don't get me wrong. But products are generally built with specific purposes in mind. So don't hide those.
- sqliteonline 1y agoThank you for your feedback. The idea was to make the product understandable without additional explanations, but it seems I didn’t achieve that. I have a lot to improve.
- whizzter 1y agoAs an educator I would've loved to have this last time I was teaching SQL. 1: No install 2: Ephermal (just reload if you've messed up?) 3: Good syntax highlighting 4: Visual UI to navigate the model Why to pay for it though? That's a harder nut to crack, the UI is quite nice compared to many I've seen so maybe sell as an addon for those that provider hosted databases, collaborative spaces or as a desktop app. No obvious slam dunks though.
- benibela 1y agoAt first I thought that was about SQLite development itself
- foofoo12 1y agoI get this message: The site takes a long time to load: is your internet slow? If you have an old version of the browser update to the latest or use the latest version of chrome. Close all tabs with the site and reload the last one. support: z@sqliteonline.com
- foofoo12 1y agoCurrent Firefox on Linux. This is the console message: downloadable font: Glyph bbox was incorrect (glyph ids 33 55 62 81 82 83 84 87 88 89 90 112 119 120 123 139 159 162 164 166 178 184 185 217 218 272 273 274 275 279 281 284 290 291 292 309 310 319 321 323 326 329 330 331 332 333 334 339 341 347 349 351 352 353 354 357 358 361 366 367 370 371 414 431 436 444 445 458 460 464 465 483 505 508 511 514 516 517 518 520 521 538 539 546 568 574 579 580 585 586 594 596 599 602 603 616 618 622 627 629 630 633 634 638 643 645 651 654 665 675 685 686 688 691) (font-family: "FontAwesome" style:normal weight:400 stretch:100 src index:1) source: https://sqliteonline.com/fonts/fontawesome-webfont.woff2?v=4.7.0 https://sqliteonline.com/fonts/fontawesome-webfont.woff2?v=4... using deprecated parameters for the initialization function; pass a single object instead sog3.js:2251:21 Uncaught (in promise) ReferenceError: RTCPeerConnection is not defined <anonymous> https://sqliteonline.com/f/agw31.0.26.min.js:49 https://sqliteonline.com/f/agw31.0.26.min.js:49 async* https://sqliteonline.com/f/agw31.0.26.min.js:87 https://sqliteonline.com/f/agw31.0.26.min.js:87 async* https://sqliteonline.com/f/agw31.0.26.min.js:89 https://sqliteonline.com/f/agw31.0.26.min.js:89
- sqliteonline 1y agoYou may be using an outdated browser version that doesn’t support some features. Please update your browser to the latest version for the website to work properly.
- tecleandor 1y agoI also get the glyph message on my Firefox 144.0b8 and it runs fast here, so I guess that shouldn't be the reason... RTCPeerConnection is available in Firefox and Chrome since 2017... son unless the browser is veeery old... Maybe something blocking RTC?
- hu3 1y agoCool project. Congrats for keeping it up for so long! Could you share some numbers like a ballpark of subscribers?
- sqliteonline 1y agoThank you, unfortunately, almost zero.
- hu3 1y agoThanks for sharing. Still valuable for me in any interview if someone says they kept a service up for 11 years. Shows determination.
- bdcravens 1y agoOr stubborness :-)
- redox99 1y agoIt's weird you show the price in some currency I don't even know what it is (even if it says 10 dollars small next to it). Just show and charge 10 USD. You can localize that other currency (Rubles?) if GeoIP matches.
- stronglikedan 1y ago[flagged]
- oooyay 1y agoSome things in life are just not that serious. People can have passion projects they plan on going nowhere.
- melvinchus 1y ago[flagged]
- hung 1y ago[flagged]
- FitchApps 1y agoWhat a nice tool. Thank you for building and maintaining the product. I casually use it to validate SQL joins
- sqliteonline 1y agoThank you! I hope it will capture your interest with new features in the future.
- TiredOfLife 1y agoDon't localise messages if you don't have anyone to proofread. Browsers have built in translation nowadays that users can activate if they need.
- sqliteonline 1y agoCould you please advise where the issue might be?
- kijin 1y agoNot the parent, but I see that several messages related to buying a subscription are translated into the locale of my browser. In my language, it just feels a little amateurish. In other languages, perhaps it might contain something totally wrong. So it will be safer to just use languages you are comfortable with, like English and Russian. Especially on pages that concern money. :)
- sqliteonline 1y agoThank you. I used an LLM for translation, hoping to achieve a high-quality result and make the service convenient for users. It seems I was mistaken.
- dcreater 1y agoOr use the latest llms for translation
- recursive 1y agoThe sufficiently-late LLM seems a bit like a true Scotsman. After your comment, the OP explained that they did, in fact, use an LLM for translation. No info about whether it was "the latest".
- jve 1y agoThe paid subscription lists this feature: > No auto-renewal That's not subscription.
- sqliteonline 1y agoI aim to make the product convenient and as straightforward as possible. It's better to extend its use when needed than to worry about when to stop.
- caohongyuan 1y ago[dead]
- qarthandyc 1y agoI'd highly suggest getting a designer, or somehow thinking with more of a product mindset? I fail to understand what it does quickly, which shouldn't happen to a potential customer.
- alberth 1y agoIt’s possible you’re not the target audience?
- anamexis 1y agoI guess if the target audience is people who already know what it is?
- alberth 1y agoDevils advocate: when Google launched it was just a blank form field. Similar to ChatGPT. But those who knew what it is, their usage is huge.
- tantalor 1y agoThat's an absurd comparison. At the time there were dozens of search engines and new ones every day. Everybody knew what search engines were, and what they offered. Google did not invent the form field -> SRP pattern; people were already used to that. Google was able to rise above the field because 1. yes the homepage was nice, but more importantly 2. the results were so much better than competitors. I don't understand the comparison to SQLite online because what are the well-known competitors, and what is it even trying to do? Not even going to touch the ChatGPT comparison.
- conductr 1y agoThis is accurate. Back then nobody went to google and was confused when it was just an input box. They went there already knowing it was a search engine and that search engines needed input. They came back because the results were so good (relative to competitors). The clean interface just stood out as the other competitors at the time we're bogged down by ads. So a quick loading page in a time of slow internet connections, was a very nice user-centric feature.
- saltserv 1y ago[dead]
- gjvc 1y agosuggest adding "execute query on ctrl-return"
- sqliteonline 1y agoUse Shift + Enter to run the script.
- gjvc 1y agofair enough, but ctrl-enter is a convention used reasonably widely, so sometimes, there's safety in numbers :-)
- Towaway69 1y agoGreat job and many kudos for the determination to maintain a tool for 11 years! I thankfully have no use for the tool since I no longer have to code SQL - the world is a better place for it. It raises the question how many more "bus tools"[1] are there? Tools maintained and developed by a single developer with whom, when hit by a bus, the tool would die. [1] no offence meant but "bus developers" is the term I learnt, it seems a little cruel to speak of folks being hit by buses - is there something better nowadays?
- sqliteonline 1y agoThank you. Our entire life is but a moment: something disappears, and something new emerges.
- therealdrag0 1y agoI have heard something like “lottery factor” as a more pleasant term. Though personally bus doesn’t bother me.
- erickf1 1y agoThis reminds me a lot of RavenDB. I'm impressed.
- BinaryIgor 1y agoHow do you make money?
- ray_v 1y agoUsually people start off by getting a job or apprenticeship. But from there, the sky is the limit! /s
- BinaryIgor 1y agoOh; I meant on this website, of course :) Not generally in life
- BiraIgnacio 1y agothank you for doing this, congratulations
- dsamy 1y agoAmazing that SQLite Online has survived solo for 11 years. What technical or business pivots have kept it alive (and relevant) across changing web stacks and user expectations?
- aidenn0 1y agoWhat is it?
- alberth 1y agoUnsolicited suggestion: since some people are asking "what is this". Maybe buy a new domain name like below (and direct to your existing from this new url). EasyLearnSQL.com TrySQLonline.com LearnOnlineSQL.com All of these domain names are available for sale under $10. And the more descriptive name might allow you to not have to change the UI. (Very cool project by the way and congrats on 11 years)
- dewey 1y agoIn my opinion that's not good advice. Over the past 11 years this domain already built up some domain reputation and incoming links. Changing the domain for no good reason won't help with people understanding the use case of the site. The domain doesn't really matter so much as you can see with "replit.com", "chatgpt.com" or "stripe.com" which don't explain anything either. If you want to invest time I'd suggest: - Clean up design (Remove multiple disclaimers, side bar etc.) - Add h1/h2 that instantly explains what this is about - Have a list of simple examples that can be executed, not just "select * from demo" - If you want to increase traffic, take a look at "site:sqliteonline.com" on Google. There's currently only 14 pages indexed, so lots of low hanging fruits to optimize. Could also be extended by having pages dedicated to examples or a topic that people can land on if they search for things like "left join sqlite" etc. - Change site title from "SQL Online AiDE - Next gen SQL Editor | SQL Compiler" to something explaining what this is about.
- chii 1y agoi read the parent post's advice as duplicating, rather than changing - e.g., you keep the existing domain, but also the exact same app is available from those other domains. But you're not wrong - i dont think the domain has a big effect, and personally i'd rather save $10.
- dewey 1y agoThat’s duplicate content and Google doesn’t like that. You can set the canonical url etc. but in the end the URLs will not make the difference between a user understanding the interface or not.
- foofoo12 1y agoWhat is the WebRTC connection used for?
- appcustodian2 1y agoP2P “Share/Collaborate” mode: the UI text and toasts (“Share”, “Close connect”, “connected”, “No connected.”) plus e.rtc.user strongly suggest a feature where someone “hosts” a DB and others connect directly to run queries/see results live.
- pdyc 1y agowow that's a lot of users, congratulations. It says sqliteonline but it seems you support other db's as well.
- tonyhart7 1y agothis is fire. I didn't know that it have remote+memory db for testing
- tobilg 1y agoImpressive, congrats! I‘m building https://sql-workbench.com https://sql-workbench.com which is similar, but focussed on DuckDB WASM instead of SQLite… Love that you offer different databases.
- hoherd 1y agoI immediately tried to run .schema and a syntax error was returned.
- tuveson 1y agoI assume this is because sqliteonline is using the sqlite library, not running the literal sqlite command line application. Per item 7 in the faq (https://sqlite.org/faq.html https://sqlite.org/faq.html), the way to get that info would be to run something like the following: SELECT * FROM sqlite_schema WHERE type='table' ORDER BY name; The website does seem to correctly return the names/schemas of whatever tables you've created if you run the command above, but the editor (incorrectly) adds red squigglies around the command, since I guess it doesn't realize this is allowed.
- _el1s7 1y agoOk, you also have a popup in your website showing that off. Cool, but, you're not breaking any Guinness world record. There are solo founders behind many websites and tools and you might not even know that.
- arnabnandi 1y agoYour tool has been a huge help in the classroom over the past decade, thank you! Having a quick online link to get students started is really useful from a student motivation standpoint. This allows them to get a sense of the query flow before having to set up their own database or moving on to other DBMSes. Congratulations on 11 years!
- scottmcdot 1y agoThanks for tool! I've been using this for conducting interviews.
- mmeoww 1y agoI think the design not that bad but that green disclaimer appears on the first visit is kinda too long and nobody wants to read that in a mobile even in PC, so it might be cartoonized for the user to better understand it :)
- bilekas 1y ago> The server is unavailable, contact your network administrator. Please try again in a few minutes. Also where is it based ? And your payment processor ? I like to support learning platforms like this financially, when they work of course, but that's going to be a problem if you're based in Russia.
- talljohnson1234 1y agoThis is a really nice tool, I use to practise my SQLite.
- foofoo12 1y agoIt might be a good idea to not attempt an WebRTC connection right away. Since you're only using it for collaboration, there's no need to connect right away. Privacy minded users might have it disabled by default since it's a good fingerprinting source. Currently the website doesn't load if WebRTC is disabled.
- scottm_64 1y ago11 years of making SQL learning easier, that's what passion looks like!
- boxerab 1y agoМолодец!
- Rickasaurus 1y agoA potential sales tip: Going down the list of the $10 plan the first thing I saw was the 300 scripts limit and thought "no way". Pay attention to how supabase does it, basically no limits except compute and storage.
- sqliteonline 1y agoThank you all! Special thanks to those who offered a fresh perspective and helped reveal the project’s challenges.