PGMate, the client that rocks!
PGMate is a Docker-based Postgres client that focuses on Developer Experience and packs features inspired by Postman, NPM, VSCode. And AI. lots of AI.
I love Postgres.
My Postgres honeymoon phase is running stable for over 7 years now. And it never ceases to amuse me with new features, details, and possibilities.
Postgres is the power-horse of all my projects. Over the years, I pride myself of learning some cool tricks, and with the rise of ChatGPT I saw my productivity skyrocketing.
To the Infinity and Beyond!
- Buzz Lightyear
Somewhere deep inside, I felt I have to give back. Plus, I've always fantasize of running an Open Source project that people actually use. I thought: "This is my chance".
Last week I kicked off PGMate, a new Postgres Client for Developers in which I will try to put a few features I felt lacking from other tools, both open and commercial.
We (yes, there is a team already) are in super-duper-early-alpha, but if you want to take a look what's going on, it's just a click away:
So what's going to be special about it?
Written together with ChatGPT
First of all, PGMate is mostly written by ChatGPT. I'll be covering the role of Illuminated PO. It's a term I came up with to mean a Product Owner that is also able to evaluate, iterate, copy/paste, and fix a piece of code that is generated by the LLM.
This approach speeds things up incredibly, and I can turn 5 minutex break on my job into a fully working feature in the app. Add a sprinke of GitHub Actions and you'll be able to try out new features almost daily.
Developer Experience First
I have used plenty of database tools, and while they (mostly) get the job done, often lack in Developer Experience.
The best example I can offer is PgAdmin4. This is possibly the most advanced Postgres management tool out there, but it is utterly unusale. It takes 5 clicks to get to the first 100 rows from a table!
PGMate implements "View Mode" which is a context information to set your expectations out of a particular datbase object: data, stats, structure, code? We've got you covered.
You can move around your database and PGMate remembers the choices you made (filters, pagination, column sizes) and the context you picked.
Monaco Editor & AI
Yes, Generative AI. You can not do anything today without mentioning it... But in PGMate case, I believe it's going to be actually useful.
You can prompt with your Database and PGMate provides implicit context like: full schema, data sampling, runtime errors.
The LLM (you bring the engine you want) will have enough context to provide detailed answers that you can execute right from the chat UI.
You can use this feature to engineer your schema, or explore your data and build your queries.
And speaking of queries, I know that the current trend is to stay away from SQL... even if I believe that this will change in the near future. Anyway, once you hit the desired result, you can export the query into any language/ORM of your choice!
PGMate uses Monaco editor, the same that powers VSCode. We're still a cry away from this goal, but we aim to provide full co-pilot capabilities as-you-type and create your queries.
Embedded Documentation
Learning is the best adventure you can embark. And young engineers have a long way to go to pick up the multitude of tecnologies that the world offers today.
PGMate makes an effort to embed active documentation, suggestions, tips and tricks into the Developer Experience.
With a combination of GenAI and good old links it will support continuous-learning on the job.
We also plan to create a section fully dedicated to Data Challenges: an Open Source library of code problems that the user should solve using Postgres.
Our goal is to make this section highly social and collaborative. You will be able to share your results, ask for help, navigate other people's struggles and contribute with comments.
SQL Workbooks
(we steal from Postman and NPM)
We aim to do for Postgres what Postman does for HTTP requests.
Why limit yourself to be working on a single query?
PGMate lets you create a new Data-Project, work on migrations, seeds and multiple query documents. You will be able to mix SQL and Markdown blocks like you do with a Jupiter Notebook.
Your project becomes a blend of executable SQL and documentation.
Then you can export to a sharable JSON file, or share it directly in PGMate's HUB. Of course, you can navigate other Open Source Workbooks and import them into your database.
Yes, most of your Data Projects will be private and highly secretive to you business case, but you still be able to co-work on them with your team.
For the rest, many many many many Data Problems are common and open knowledge. And we believe this feature will improve to many young engineers learning experience.
Come back for new updates on PGMate!