Dogfooding. Using Basedash to build Basedash

The admin panel that you'll actually want to use. Try for free.

March 10, 2022

At Basedash, we are users of our own product.

Our product, Basedash, has the following architecture, fairly typical for a web app:

  1. Server (running Node and Express, written in TypeScript)
  2. Client for browser or desktop (written in TypeScript)
  3. Database (PostgreSQL)

And what does our product do? It facilitates database management.

Recall, we ourselves have a database to manage (see item 3 above). So, naturally, we use Basedash to manage Basedash.

Basedash connects to our customers’ databases allowing our customers (teams of technical and non-technical users) to read and write to their own databases with a high quality user interface with thoughtful collaboration and access controls.

And we ourselves are one of our own customers. Those connections, those affordances for reading and writing to one’s own database, are themselves backed by tables and records in our production database (item 3 above).

For example, our production database has certain tables along the lines of “user”, “workspace”, “database”, “schema”, “table”, “column”, and “edit” (paraphrased), in order to keep track of users’ own transactions with their own databases.

Example: looking up a user

Imagine we have a customer that reaches out to us for support. We’d like to pull up that “user” record, to see things like what plan they’re on, what workspaces they are a member of, what databases they’ve connected in order to manage them with Basedash.

Doing things the manual way would look something like this, a developer querying the database with the command-line interface:

2022-01-23-dogfooding-example-user-lookup-cli.png

But it’s not always preferable to do things the manual way. Many people use a database administration tool like Postico, or TablePlus to make this kind of thing more approachable and convenient. But we like to use the very database administration tool we are building. So, here’s how we might look up a user in Basedash, by simply searching for that user’s email in our “user” table:

2022-01-06-dogfooding-example-user-lookup.png

Summary

This situation of being one’s own customer is known in the industry as “dogfooding”, or “eating your own dogfood”, and it’s something we embrace. We’re using Basedash for Basedash at Basedash.

More examples of dogfooding at Basedash

How we manage feature flags at Basedash

You could ship faster.

Imagine the time you'd save if you never had to build another internal tool, write a SQL report, or manage another admin panel again. Basedash is built by internal tool builders, for internal tool builders. Our mission is to change the way developers work, so you can focus on building your product.

TOC

March 10, 2022

At Basedash, we are users of our own product.

Our product, Basedash, has the following architecture, fairly typical for a web app:

  1. Server (running Node and Express, written in TypeScript)
  2. Client for browser or desktop (written in TypeScript)
  3. Database (PostgreSQL)

And what does our product do? It facilitates database management.

Recall, we ourselves have a database to manage (see item 3 above). So, naturally, we use Basedash to manage Basedash.

Basedash connects to our customers’ databases allowing our customers (teams of technical and non-technical users) to read and write to their own databases with a high quality user interface with thoughtful collaboration and access controls.

And we ourselves are one of our own customers. Those connections, those affordances for reading and writing to one’s own database, are themselves backed by tables and records in our production database (item 3 above).

For example, our production database has certain tables along the lines of “user”, “workspace”, “database”, “schema”, “table”, “column”, and “edit” (paraphrased), in order to keep track of users’ own transactions with their own databases.

Example: looking up a user

Imagine we have a customer that reaches out to us for support. We’d like to pull up that “user” record, to see things like what plan they’re on, what workspaces they are a member of, what databases they’ve connected in order to manage them with Basedash.

Doing things the manual way would look something like this, a developer querying the database with the command-line interface:

2022-01-23-dogfooding-example-user-lookup-cli.png

But it’s not always preferable to do things the manual way. Many people use a database administration tool like Postico, or TablePlus to make this kind of thing more approachable and convenient. But we like to use the very database administration tool we are building. So, here’s how we might look up a user in Basedash, by simply searching for that user’s email in our “user” table:

2022-01-06-dogfooding-example-user-lookup.png

Summary

This situation of being one’s own customer is known in the industry as “dogfooding”, or “eating your own dogfood”, and it’s something we embrace. We’re using Basedash for Basedash at Basedash.

More examples of dogfooding at Basedash

How we manage feature flags at Basedash

You could ship faster.

Imagine the time you'd save if you never had to build another internal tool, write a SQL report, or manage another admin panel again. Basedash is built by internal tool builders, for internal tool builders. Our mission is to change the way developers work, so you can focus on building your product.

March 10, 2022

At Basedash, we are users of our own product.

Our product, Basedash, has the following architecture, fairly typical for a web app:

  1. Server (running Node and Express, written in TypeScript)
  2. Client for browser or desktop (written in TypeScript)
  3. Database (PostgreSQL)

And what does our product do? It facilitates database management.

Recall, we ourselves have a database to manage (see item 3 above). So, naturally, we use Basedash to manage Basedash.

Basedash connects to our customers’ databases allowing our customers (teams of technical and non-technical users) to read and write to their own databases with a high quality user interface with thoughtful collaboration and access controls.

And we ourselves are one of our own customers. Those connections, those affordances for reading and writing to one’s own database, are themselves backed by tables and records in our production database (item 3 above).

For example, our production database has certain tables along the lines of “user”, “workspace”, “database”, “schema”, “table”, “column”, and “edit” (paraphrased), in order to keep track of users’ own transactions with their own databases.

Example: looking up a user

Imagine we have a customer that reaches out to us for support. We’d like to pull up that “user” record, to see things like what plan they’re on, what workspaces they are a member of, what databases they’ve connected in order to manage them with Basedash.

Doing things the manual way would look something like this, a developer querying the database with the command-line interface:

2022-01-23-dogfooding-example-user-lookup-cli.png

But it’s not always preferable to do things the manual way. Many people use a database administration tool like Postico, or TablePlus to make this kind of thing more approachable and convenient. But we like to use the very database administration tool we are building. So, here’s how we might look up a user in Basedash, by simply searching for that user’s email in our “user” table:

2022-01-06-dogfooding-example-user-lookup.png

Summary

This situation of being one’s own customer is known in the industry as “dogfooding”, or “eating your own dogfood”, and it’s something we embrace. We’re using Basedash for Basedash at Basedash.

More examples of dogfooding at Basedash

How we manage feature flags at Basedash

You could ship faster.

Imagine the time you'd save if you never had to build another internal tool, write a SQL report, or manage another admin panel again. Basedash is built by internal tool builders, for internal tool builders. Our mission is to change the way developers work, so you can focus on building your product.

What is Basedash?

What is Basedash?

What is Basedash?

Basedash is made for teams that need to move fast

Dashboards, charts, API calls, CRUD operations, SQL queries. Just connect your database, Basedash handles the rest.

Dashboards and charts

Edit data, create records, oversee how your product is running without the need to build or manage custom software.

USER CRM

ADMIN PANEL

SQL COMPOSER WITH AI

Screenshot of a users table in a database. The interface is very data-dense with information.