Why I Built This
If you've ever worked in UX, you know the drill: we spend days researching and building beautiful journey maps, only for them to get trapped inside a proprietary tool or a static image.
I built Ptolemy because I believe our work shouldn't be held hostage by a subscription. We need a way to collaborate, version-control our insights, and share our data freely.
The OpenJourney Format (.ojf)
At the heart of this project is a simple idea: an open, human-readable JSON format for user journeys. By using .ojf, your data stays in your hands. You can track changes with Git, build custom reports, or even move your data to a completely different tool without losing a single node.
A look inside an .ojf file
{
"metadata": {
"title": "A Day in the Life",
"version": "1.0"
},
"stages": [
{ "id": "s1", "name": "Discovery" }
],
"nodes": [
{
"id": "n1",
"stage": "s1",
"title": "Found a better way",
"description": "User realizes they don't need proprietary software."
}
]
}
A Hobby Project with Heart
Just to be clear: this isn't a venture-backed enterprise platform. It's a hobby project built by a UX professional who wanted a tool that didn't exist yet. It's built with PocketBase and plain old JavaScript, which makes it fast, privacy-focused, and easy to host yourself.
Human-Led, AI-Built
There’s one more thing you should know about how Ptolemy was made. While I provided the vision, the UX requirements, and the final design calls, I actually wrote very little of the source code by hand.
Instead, Ptolemy was built using **Google Antigravity**, an agentic AI coding assistant. We worked together in a high-intensity pair-programming process where I acted as the navigator and the AI acted as the primary builder. It allowed me to focus on the problem I wanted to solve, while the AI handled the heavy lifting of implementation.
Help Make it Better
Since this is open-source, it belongs to the community as much as it does to me. If you have an idea for a new feature, find a bug, or just want to chat about the future of open journey standards, I'd love to hear from you.
Feel free to open an issue or submit a pull request on GitHub. Let's make journey mapping better for everyone.