Introducing the Doctor
Doctor, Who? Just the Doctor.

The reason why all this exists

As a massive fan of Doctor Who, a ‘Whovian’ as we’re called, I had already picked the name for this product years ago. I can’t think of a better name for what the Doctor does.

In the Doctor Who universe, The Doctor is a time lord that travels the universe throughout all time and space, helping people in need and standing up for the little guy.


Princess Beef Heavy Industries (pbb3f) has the same mission. Except I’m not flying through space and time in a TARDIS. Nor am I a time lord.

But we are helping people who need it in the best way we know how: by building genuinely fantastic software and giving it away (mostly) for free.

So what is the Doctor exactly?

If you have been following along, you’ll probably know that I’ve created a few Open Source and Source Available OpenAPI tools over the last couple of years.

A quick recap of the existing tools:

vacuum

npm Downloads Docker Pulls Stars

vacuum is a lightning-fast linting and rules engine for OpenAPI or any JSON or YAML document.

openapi-changes

npm Downloads Docker Pulls Stars

openapi-changes is a unique diffing tool for OpenAPI documents.

wiretap

Downloads Docker Pulls Stars

wiretap is an OpenAPI compliance testing, validation and API mocking tool

libopenapi

Stars

libopenapi (and the validator) are robust OpenAPI parsing, modeling, and validation libraries for golang.


These five tools provide a solid point solution for a particular problem. They have already been adopted by hundreds of other projects and embedded in other companies’ products.

But the story doesn’t end there; it’s only the start.

Go, Go, Power Rangers!

All these tools are designed to work together; libopenapi and the validator are the foundations on which the other tools are built. They are like the individual ‘Zords’ each Power Ranger has.

Don’t know what a Zord is? Come on! What?… Watch this:


Each Zord on its own was powerful. But the real super-power came when all the Rangers created the ‘Megazord’ by combining all the Zord’s into one giant fighting machine.

The Doctor is (or will be) that fighting machine.

The goal was always to create a Megazord. Or, in more appropriate terms:

An integrated suite with exponentially more value than the sum of its parts.


The Doctor is all the pb33f tools working together as a single entity with a single UI and API.

But it’s also much more than that; it has features and capabilities that do not exist in individual tools, for example:

  • Visualize the OpenAPI model as a graph
  • Explore the model using a tree
  • Inspect each model visually
  • Generate examples from schemas
  • Manage and build custom rulesets visually.

None of these features are available in vacuum, but they are exposed through The Doctor.

Image of the pb33f application stack
The pb33f technology stack

Just getting started

So much more is coming down the pipeline. For example, soon you will be able to:

  • Track every change made in the Doctor and visually explore them
  • Explore large exploded / distributed documents visually
  • Spin up a mock server and test compliance in real time
  • Autofix rule violations
  • Render UML and graph diagrams of models and schemas
  • Create workspaces and connections to specs in hosted repos
  • Autofix and commit back, or watch for changes
  • Use The Doctor as a github action
  • Track quality, changes, and compliance over time
  • Build workflows visually using OpenAPI Arazzo
  • Autogenerate SDKs or Documentation using existing third-party tooling like Speakeasy or Scalar

Use it your way

The Doctor will eventually be available via three mechanisms.

  • SaaS Platform.
  • Self-hosted.
  • Runnable on your desktop.

Licensing will be one of four models

  • Free.
  • Pay as you Go.
  • Subscription Based.
  • Perpetual License.

Free access

Open-source projects will always have full unrestricted access to the Doctor.

Private projects will have a free allotment of credits to use each month. API access will be limited in scope.

🤑 Reward credits 🤑 can be earned for contributions to the open-source tooling or community.

Pay as you go

You will be able to purchase credits to use the Doctor on a per-use basis.

Subscription Based

Unlimited use of the Doctor for a monthly or yearly fee. Cheaper in the long run and nukes the need to track credits.

Perpetual License

Buy a license and own the software forever. More expensive, but you can run it on your own infrastructure, and it will always be yours.

Only available for self-hosted or desktop versions.

I personally miss the ability to buy and own a software version. Perpetual licensing should always be an option for those who want offline or air-gapped on-prem deployment, so it will be with the Doctor.


pb33f’s open-source tooling powers the core engines of the Doctor, which means that by using the Doctor, you will also help fund and expand the feature sets of all the open-source tooling!

The Doctor already has a lot of functionality, and it’s all free for now as I build out more of the suite and fix a lot of bugs.

In another article and video, I will walk through the Doctor in a full tutorial and guide for the current feature set.


So, why not check it out? It will soon replace the online version of vacuum on this site.

You can leave feedback in the app; just hit the feedback tab, and it will be sent directly to me over Discord.

Subscribe to the mailing list below, or join the Discord to learn more about the Doctor’s progress.