Modern Full-Stack Starter Kit for Bootstrapped Founders Zero to MVP with FastAPI + Lit, Optimized for Speed and Cost
Built for bootstrapped founders who need to:
- Launch MVPs quickly without technical debt
- Keep costs near zero during validation
- Scale efficiently when product-market fit is achieved
- Maintain flexibility for future growth
- π Zero to MVP in under 1 hour
- π° Costs under $15/month until scale needed
- π Modern stack without complexity
- π Debug-friendly development
- π Built-in analytics and user tracking
- β‘οΈ FastAPI with async support
- π¦ UV for ultra-fast package management
- π― Ruff for comprehensive linting
- π SQLite β PostgreSQL migration path
- β Pydantic v2 for validation
- π¨ Lit 4.0 web components
- π Browser-native features
- π± PWA-ready configuration
- π§ TypeScript for type safety
- π Vite for building
- π Single $10 DO droplet to start
- π¦ Nomad for container orchestration
- βοΈ Terraform for infrastructure
- π GitHub Actions for CI/CD
- π Cloudflare for CDN (free tier)
- Docker and Docker Compose
- Make
- Git
- Clone the repository:
git clone https://github.com/yourusername/neoforge.git
cd neoforge
- Initialize the development environment:
make setup # Creates .env and builds Docker images
- Start the development environment:
make dev # Starts all services with hot-reload
The API will be available at http://localhost:8000 with auto-reload enabled.
# Run tests
make test # Run all tests
make test-watch # Run tests in watch mode
# Code quality
make lint # Run all linters
make format # Format code
# Database
make db-shell # Open PostgreSQL shell
make redis-shell # Open Redis shell
# Monitoring
make logs # View service logs
make health # Check service health
# Cleanup
make clean # Remove all containers and cache
- API: FastAPI application with hot-reload
- Database: PostgreSQL 15
- Redis: For caching and rate limiting
- Test: Separate container for running tests
All services include health checks:
- API: HTTP check on
/health
endpoint - PostgreSQL: Connection check with
pg_isready
- Redis: Ping check
View detailed health status:
make health
Tests run in a dedicated container with:
- Isolated test database
- Factory Boy for test data
- Async test support
- Full coverage reporting
# Run specific test file
docker compose -f backend/docker-compose.dev.yml run --rm test pytest tests/api/test_users.py -v
# Run with coverage report
docker compose -f backend/docker-compose.dev.yml run --rm test pytest --cov=app --cov-report=html
neoforge/
βββ backend/
β βββ app/
β β βββ api/ # API endpoints
β β βββ core/ # Core functionality
β β βββ models/ # SQLModel models
β β βββ services/ # Business logic
β βββ tests/
β β βββ factories.py # Test data factories
β β βββ conftest.py # Test configuration
β βββ docker-compose.dev.yml
βββ frontend/
β βββ index.html
β βββ js/
β βββ components/ # Web components
βββ Makefile # Development tasks
- Use
make
commands for common tasks - Run tests before committing:
make test
- Format code:
make format
- Check health before deploying:
make health
- Use
make help
to see all available commands
-
Services won't start:
make clean # Remove all containers make setup # Rebuild everything make dev # Start fresh
-
Tests failing:
make logs # Check service logs make health # Verify service health
-
Database issues:
make db-shell # Inspect database directly
- Getting Started
- Architecture Guide
- Deployment Guide
- Security Guide
- API Documentation
- Frontend Guide
- Database Schema
- Infrastructure
- Monitoring
- Best Practices
- ADRs
- Changelog
Contributions are welcome! Please read our Contributing Guide.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ for Bootstrapped Founders Website Β· Documentation Β· Discord
Getting Started Β· Architecture Β· Best Practices Β· Deployment Β· Security Β· Monitoring Β· Backend API Β· Frontend Β· Infrastructure