[HN Gopher] Launch HN: BaseDash (YC S20) - Edit your database wi... ___________________________________________________________________ Launch HN: BaseDash (YC S20) - Edit your database with the ease of a spreadsheet Hey everyone! I'm Max from BaseDash (https://www.basedash.io). BaseDash is an internal tool that lets you edit your production database with the ease of a spreadsheet. It's like being able to use Airtable to manage your company's internal operations. I was working on a side project a few years ago that required a lot of manual data management. I was using Django Admin which was fine, but wished I could just set up a two-way sync between my SQL database and Airtable (without any crazy Zapier workflows). After building a quick prototype as an internal tool, I realized that there was a space missing for a product somewhere between an admin panel and a database client. Something with an amazing interface that's usable by both engineers and non-technical users who need to access data within their company (e.g. customer support, operations). From there, I built BaseDash with a strong focus on expanding upon existing tools I love, with extra care and polish. The resulting product is a polished, opinionated internal tool, with all the functionality most companies need out-of-the-box. Being a web app, there are some great features that BaseDash enables for cross-functional teams. BaseDash keeps a full edit history of all changes made, makes it super easy to share access to teammates, and enables Google Sheets-like real-time collaboration for editing data. We currently support most SQL databases (PostgreSQL, MySQL, Redshift, SQL Server, MariaDB), with support for MongoDB and Firestore on the roadmap. We offer a hosted version, or you can host it yourself on-prem. We're still in early access but happy to invite the Hacker News community to try the product out. We're currently focused on small-to-medium sized software companies, with a combination of engineers and non- technical users. Try it here: https://www.basedash.io and let me know what you think! Author : maxmusing Score : 114 points Date : 2020-07-30 15:14 UTC (7 hours ago) | [deleted] | taylorwc wrote: | I'm really bullish on this concept. I learned how to code coming | from a finance background, and the mental shift from Excel to | relational database felt natural enough, but the lack of Excel- | like ways to interact with those databases has always felt like | white space to me. Well done! | joparisot wrote: | Hey Taylor, You should check out actiondesk (disclaimer: I'm | the founder)! We're complementary from basedash (not doing the | writing to the database, but focusing on viewing and analyzing | your db data in a spreadsheet) | maxmusing wrote: | Actiondesk is awesome. We share a couple customers. | skunkwerk wrote: | Congrats on the launch. Have wanted something like this for years | - most admin tools aren't easy to use like Airtable, and Airtable | itself isn't designed to be a backend for your apps. Would love | to see a lower-priced tier for just a single user (no | collaborators). | maxmusing wrote: | Thanks! We'll probably add a cheaper plan for individuals soon. | If you're interested, we can set something custom up now. Shoot | me an email: max@basedash.io | smt88 wrote: | > _internal tool that lets you edit your production database with | the ease of a spreadsheet_ | | I've worked at companies with pgAdmin or something similar that | allowed people to edit prod. It was a catastrophe. | | As others have said, non-tech people shouldn't have access to | prod data, where they may not understand the schema well enough | to edit it. Tech people already have GUIs. | | Using something like Airtable and syncing it with prod using a | thin layer of code is much more viable. | darkhorse13 wrote: | How big is the "spreadsheet as database" market? I mean don't get | me wrong, I am a huge fan of spreadsheets. But it seems like | there are many products and companies trying to compete in this | space. | maxmusing wrote: | We're more so positioned as an internal tool, so competing with | products like Retool and Internal. Main difference is that | BaseDash gives an opinionated interface rather than a UI | builder. We're betting that most companies can get away with a | really polished Airtable-like interface, saving them from | needing engineers to build the UI themselves. | ignoramous wrote: | > _We 're betting that most companies can get away with a | really polished Airtable-like interface, saving them from | needing engineers to build the UI themselves._ | | Yes! If you add to this [0] a managed database offering of | your own (ala airtable) and make it tres simple to (ab)use, | then that'd be something. All the best. | | [0] database _is_ the app? | maxmusing wrote: | We actually had a 1-month-long pivot to managed database | hosting early on in development, but it was super janky. | Might look into this again in the future. | MattGaiser wrote: | There is no way that my current organization would buy this, | but it would free up a lot of developer hours if customer | support or even operations analysts could do this instead of | needing a dev every time they wanted to run a custom report. | shreyas-satish wrote: | Product looks great, congrats on the launch. I would reconsider | the positioning of the product if I were in your shoes. | | As danpalmer said, I suspect it might be tricky to ensure data | integrity if non-technical people are bypassing app-level | validations. | | That said, while I may not use this for my mission-critical data, | I do think there's a lot of potential in using this as a headless | CMS. I'm currently using Airtable, and its API limits make it | unusable for anything apart from light workloads. Also, doesn't | have webhooks. | | But, if I can use BaseDash instead as my CMS and have my | marketing team handle the data through a familiar interface, | while design + dev source the data into Figma & a static site | through an API respectively, I see myself paying for this. | maxmusing wrote: | Absolutely, we have a couple customers using BaseDash as a | headless CMS. Edit history is especially nice here because you | can always look through past iterations of content. | kkotak wrote: | Any plans to support NoSQL? | maxmusing wrote: | Yes! MongoDB and Firestore are first on the roadmap. | MattGaiser wrote: | How does this differ from something like DBeaver? Our QA Analysts | (semi-manual testers) use that for making tweaks to our | databases, both production and otherwise. Developers also use it | because it is frequently easier than the command line when we do | not know all the table and column names. | | Is it basically a less intimidating version of that? | maxmusing wrote: | Yes, it's meant to be much easier for non-technical teammates, | plus has more collaborative functionality built for teams (easy | to share access, team-wide edit history, real-time | collaboration). | | I tend to think of tools like DBeaver as being built for | individual, technical users, while BaseDash is built for cross- | functional teams. | ron22 wrote: | You can track changes and see comments as to why each change was | made, that's really cool. | itachicomment wrote: | They should use this as their main selling point. | codetrotter wrote: | Gotta hand it to you, this looks really slick. Also, the call to | action at the bottom was well made; | | > Skip the waitlist, this week only | | > We're opening access to BaseDash for the next week during our | Hacker News launch. | | Usually when someone is like "act now" I'm like "yeah right". But | in this case, whether it really matters or not that I sign up | exactly this week, the fact that you put some effort into | connecting the text to the HN post made it feel more genuine and | was sufficient to instead make me go "alright I'll do it". | | I don't immediately have time to use it but I can tell that this | product is useful so I'm making a mental note to log back in in | the future and check it out more. For now I was happy to see that | in addition to the UX niceties that were mentioned on the landing | page, you guys make it possible to configure a connection with | SSH between your servers and the db servers of the user. That is | very encouraging to see :) | | I think on top of that it would be neat if you also offered users | to configure connections that go through Wireguard, as I run | Wireguard on my personal server and I know other people do too. I | guess one guy asking for Wireguard is probably not going to | convince you to add it. But who knows, maybe others will request | it too ;) | maxmusing wrote: | Thanks! We thought it would be best for HN to have direct | access (we didn't do this for Product Hunt). | | I'll keep Wireguard in mind :) | asavinov wrote: | The real power of such kind of tools is determined by its ability | to derive (infer) new data from _multiple_ tables, particularly, | by linking tables and aggregating data (using these links). | Airtable had an interesting approach to this problem (yet, not | perfect imho). Here I do not see how can I derive new tables or | columns from already existing ones except for using SQL. If | BaseDash relies on SQL then the question is what are its USPs | which are directly related to data? | maxmusing wrote: | We have the ability to join tables along foreign keys in a | couple clicks through the UI. Definitely looking into adding | aggregated data & computed columns soon! | kanobo wrote: | Congrats and looks great, I like the tracking history/change. If | everything is tracked is there a feature to rollback to a | previous state? If so, why not also advertise it as a innovative | backup + edit solution? That would be be a bigger deal than just | the spreadsheet part since people already use DataGrip or | TablePlus. | maxmusing wrote: | We only track changes made through BaseDash, so we don't have | full snapshots of your database to revert to. We'll definitely | add a feature to rollback individual edits though. | pratio wrote: | The product looks cool but i seriously doubt if something like | this can fly in any of our production services where changes can | be made directly to a production database without an audit trail. | Even the example on the website where the account credit is being | increased is something that I've yet to see in a production | system. To safely use it on a production system internally it | would have to be deployed on premise. | | In addition to that, the TOS clearly wash their hands if | something goes wrong. I use airtable extensively in my personal | projects and at work which seems to work fine. | | One more thing i observed about the company structure is that | they're based in Delaware in a virtual office. Now, i know that | as startups go, this isn't unheard of but trying to get this past | legal would be nightmare. | | Congratulations on the launch though. | maxmusing wrote: | We have edit history which acts as an audit trail for changes; | view logs are coming soon too. | | We offer on-prem, and expect a good portion of SMBs to use it | over our cloud version. | | Good catch on the virtual office! We're actually based in | Canada, that's our US company's legal address. | pratio wrote: | I have several clients that are startups and i usually | recommend them JetBrains Datagrip which has yet to | disappoint. It also makes it easier to access the databases | directly behind a VPN. Is there a limit to the number of | databases a single user can access on a startup license? | | The reason i am asking this is that even a small startup can | have multiple databases in production. A single license of | DataGrip might sound more beneficial in that case. | interactivecode wrote: | could we self host this for DIY/home use? | danpalmer wrote: | The main question I have with tools like this is around safety. | | The reason we typically _don 't_ directly edit production data | like this is because of application level concerns or validation. | | I think it's important that any tool like this allows a way to | replicate that safety in some way, otherwise it's as risky as | using a GUI client directly. Access control (which this does) | addresses security and starts addressing safety, but there's a | lot more necessary to get to the safety that is often enforced at | the application level. | | There's an argument that the validation should be in the | database, and that's nice when it's possible, but it's often not. | For any application using Rails/Django, anything else along those | lines, anyone interacting with the database mostly via an ORM, | will typically not be putting this sort of validation in the | database in _all_ cases - thinking about enums, fixed slugs, | relative dates, timezone support, etc. | hogFeast wrote: | One of the examples in the splash video is a person | incrementing account credit...if I was a finance guy, this | would terrify me... | | ...obviously, technical stuff like consistency seems | problematic too. | maxmusing wrote: | Definitely agree with this. As you mentioned, we currently | support database-level validation (anything data type related, | foreign keys, etc.), still trying to figure out the best way to | handle ORM-level validation. | | I think ultimately BaseDash would hook into your existing | validations (e.g. through models.py) to handle this. | pqdbr wrote: | This. | | We have very complex business logic directly tied to our Rails | / ActiveRecord validations (and, btw, they are a blessing). | | Also, it's not only validations. We rely heavily on | ActiveRecord callbacks, which are awsome. We have hundreds of | before_save, after_save, after_create_commit, and so on, all | over our models, and they are also indispensable to our | business rules. | | For a simple example, if I need to sync my User model with | Mailchimp after an e-mail update, this tool would not fire the | after_commit callbacks. | | Having said that, I would definitely pay for a "service" that | would act as gem in my application, mount itself on a specific | endpoint (think /turbo-admin), and give me the exact same | feature set I saw on this landing page, but with the ease of | mind that all our updates would go through Rails, running | validations and callbacks. | ignoramous wrote: | > The main question I have with tools like this is around | safety. | | " _Your app 's data is never stored on our servers with the | exception of edit history which lets you audit all changes to | your data_" from: https://www.basedash.io/pricing | | Not the most convincing sell but not that they did not address | this concern at all. | penagwin wrote: | He's talking about operational safety - your application | applies validation to inputs to the database. This ensures | that only valid data is stored. | | What happens if you have a field that's supposed to be 0-9, | but it's an int field and someone types in 22 on accident? | Sure it might be valid for the database, but it's not valid | for the application. | | There's certainly different ways to take the problem, but it | needs to be considered. | koolba wrote: | > What happens if you have a field that's supposed to be | 0-9, but it's an int field and someone types in 22 on | accident? Sure it might be valid for the database, but it's | not valid for the application. | | This is why database constraints exist. | | Any sufficiently long lived database ends up with more than | one code base connected to it. Enforcing rules in the | database ensures a baseline level of data sanity. | danpalmer wrote: | I think that's a different thing. If we think about a field | that is an enumeration (in some form), this might need to | deserialise to a language-native enumeration option in the | application, or need to have one of a small set of values. If | someone puts a typo into that field with this tool that could | cause issues in production. | | Yes an audit log may help you notice these and fix them, but | that's probably not going to be enough for anyone running a | product in production off this database. | nojvek wrote: | I started on a similar thing a couple of months back but didn't | make it to YC. I talked to a bunch of folks and demoed then an | MVP, but couldn't get any paying users. Covid-19 hit and I had to | find a paying job to make ends meet after many months on it. | | I open sourced my work to make something out of it. Not as | polished as BaseDash or popsql. It's MIT licensed. | | https://github.com/nojvek/boomadmin | | Congrats BaseDash on making it to YC and getting this far. I wish | you best of luck. Even though I'm a bit jealous. | randtrain34 wrote: | $50/user/month seems a bit steep to me, you can easily get | something like https://retool.com/pricing/ for $10/user/month. | Granted it's a bit of a different market, but it does a lot more | in addition to having editable/searchable/filterable DB tables. | MattGaiser wrote: | It seems to be the same as the retool pro version with audit | logs. | bikamonki wrote: | TLDR: Giving non-IT users direct edit access to the production DB | will most likely break stuff. | | I wrote something similar to BaseDash ages ago, I called it | dAgent (for database agent). I had it running for many different | clients from all sorts of trades (I do custom development). The | GUI built itself from reading the DB schema. | | My initial motivation was to cut dev time since dAgent would | automate the coding of CRUD interfaces. However, the use of | dAgent in production ended up being quite limited: maybe only | used to edit catalog data (i.e. add a city to the cities table). | The reason for this limited usage is no mystery: one can easily | break things. In particular non-IT users can break things. | | Allow me to use an example. You have a CRM with a customers | table. On that table there is a field called status. For that | field, dAgent would load a select input using the related table | statuses, there was no risk to break integrity. However, in the | business logic of this CRM, changing the status of a customer is | the result of running a process. That process not only sets the | status of a customer to a new value, but also writes a history | log, sends email notifications and perhaps triggers an invoicing | process. | | Now, imagine a non-IT user changing the status field of a | customer using a tool such as BaseDash. Now you have a customer | in status active who is able to login to your paid SAAS but has | never being invoiced. | | Many such nightmares can happen when users can directly edit a | DB. | | For this reason, in production, dAgent features where limited to | CRUDing simple catalog tables. It did help, but was not the | silver bullet I had hoped for. On the other hand, IT users would | never adopt dAgent since the DB engine provided a much more | robust and feature-rich admin GUI. I was not in the business of | competing with PHPMyAdmin, so I eventually dropped the project. | secboy wrote: | I just asked my CISO, about this product. | | He said, "For small, and really small companies they already have | the talent to deal with the database directly because that's how | they handle most of their problems because they don't have a | "console" interface. So this would be just another product for | them, and the technical staff wouldn't find it terribly useful | because they already know how to interact with the database. | | For medium to large companies it doesn't fit because those | companies spend all of their time trying to limit direct access | to the database, so buying a tool that makes it easier is counter | productive. | | However, it's a cool idea and looks like it was well | implemented." | | Oh, I forgot to add that he said "Allowing a 3rd party web site | to connect directly to a production database for the purpose | allowing direct database manipulation will only happen with | companies that don't have a security department, or their | "security person" is just in name only. There are so many things | that can go wrong that is just not worth doing. Even if this | could run on site, is runs against basically all Information | Security and IT operations best practices." | mmsimanga wrote: | I see this as a substitute for spreadsheets. I work in Business | Intelligence and we spend a fair amount of time importing data | from user spreadsheets that need to be incorporated into data | warehouse and reports. It is a nightmare of a process because | so many things can go wrong. I would jump at opportunity to | substitute the spreadsheets for database tables. | knubie wrote: | > For small, and really small companies they already have the | talent to deal with the database directly because that's how | they handle most of their problems because they don't have a | "console" interface. | | I feel like small and really small comparies are the primary | market for this tool. A sort of stepping stone until they can | build out a large enough engineering team to support more | specialized internal tooling. A _lot_ of small companies store | most / all of their business data in spread sheets anyway, | BaseDash just gives them a more robust backend (SQL) that | allows them to transition more seamlessly into custom back | office software. | | > So this would be just another product for them, and the | technical staff wouldn't find it terribly useful because they | already know how to interact with the database. | | The technical staff would find it tremendously useful because | they can focus on building a solid data model on top of a SQL | database without having to spend time building out clunky admin | interfaces. And from the other direction they don't need to | build out migrations from legacy spreadsheet data into a SQL | database. | | > For medium to large companies it doesn't fit because those | companies spend all of their time trying to limit direct access | to the database, so buying a tool that makes it easier is | counter productive. | | Maybe, but if BaseDash offers robust enough validations and | permissioning, this shouldn't be as much of a concern. The flip | side is that without BaseDash, if some data needs to be tweaked | that isn't possible to do using the clunky ad hoc admin | interfaces that were built, someone on the engineering team | would need to make those changes in the database manually, or | ops would need to wait for engineering to build out a feature | to allow them to make those changes. | jadbox wrote: | The pricing model is a little strange to me. I would like to see | a minimal free tier and then a micro pay-as-you-go query cost | than a large set monthly cost. | benoror wrote: | Any plans for an API? | itachicomment wrote: | Look Good from the description.However i know this is not a very | necessary feature but consider adding google login, its easier | and quick especially for people who want to test the product | before committing. | solrflow wrote: | How does this compare with Prisma Studio? (Prisma framework | specifically Prisma 2). Our company is graphql based and uses | Prisma Studio as our visual gui for our db | switz wrote: | I've been ruminating on this exact problem for months. I'm | consulting at a company where we have a lot of non-engineers who | own several major processes w/r/t data sources of truth. | Engineers need up-to-date programmatic access to that data, and | the non-engineers need a way to keep that information accurate. | | This is awesome. I was considering building it myself, but it's | always a pleasure to see someone else deliver a working product | on an idea you've been bouncing around. Good luck, this is a | relatively 'simple' product with a huge market. | maxmusing wrote: | Glad to hear you like the product! Would love to hear your | thoughts after trying it. | nrudrapp wrote: | We use dbeaver internally (and we hate it). But it is free and | our engineers get by with most of what's required from tool like | it. | | And dashbase looks like a well done product for a new project - | what does you stack looks like frontend and backend ? | | And have to agree with others that dashbase is pricey though! | | It will be nearly impossible to convince management to pay $600 | per year. | | Can you tell about usecases of your early users who are paying | for this ? | maxmusing wrote: | The stack is Node.js with Express and React. We use Sequelize | to handle database connections. | | As others mentioned, our current pricing is in line with higher | tiers of other internal tools, mostly geared towards startups | with revenue or funding. We're hoping to add cheaper (and | free!) plans moving forward once we validate that we can make | money from SMBs. | | Early customers are using the product for customer support, | order management, basic analytics dashboards, data entry. Good | mix of technical and non-technical users within teams. | fortydegrees wrote: | I'm CTO of a very early stage startup and $50/mo to allow my | CEO to read and edit the database is an easy decision. | iKlsR wrote: | I disagree, speaking on production data, if your CEO is | technical enough they should be able to do this (for whatever | reason they have). | | If not, you need some sort of admin interface (could be a | couple forms) to address this properly so invalid data can't | be plopped in OR any changes should be documented and sent to | someone technical even if it's a typo fix. It seems fun and | easy but production data isn't something you should wrap in | an excel interface and give to any and everyone. $600 a year | so your boss can update names and dates is kinda hard to | justify as well. | nrudrapp wrote: | In a startup, are you sure you like to spend 600 bucks on a | db edit tool - what stage is your startup ? | nrmitchi wrote: | This is a half-joke of a comment, but I would pay $50/month | to a product that could explicitly prohibit the CEO from | editing the production database. | iKlsR wrote: | I saw this immediately after submitting my comment above | and I was like why would you want to give such access to | someone who is more than likely non-technical. I can't see | any pros from this unless it's locked to read only mode but | then at $50 you're just paying for an excel view into your | app. | ggregoire wrote: | > We use dbeaver internally (and we hate it). | | Why do you "hate" it? (such a strong word!) My only complaint | is that I need to invalidate the connection every time I don't | query anything for a few minutes, otherwise the next query | hangs for like 50 seconds. But apart from that, I think it's | great, especially for a free product. And the project is very | active, it gets a new release about every 15 days. | nrudrapp wrote: | Not the best editor for schema design I would say. MySQL | workbench is great in that respect. Wish something of that | sort existed for other dbs. | | I have NOT come across connection invalidation problem | though. | contrarianmop wrote: | Here is a feature i would like to suggest: a mechanism for change | reviews, so that any non tech person can make DB changes, but | have them reviewed by peers (much like a github review) and | approved before having them applied. Can save a lot of headaches. ___________________________________________________________________ (page generated 2020-07-30 23:00 UTC)