Do we really need another MySQL client?

Absolutely! I have been working with MySQL for some time now and have been utterly frustrated with the available clients.
Mysql Workbench , the offcial client is atrocious. I dread using it.
DBeaver is better. But much too cluttered for my taste and loaded with features which most users don't use on a day-to-day basis.
Navicat is too expensive and yet it is not all that good.
PHPMyAdmin is decent, but not everyone has PHP or wants to use a PHP based application. It is also not known to be very secure.
There are a few others, but more or less it's the same story.

That leaves Sequel Pro .. I love it! It is so simple, elegant and intuitive. A no-nonsense application like every application should be! Alas! It too has some fatal flaws:

  • No support for MySQL 8.0
  • Unstable. Crashes all the time
  • Misses out on same basic features like query formatting
  • Lastly, it works only on Mac
It is safe to say is an attempt to match or better Sequel Pro. In fact, the name prosql is also inspired by it ;-)

But why a browser app.. why not build a native app?

We are in 2021. Computers and Operating Systems were invented decades back. Sadly, even today there is no painless way of developing cross platform applications. Browsers are the best way to deliver applications to users across platforms.
Besides, browsers have a unique advantage: It is very easy to push bug fixes and new features to users!

Have you really explored all options ..say electron.js?

Don't get me started.. electron.js wraps entire browser and node runtime into every application. I shudder at the monstrosity. I don't want users to download 300MB applications which will use up half their RAM. Too clunky, too bloated, too resource intensive.
Flutter Desktop looks interesting..But it is taking forever to get into production. Too late :-(
QT has been around, but does not have native look and feel and it was not very appetizing to work with QT.

What about Java?

Sure! If you like Java language, the look and feel of Java applications and are OK with users having to download JVM.. Not my cup of tea.

OK, so how does prosql work?

Think of it like a web app with your computer as the backend. An agent installed on your computer talks to the MySQL server and exposes REST APIs to the browser. The agent is built in Go and works perfectly on all the major platforms. It is also very light on resources.

What about performance? Can it match native clients?

Yes! I have done some benchmarks. The Go client's performance is comparable to official MySQL C client. So that leaves the overhead of communication with the browsers. This is of the order of a few milliseconds per request. Not at all significant.

Is it secure?

The application works if and only if the agent is installed on your computer and it cannot be accessed remotely. Don't worry! Hackers will not be able to access your MySQL server!

Which browsers are supported?

Latest versions of Chrome, Firefox, Opera and Edge are supported. Safari is not supported.
Firefox is recommended on Macs.

What is the project status?

Beta. There are no known major functional bugs. UI does have some glitches. Will keep improving with user feedback.

Is it free?

For now. I will have to charge a nominal fee later on to keep it going. In any case all beta users will get free lifetime access! So go ahead, make it a part of your toolbox!

Enough said. Lets get started!