News and updates
Introducing API Bakery
May 14th, 2021
In this article:
After months of work and a year-long delay caused by the COVID-19 pandemic, I am very excited to introduce API Bakery, a new tool for software developers building API backends!
API Bakery automates much of the setup on a new project, including specifying the database and API endpoints. It does this by generating the project code based on what you configure using a simple user interface.
Why I built API Bakery
In my career as a software developer, I've worked with many startups, agencies and larger companies.
Often when starting a new project, we'd go through the same motion of setting things up, defining the database models, hooking up authentication and exposing base functionality via the API. Only after this could we start implementing the specific functionality of the project that would add value.
This was pretty repetitive, boring and was slowing us down, so of course I wanted to automate it. I tried tools such as cookiecutter and various in-house starter templates. While they were useful, they seemed to require almost as much effort to maintain and update as they provided. They were also of limited use for vastly different projects I was working on.
The decision to do something about it came after around a month of work on a backend of a particular project, where we did a post-mortem and I realized all of the work we did could actually be automated and save tons of time.
Why API Bakery is special
API Bakery is not a first tool that attempts to help with writing the backend. There are code generators, scaffolding tools, API service description standards that generate servers and clients and specialized no-code services that all try to help.
I'll be doing in-depth comparison with more popular tools and services soon, but there are a few motivations and goals for API Bakery that make it unique:
Generated code quality. It should feel as if a developer from your own team wrote the code. The code should follow the style standards, be readable, maintable and concise, to be a good base you can build on. Transpiled unruly spaghetti that you don't want to touch afterwarsd are useless.
No new stuff. I didn't invent a new framework, library, language or platform. The goal is to help you be faster at what you're already doing, with the tools you already know, love and use, not to convince you to adopt a new framework or technology that will magically make you more productive.
*Database modelling. Many scaffolding tools stop at the base project template. We want to make it trivial to quickly define database schema in all the detail - not just as mockups you'll need to replace afterwards.
What API Bakery is not
With what I said, you might think I'll argue anyone can pick up API Bakery, create a fully-fledged backend API service, and be on their way. Not quite.
API Bakery does assume you know how a specific framework works, at least in general. It's very helpful in guiding you through the details, but if you're looking for a complete no-code solution, you might be feel out of your depth here. The good news is, if you're willing to learn, API Bakery can make that process much easier, faster and less frustrating!
I also don't promise you can build your entire backend solely in API Bakery. You're likely need to add specific business logic - that's the entire point! API Bakery helps you quickly move from boring-but-must-be-there stuff to what you actually care about. It's like aircraft catapults - it won't fly the plane for you, but you'll be up and running much faster!
We're just starting
This is just the start. I've got a big laundry list of what I'd like to implement in the service, and of course expand support from just Django to other popular frameworks: Express, Rails, Laravel, and maybe more.
More importantly, development will be user-driven. I'm eager to hear what's useful, what's annoying, and what we should be building next, as I know that's the best path to making sure API Bakery is a useful tool.
Hope you'll join me for the journey!