Two open-source tools from MapSVG: meet Plasma and GleapTracker
We've made two developer tools from the MapSVG team public on GitHub: Plasma, a Prisma-style database library for PHP and WordPress, and GleapTracker, a bridge between customer support and engineering.
Both are open source, MIT-licensed, and usable independently of MapSVG. One helps you write cleaner database code. The other keeps bug fixes connected to the customers waiting for them.
Plasma: WordPress database queries without the SQL boilerplate
Custom tables give WordPress plugins flexibility—but working with them shouldn't mean assembling SQL strings throughout your codebase.
Plasma lets you describe queries with readable PHP arrays. For supported ORM queries, it handles value preparation, LIKE escaping, schema-field validation, and table prefixes internally. Less manual $wpdb->prepare(), fewer placeholders to keep track of, and no repeated table-prefix concatenation.
WordPress tables are already included
Plasma ships with the WordPress core database schema. Posts, users, metadata, comments, taxonomies, and options are available automatically through its WordPress adapter—without loading a schema file or configuring primary keys yourself.
For example, here's how to fetch the latest published posts together with selected author fields:
use Plasma\Plasma;
use Plasma\WordPress\WpdbAdapter;
$db = new Plasma(new WpdbAdapter());
$posts = $db->post->findMany([
'where' => [
'post_status' => 'publish',
'post_type' => 'post',
],
'include' => [
'author' => [
'select' => ['ID', 'display_name'],
],
],
'orderBy' => ['post_date' => 'desc'],
'take' => 10,
]);
The same API for your own tables
Register your plugin's models using PHP arrays or JSON, then use the same query syntax for your own data. Plasma supports nested AND, OR, and NOT conditions, field selection, and batch-loaded relations through include.
Because the query structure is JSON-serializable, it also works well for saved filters and visual query builders. Your application still controls which models, fields, and operations each user is allowed to access.
Transactions are built in, with automatic commit and rollback, plus savepoints for nested transactions on supported database engines. And Plasma isn't limited to WordPress: its PDO adapter supports standalone PHP applications using MySQL, MariaDB, or SQLite.
Plasma is Prisma-inspired, not a complete Prisma replacement, and this is an early public release. It also doesn't replace WordPress permissions, hooks, or cache management: use native WordPress APIs for core-entity writes that depend on those behaviors.
GleapTracker: keep support reports connected to the fix
We love Gleap: an AI-powered customer support platform with live chat and bug reporting in one place. It makes everyday support easier for the MapSVG team, helping us answer routine questions faster and spend more time building.
Here's how we use it at MapSVG: Gleap's built-in AI answers customer questions and hands conversations it cannot resolve to our Level 1 support team. Sometimes a support teammate needs help from a developer.
That is where GleapTracker comes in. We link the report to a tracker in Gleap, which creates a dedicated Slack thread. Support and developers discuss the issue in one place and can call in a Cursor agent to investigate the code, fix a bug, and open a GitHub pull request.
We built GleapTracker for this Gleap → Slack → AI/GitHub workflow. The Cursor agent is connected separately; GleapTracker keeps customer reports tied to the engineering discussion and the resolution. Multiple reports of the same bug share one tracker and Slack thread, with optional Linear or Jira issues.
Close a bug in Slack—and update every affected customer
Once a fix is ready, click Close in the Slack thread and write the resolution message. GleapTracker sends it to every customer linked to that bug and closes the tracker. In our Gleap workflow, the linked customer tickets close too—one action instead of revisiting every conversation manually.
Gleap handles the linked-ticket closure through your tracker/workflow configuration. The Close dialog also supports silent closing when no customer notification is needed.
Close the loop from where you work
Your team can add internal Gleap notes directly from Slack and close a tracker from Slack, a completed Linear or Jira issue, or a GitHub commit.
With the GitHub webhook and closing branch configured, a fixing commit can include:
Fixes Gleap-1234
That can trigger the configured customer-notification workflow and close the Gleap tracker.
GleapTracker is a self-hosted TypeScript service, not a WordPress plugin. It requires no separate database or queue service and is designed to run as a single instance. Its scope is focused: connecting reports, engineering issues, and completion—not continuously mirroring every field between tools.
Explore GleapTracker on GitHub →
Open source, from the MapSVG team
Both projects are available under the MIT license, so you can use and adapt them in commercial or open-source projects. Their repositories include setup instructions and documentation, and contributions are welcome.
Try them, open an issue, send a pull request—or give them a star to help other developers discover them.