Skip to main content

FasCrast: The Story ✨

· 6 min read
Lex Lutor Iyornumbe
Senior Software Developer @ Punch Agency

FasCraft: The FastAPI Project Generator That Actually Makes Sense

Because copying and pasting the same database configuration for the 47th time isn't "being productive" — it's being stubborn.


The Problem (Or: Why I Built This Thing)

Picture this: It's 3 AM during a hackathon. You're building the next big AI-powered API that will revolutionize how people order coffee (or something equally revolutionary). You've got your FastAPI project structure ready, your machine learning models are humming, and then... you hit the wall.

The Database Configuration Wall.

You know the one. That moment when you realize you need to set up SQLAlchemy, configure Alembic migrations, set up environment variables, and create all those boilerplate files that every FastAPI project needs. Again.

So you do what every developer does: you copy-paste from your last project. Then you copy-paste from the project before that. And before you know it, you're maintaining a personal library of "FastAPI boilerplate snippets" that you copy between projects like some kind of digital hoarder.

There had to be a better way.


Enter FasCraft: The "Why Didn't Someone Build This Sooner?" Tool

FasCraft is what happens when a developer gets tired of their own copy-paste habits and decides to build something that actually makes sense. It's a CLI tool that generates production-ready FastAPI projects with all the boring stuff already done.

What It Does (In Human Terms)

  • Creates new FastAPI projects with domain-driven architecture (because "monolithic mess" isn't a design pattern)
  • Generates domain modules (customers, products, orders, etc.) with all the CRUD operations ready to go
  • Sets up database configurations that actually work (SQLAlchemy + Alembic, no tears required)
  • Manages environment variables like a proper 12-factor app (because .env files shouldn't be a mystery)
  • Supports both Poetry and pip (because team flexibility is a thing)

What It Doesn't Do

  • Write your business logic (you still have to do some work)
  • Make your coffee (though it might save you enough time to make your own)
  • Solve world peace (though it might help with developer peace)

The "Why FastAPI?" Question (For the Non-Tech Folks)

In the age of AI and machine learning, Python is the language that makes everything work. And FastAPI is the framework that makes Python web development actually enjoyable.

Think of it this way:

  • Django is like a Swiss Army knife — powerful but sometimes overkill
  • Flask is like a pocket knife — simple but you have to build everything yourself
  • FastAPI is like a chef's knife — perfectly balanced, does exactly what you need, and makes you look like you know what you're doing

When you're building APIs that need to integrate with machine learning models, handle real-time data, or just work really fast, FastAPI is the obvious choice. And FasCraft makes it even more obvious.


The Vision: Building Something Bigger Than Just a Tool

This isn't just about making my own life easier (though that's definitely a perk). It's about building something that the FastAPI community actually needs and wants to use.

What We're Building Toward

  • A thriving community of developers who contribute templates, ideas, and improvements
  • Integration with the broader FastAPI ecosystem — making it easier for new developers to get started
  • A tool that becomes synonymous with "FastAPI project generation" (like create-react-app for React)

The Open Source Dream

I've always wanted to contribute to open source and give back to the community that's given me so much. FasCraft is my way of doing that. It's built with inspiration from frameworks I admire:

  • NestJS (for its modular architecture)
  • Next.js (for its developer experience)
  • Django (for its "batteries included" approach)
  • Laravel (for its elegant syntax and tooling)

The Current State: Phase 2.5 Complete (Whatever That Means)

We're not just talking about building something cool — we're actually building it. Right now, FasCraft can:

  • ✅ Generate complete FastAPI projects with domain-driven architecture
  • ✅ Create and manage domain modules (add, remove, update, list)
  • ✅ Set up comprehensive environment and dependency management
  • ✅ Handle both Poetry and pip workflows
  • ✅ Generate production-ready database configurations
  • ✅ Provide safety features like backups and rollbacks

What's Next? Advanced project detection, migration tools, and interactive project setup wizards. Because why stop at "good enough" when you can aim for "actually amazing"?


Be Part of Something Cool

This isn't just my project anymore. It's becoming something bigger, and you can be part of it.

How You Can Contribute

  1. Give us a star ⭐ on GitHub (it's free and makes us feel good)
  2. Try it out in your next FastAPI project
  3. Contribute code if you're a developer
  4. Improve documentation if you're a writer
  5. Give us feedback if you're a user
  6. Spread the word if you're a fan

The Bottom Line

FasCraft exists because I got tired of copying and pasting the same database configuration code. It's built because the FastAPI community deserves better tooling. And it's growing because more developers are realizing that "copy-paste development" isn't a sustainable strategy.

Whether you're a seasoned FastAPI developer or just getting started, FasCraft can make your life easier. And maybe, just maybe, it can help you focus on building the features that actually matter instead of fighting with boilerplate code.

Give it a try. Give us feedback. Give us a star. Be part of building something that makes the FastAPI ecosystem better for everyone.

Because in the end, the best tools are the ones that solve real problems for real developers. And FasCraft definitely solves a real problem.


Now go build something amazing. And maybe make yourself a coffee while you're at it.

Install it now:

pip install fascraft

Then create your first project:

fascraft new my-awesome-api

Your future self will thank you. 🚀