Building a Content Distribution Platform with FastAPI and Python
Publishing content across multiple platforms can quickly become repetitive. Each platform has its own API, authentication requirements, request formats, and error-handling behavior.
I built IncuBrix Distribution to explore how a single API can coordinate content publishing across multiple destinations.
The architecture
The backend uses FastAPI and Pydantic for request handling and validation, SQLAlchemy for database persistence, and Alembic for database migrations. A connector-based architecture separates platform-specific publishing logic from the core workflow.
Six connector types
- Discourse
- Lemmy
- DEV.to
- Ghost
- Generic HMAC-signed webhooks
- Assisted publishing
The publishing workflow
A client submits content through the API. The application creates a publishing job, applies configured rules, validates the destination, invokes the appropriate connector, and records the outcome. Clients can then query the job status.
Idempotency keys help prevent duplicate job creation for repeated requests. Simulation mode allows connector workflows to be tested without sending real publishing requests.
Testing and security
The project includes automated tests, API authentication, encrypted credential storage, and configurable simulation mode. Testing simulated responses is useful, but real platform publishing must also be verified independently.
What I'm learning
This project has helped me work through the practical challenges of API integrations, asynchronous job processing, database migrations, credential security, and designing independently testable components.
The goal is to make content distribution more consistent while keeping each platform's integration isolated and maintainable.
Top comments (0)