DoltHub is a web-based UI to share, discover, and collaborate
on Dolt databases. We use Figma, a
popular collaborative interface design tool, to work with our designer Jan on designs for
Before we started using Figma our design workflow left much to be desired. We would give
Jan specs for a feature or page we needed designs for, and then he would post screenshots
in GitHub issues. Developers would comment with feedback, and this feedback loop would
continue until we had a design we were satisfied with. This process was cumbersome and
didn't allow for real time feedback and collaboration. Jan eventually recommended Figma,
and we haven't looked back.
Our goal at DoltHub is to make data more transparent, collaborative, and unbreakable,
similar to what Figma has done for design.
The evolution of collaboration
I'm going to take you back in time for a moment. We're now in 2005, when Microsoft Office
dominates the productivity software market and websites consist of an assortment of boxes
with blue links.
Work entails interacting with a document alone on your Windows XP Desktop in your grey
office cubicle. You write out business plans in a Word document, analyze financial models
in Excel, write code in Linux on VI or Emacs. Need to share your document with a member of
your team? No worries, because you've got...email! If a coworker needs to make changes to
your file, they'll make edits and email it back to you. Now you have 2 files. Add more
people to the feedback process, and the number of versions of this file is growing
exponentially. Which file has the most accurate, up-to-date information? Who misspelled a
prospective client's name on PowerPoint slide and lost you a month's worth commission? No
Fast forward a few years and a new trend starts to emerge. In 2008
GitHub pops up and asks "what if we put code on the internet to
make it easier for developers to collaborate?" Two years later
Google asks the same question for your documents. What if
multiple people could collaborate on one document at the same time?
a priority for websites. Sketch is born and web design takes
off, but the file problem makes a comeback in design. Six years later in 2016
Figma hops on the trend and asks "what if creative tools could
be put on the internet?"
What do these products have in common? All collaboration and sharing can be done through
the browser in real time. Details of changes are tracked and anything can be rolled back
to an older version. Sending files around via email has become a collaboration tool of the
past. Except wait, what about your database?
Databases are these big, scary, centralized things that everyone is afraid to touch. One
bad query and BOOM you've singlehandedly ruined
Christmas for your whole team. Look at the
progress we've made with sharing so many other forms of information. So why is your
database so far in the past?
When we started Dolt in 2018, we first needed a database you could collaborate on, which
included making it look more like a file. You could take a copy of Dolt and send it to
your friend. Your friend could make changes and send it back. Similar to Git, Dolt has
version control, solving the "who did what when" problem of emailing files.
Once Dolt existed, we also asked "what if we put databases on the internet and made data
more accessible?" So we created DoltHub - a modern, web-based UI for your Dolt database
that anyone can use.
Comparing Figma and DoltHub
Figma in particular is cool because it has the quality of a desktop application, but in
the browser. It's the first of its kind and people didn't think it could be done. We think
DoltHub is the Figma of databases. And our designer who introduced us to Figma agrees:
We want to take databases into the modern era of browser-based collaboration. There are a
few attributes that make this possible, and Figma sums them up well on their
DoltHub wants a future where data is also these things. Here's how we're making it happen.
DoltHub is collaborative. Similar to how many people can work on a design file at the same
time, multiple people can work on the same dataset at the same time. We modeled our pull
request workflow after Git. A user can make a change, create a pull request to be reviewed
by a member of the team, and then merge the changes to the "main" or "production" branch.
If conflicts arise from two people making a change to the same cell or row, they can be
viewed and resolved manually. Databases can be easily shared among many people without
needing to ask which version is best.
DoltHub is borderless. Figma wants to make design more accessible to everyone, and we want
the same for data. We're continually adding features to DoltHub to lower the bar for
people who may not be as familiar with SQL or Git. Don't know the SQL statement for
deleting a row? Click a button instead and the SQL will be generated for you. You can
learn SQL while playing around with data on DoltHub. And the best part is that it's very
difficult for beginners to make a major mistake. With easy rollback, any change can be
undone. This means more people can be involved in the data process, and learn as they go.
Learn more about the DoltHub features that make working with data more accessible
DoltHub is transparent. Both Figma and DoltHub have source control, meaning that you can
see who made changes to what when. On DoltHub, commits and pull requests are a great way
to document changes to data. They often include sources and motivation for changes, making
data and where it came from more transparent. If someone makes a bad change, you can track
it to the commit and revert it. Teach the offender what they did wrong so they don't make
the same mistake again. We also have issues,
where users can report bugs, feature requests, or other ways the data can be improved.
This greatly minimizes guessing for why the data is the way it is. Imagine going to a
government website and each cell of data they publish can be tracked to a specific source
and person making the change. 🤯
DoltHub is community-driven. Not only do we have a thriving Discord
community, but we have fostered a community of
enthusiastic data hunters and gatherers through data
bounties. We pay people to find data and put it in the
Dolt format. These datasets are completely open to the public and free to download and
share. Our data bounty participants have created 10 sought-after and relevant datasets so
far, with more to come. They include databases of hospital
agencies, and US
learn technical skills through this process, while getting paid for their contributions.
DoltHub is open-sourced. Our Dolt code on GitHub is
open-sourced and can be viewed by anyone. Similar to
Git's commitment to being free and
open-source, we also wanted to guarantee that you can trust our software and that it will
always be free to share and change. We have plans to make an open-sourced DoltHub (aka
DoltLab, analogous to
GitLab) in the next year or so, so stay tuned.
We love Figma and we're creating a similar web interface in the browser, but for data.
Join our Discord community if you'd like to follow
along or chat with us about any of the features we're building to bring databases into the
modern browser-based world of collaboration.