What it does:
• Connects to MySQL, PostgreSQL, and SQLite databases. • Spin up local databases directly through the UI, even if you don’t have one running. • Manage and query your data in a lightweight, intuitive interface. • Completely open source.
Why we built it: We wanted to share the core Outerbase experience with the developer community as a free, open-source tool. It’s simple, fast, and removes the barriers to working with databases locally.
GitHub: https://github.com/outerbase/studio
Release Blog: https://www.outerbase.com/blog/outerbase-studio-open-source-...
Try it out: studio.outerbase.com
Would love the HN communities feedback, please try it out and let me know what you think!
I would love to see a Firestore driver implemented (maybe I'll take a crack at it some day), as I'm stuck in GCP land for the time being.
For whatever reason, this is the main limiting factor, local software can already be really good, for example:
• DBeaver - pretty nice and lightweight local tool for a plethora of databases https://dbeaver.io/
• DataGrip - commercial product, but you'll feel right at home if you use other JetBrains products https://www.jetbrains.com/datagrip/
• HeidiSQL - haven't really used this myself but the version graph on the page is cool https://www.heidisql.com/
• DbVisualizer - really cool tool that helps you explore messy schemas https://www.dbvis.com/
• Jailer - something for exploring datasets, a bit niche, but can be useful https://wisser.github.io/Jailer/
There's also some solutions that are specific to certain databases, like:
• pgAdmin - for PostgreSQL https://www.pgadmin.org/
• MySQL Workbench - for MySQL/MariaDB, sometimes a bit buggy but I really like the reverse engineering and forward engineering functionality https://www.mysql.com/products/workbench/
• Adminer - one of the somewhat rare web based solutions for the likes of MySQL/MariaDB, actually pleasant to use as long as you use it securely, this I think is a good example of web based DB tools https://www.adminer.org/
(out of respect for my own sanity, not mentioning SQL Developer, even though it sort of works)
As a graphic artist, I even get enthusiastic for a lot of the marketing, but as a freelance IT consultant, I tend to lose all motivation for selling my services the nanosecond I achieve sufficient income to get by, and revert to spending my time exploring and tinkering. We all have our own blind/weak spots.
I have often thought that some kind of service to pair creatives/engineers with professional development/managers would be really useful. I think that’s just called “LinkedIn”, but something more explicitly about entrepreneurial endeavors would be nice.
- https://www.beekeeperstudio.io/ - electron based and I find it really simple to use.
- https://github.com/k1LoW/tbls - generate markdown docs from databases (similar to DbVisualizer, but it's a static binary and you can just push the md files - see https://github.com/bbkane/envelope/tree/master/dbdoc for example)
Azure Data Studio is pretty good and free to use. https://learn.microsoft.com/en-us/azure-data-studio
Supports of course most MS products but also: PostgreSQL MySQL MongoDB Apache Spark Apache Cassandra
Everyone I've seen either pivots to a Retool competitor or a BI tool.
Source: I've tried it twice.
Biggest limitation right now is its lack of support for vector style databases like Lance, qdrant, etc.
Not only that, but the SQL support works for embedded strings in programs written in other languages such as Go. So it knows that some statement conn.Exec("SELECT ...") is SQL and syntax-highlights it, performs schema validation and autocompletion inside the string literal. Not only that, but you can open the string literal as a separate editor and edit it, including doing things like "reformat", which was an unexpected delight when I discovered it.
It's this kind of "feature stacking", which features working organically with each other, that makes Jetbrains IDEs so damn good.
But the basic database tools are also superb. Its table view is really fast. It has syntax highlighting (e.g. if a column value is JSON), live editing (including the ability to open a column value as an editor, in which case you get all the usual syntax tools), and even graph rendering with support for multiple data series and grouping in a single graph.
There is also excellent support for exporting data. You can mark a bunch of result rows and copy them as CSV or as SQL INSERT statements, or you can save the entire result to a file. This is how I often export data from BigQuery, as it's much more convenient than Google's own tooling (the web UI is particularly bad, requiring that you export the query result to a GCS bucket first).
These database UIs aren't technically difficult to do. But somehow nobody else seems capable. The closest I can think of is Microsoft's tooling around SQL Server, which is pretty slick, albeit MSSQL-specific. I often wonder how Jetbrains, which is a pretty small company, can be so effective and produce such an incredibly feature-rich product portfolio.
I personally also vouch for DataGrip, a fantastic tool. No browser based tool is going to come close to the experience of an actual desktop app imo
Why?
It's mostly just a nicely bundled way to run it if you aren't very technical but still want a easy to use database client.
You can also run commands like this to connect to your database if you want:
npx @outerbase/studio \ --port=5000 \ --user=admin --pass=123 \ mysql://root:123@localhost:3306/chinook
It even has a demo: https://demo.dbgate.org/
At the last company I worked for I made a command to ssh into our servers and extract job data. I saved the data in a local SQLite database. Then I made a dashboard in table plus to show the it in a chart that would refresh every second.
I had a real-time dashboard in about an hour once I figured out all the job info I wanted to capture. It was really cool!
https://firstpagesage.com/marketing/average-cac-for-saas-bus...
And these are consumers:
> definitely lots of devs who want easy DB access and would pay
"Software developer" typically refers to an occupation (whether self-employed or working for a corporation), so products for developers would also be classified as B2B rather than B2C.
By the way, another fundamental issue with your link is that it's SaaS, while this is about a desktop app
> so products for developers would also be classified as B2B rather than B2C.
Only if those devs buy it as a business, not individuals like what we're discussing here.
So basically you can't get to any relevant CAC number from your link
I've never used Firestore directly, but I did see Firebase's recent announcement about Data Connect. It seems like it could act as a bridge to bring your data into Outerbase. Do you think that would work?
I think the problem is that demand/interest is not sufficient to keep a self-hosted project going, nor monetisable enough for a hosted one. People wanting to self-host end up going with something more specific, possibly self-made, for their needs, rather than a generic solution, and a hosted solution has a couple of significant costs to cover:
1. Resource use when people load a large amount of data then run under-optimised queries on it (or impossible to optimise, if they've chosen a bad structure for what they want out of the data). This can be mitigated by throttling individual users' IO/memory/CPU use but then the product gets a reputation for being slow.
2. The support that many people will expect (especially if they are paying, but even if they are not) which could consume a lot of time. A project that is very lucky might end up with a community that takes on a good amount of this load, but you can't bank on being that lucky.
3. Resource to keep available all the hardly used, or even never used, projects that will sit around if the service is free. Mitigating this with cold storage will help, but as with throttling active use this will make the service appear slow generally (people will remember the tens-of-seconds startup time more than they will notice subsequent actions being more than fast enough).
Getting people to pay will be an uphill struggle, and money from advertising is unlikely to cover the above, especially with many people like me blocking commercial stalking which also blocks a lot of advertising.
There are many commercial services and tools. Like Notion and Airtable and all their clones. For more advanced users and usecases there are those like Metabase, Retool and all their clones. But they are more focused on specific domains. And today it's quite easy to just barf up some CRUD-interface with webstack, especially now that AI is good enough for simple stuff.
When you contrast web UI with native GUI, the realspace you lose in the web accumulates fast
All that padding makes it hard to see the actual information, especially for power users
Compare this with Navicat, or even DBeaver, their native tabs, buttons and cells are almost half the height of Outerbase Studio GUI
I'll have to look into it again, it could have just been a skill issue.
As much as the performance and lightweight aspects of Tauri are great we also have to weight the consistency of user experience which Electron gives having Chromium built into it. All that said... it's worth us taking a second look to see if Tauri will work for us in this use case!
The main benefit is that you can organize your SQLs in files or even better in markdown files.
God knows how many times I had to retype the same or a very similar SQL in the past.
Make it as easy to run as something like datasette.
$ npx @outerbase/studio \ --port=5000 \ --user=admin --pass=123 \ mysql://root:123@localhost:3306/chinook
- Supabase Studio (open source, Postgres only) https://github.com/supabase/supabase/tree/master/apps/studio
- Prisma Studio (closed source, supporting most popular databases) https://www.prisma.io/studio
- Drizzle Studio (closed source, supporting most popular databases) https://orm.drizzle.team/drizzle-studio/overview
Consider you have some email list that you need to maintain and ideally you want to let others maintain. Throw it in a table and give them permission to add rows.
There are a ton of things that I consider 'configs' like that and can't believe there aren't strong standards about how to do these sort of maintenance things (or maybe there are but I'm unaware)
Small typo in the footer - 'Compilance' (error report: https://triplechecker.com/s/345418/studio.outerbase.com)
Integer numbers are accurate up to 2^53-1 (and down to -2^53) as the IEEE754 double precision type is used, which is sufficient for a majority of tasks, but obviously not all.
Native BigInt (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...) is widely supported these days (has been since late 2020 IIRC, or early 2023 if you waited for LTS releases without the feature to reach EOL) but is not yet widely used (many don't seem to know it is there, or assume it isn't widely supported, or are concerned about performance). Performance isn't usually bad (about 60% or the basis Number type last time I compared) but there are other issues with JSON or with many libraries only supporting Number not BigInt.
I've had difficulties finding such application. The closest I've been to achieving something like this is vscode + liveshare + some sql management extension.
For production use, we'll need some form of OAuth support, or users will have to implement their own authentication gateway in front of the Studio server.
outerbase.json { "driver": "mysql", "connection": { "database": "chinook", "host": "localhost", "port": 3306, "user": "root", "password": "123456" } }
That was actually the catalyst for creating Outerbase! We have all types of people using us today, honestly we resonate really well with anyone who needs access to a DB. Frontend folks love us because we're a more modern way to do it and we line up really well with other modern frontend stacks, backend folks like us because we are really focused and make it straightforward to manage your data, and non-technical teams love us because they can actually get the data they need without needing to be a DBA.
E.g. I've use DBeaver before. Is there some reason I should try Outerbase next time?
https://www.outerbase.com/blog/the-5-best-database-managemen...
Our goal is to make data accessible through good user experiences and focus. Whether that is being able to spin up a local database directly from the app, or simply making the query experience as intuitive as possible, we are really pushing on making the database usable.
Is the long term intent eventually to have parity between the open source desktop app and the cloud version (at least in terms of database type support)?
https://github.com/Brayden/starbasedb/blob/main/src/studio/i...
Excited to hear that some AI stuff is going to be brought over, currently do a lot of switching back and forth with ChatGPT, and having your database schema automatically be part of the prompt would be great.
I'm guessing visualisation stuff is going to stay part of the paid offering?
Yeah definitely it's been a challenge to think about how we want to bring it over, probably going to do a bring your own key experience for the AI that way we're not eating the costs on an open-source project. Have been thinking about bundling a Llama type experience as well, but I'm not sure if people would want that, would you?
Yeah for now it is, although we've talked about also releasing a lightweight version of that haha!
i didn't try it locally yet but it looks like the cloud version can create SQLite databases inside the browser? Assuming the open source version does too, can you also "connect" to those databases somehow?
Yes you can spin up sqlite directly in the browser, and on the local studio version you can actually spin up both MySQL and Postgres instances. You have to have docker running as well, and we will automatically spin up the containers for you, making it a completely hands-off experience!
You can connect through them instantly through the GUI without needing to configure anything. We are actually going to be releasing something later this week that will really help with the local dev story by making those local databases accessible from the web
Let me know if we can help with it!
Can you email me brandon [at] outerbase [dot] com?
replicate all its functionality, then imma stick this on all our production servers
yeeeeeeeah boooooiiiiii
In the meantime if you want you can check out our cloud-offering, we have a very generous free tier!
https://github.com/outerbase/studio-desktop/releases
Apologies for the confusion here!
You can absolutely not only use agpl software, for free, you can even sell access to it. SO OVERBEARING
If you can't stand the burden of having to share with the next guy that which you yourself were given for free, there is no reason for anyone else to feel the tiniest bit of sympathy.
Feel free to write your own software and set whatever terms you like. Surely the need to write it and develop it to the point of actually being any good is not overbearing at all.
Or feel free to license software from someone selling it. Surely Oracle or IBM terms will not be overbearing at all.
Do people even hear themselves?
People say that but I remember when Mongo changed their license to some custom one that was similarish to AGPL and it didnt even matter because China just does not care.
You think that paid proprietary software does not have this property?
I was boggled that they were pleased to have been audited and blessed by fucking Microsoft.
Talk about "wind up in a lawsuit..." I am just trying to imagine freaking auditors from Gimp or Apache showing up and demanding to rifle through all your computers to make sure you aren't violating Gimp's GPL license.
But GPL or AGPL is overbearing.
People have somehow just lost any sense of rational perspective about just what is reasonable and unreasonable.
It's Freedom Zero because you certainly have the freedom to use it, along with a lot of other freedoms. But you have to adopt the license for the code it touches if you involve others in your Freedom Zero use of it.
If you connect to your database using an AGPL licensed db client, you don't have to change all your codebases to AGPL. Unless your code is a modification to the tool, and you are going to distribute it to others, it imposes no obligations whatsoever. It wouldn't even make logical sense. If you write a new browser or even a curl replacement and license it AGPL, and use it to curl Google, would G have to AGPL their entire giant monorepo?
Both my comment (code it touches) and the comment I replied to (sharing the fork) were about this case. Nowhere did I say there was any reason to worry about it if it wasn’t the case, or that it was the most common case. I imagined integrating a browser based SQL client into an enterprise app where you want to give users database access as a scenario where that part of the license might apply.
You can still do the above, and even charge for it! You’re just in the “hosted software” business, not the embrace-extend-extinguish business.
We love open-source and want to give back fully to the community. The AGPL felt like the most open license that still protects against outright theft — something we’ve unfortunately experienced in the past.
AGPL is perfect for this IMHO. The fact that so many people seem to think that even looking at the github page for an AGPL product will mean everything on Earth suddenly has to be AGPLed is their problem, not yours.