Ship production-ready full-stack apps in minutes, not months
The ThinkNimble Bootstrapper is a battle-tested cookiecutter template that generates a complete,
production-ready Django + React application with AI-powered chat demo, authentication,
email, and deployment configurations—all following industry best practices.
🤖 Includes a fully-functional OpenAI chat demo with streaming responses and prompt management
|
|
- Heroku - Production-ready with Procfile included
- Docker - Fully containerized for any cloud platform
- Flexible - Deploy to AWS, Google Cloud, or any Docker-compatible host
- Pre-commit hooks for code quality
- GitHub Actions CI/CD pipelines
- Error tracking with Rollbar/Sentry
- Performance monitoring
- GDPR compliance helpers
- Comprehensive documentation
Experience AI integration from day one with our fully-functional demo:
- Working OpenAI Chat - Pre-configured demo app with GPT-3.5/4 (just add your API key)
- Real-time Streaming - See WebSocket-based streaming responses in action
- Prompt Management - Example of dynamic prompt templates with variable substitution
- Conversation Analytics - Demo pattern detection and conversation categorization
- Feedback System - Example rating system for improving AI responses
- Admin Interface - Full Django admin for managing the demo's AI configuration
- Multiple Agent Types - Demonstrates configurable AI agent roles
- Learning Style Assessment - Complete demo showcasing an educational chatbot
Check out a live deployment: Demo App
Stop reinventing the wheel. Every new project shouldn't start from scratch. The ThinkNimble Bootstrapper gives you a production-quality foundation so you can focus on what makes your app unique.
- Save weeks of setup time - Authentication, emails, deployment, and AI demo—it's all there
- AI-Ready from Day One - Skip the AI integration learning curve with our working OpenAI demo
- Best practices built-in - 10+ years of production experience distilled into one template
- Fully customizable - Not a framework, just a starting point you own completely
- Active community - Regular updates and responsive support
Fastest Way - Using tn-cli
Get up and running in seconds with the ThinkNimble CLI:
# Install tn-cli (one-time setup)
curl -fsSL https://nimbl.sh/install | bash
# Create your project
tn new-project
# or use the alias
tn bootstrap
First, install pipx
if you don't have it (installation guide):
pipx install cookiecutter
pipx run cookiecutter gh:thinknimble/tn-spa-bootstrapper
- Custom user model with email-based authentication
- Token-based authentication using Django REST Framework
- Password reset flows with email verification
- User registration with email confirmation
- User profile management endpoints
- Hot module reloading for React development with Vite
- Pre-configured linting with Ruff for Python, ESLint and Prettier for JavaScript
- Pre-commit hooks for code quality enforcement
- Test suite with pytest for Django and testing setup for React
- Type safety with TypeScript for frontend
- API documentation with Swagger/OpenAPI via drf-spectacular
- Docker development environment with PostgreSQL and Redis
- Environment-based settings for dev/staging/production
- Security headers configured (CORS, CSP, HSTS)
- Error tracking with Sentry integration (mobile) and Rollbar support
- Comprehensive logging configuration
- Database migrations with Django's migration system
- Static file handling with WhiteNoise
- Email services via Mailgun, AWS SES, or custom SMTP
- File storage with S3 or Google Cloud Storage support
- WebSocket support with Django Channels for real-time features
- Redis integration for caching and channel layers
- GitHub Actions workflows for CI/CD
- Heroku deployment configuration with Procfile
- PostgreSQL as default database
- Mobile app support with React Native template
Let's pretend you want to create a Django project called "therock". Rather than using startproject
and then editing the results to include your name, email, and various configuration issues that always get forgotten until the worst possible moment, get cookiecutter to do all the work.
Follow the Quick Start above.
You'll be prompted for some values. Provide them, then a Django project will be created for you.
Answer the prompts with your own desired options. For example:
project_name [My Project]: The Rock
author_name [ThinkNimble]: Test Author
email [hello@thinknimble.com]: test@thinknimble.com
project_slug [the_rock]:
Select mail_service:
1 - Mailgun
2 - Amazon SES
3 - Custom SMTP
Choose from 1, 2, 3 [1]: 1
Error: "my_project" directory already exists
william@Williams-MacBook-Pro thinknimble % rm -rf my_project
william@Williams-MacBook-Pro thinknimble % cookiecutter git@github.com:thinknimble/tn-spa-cookiecutter.git --checkout cleanup
You've downloaded /Users/william/.cookiecutters/tn-spa-cookiecutter before. Is it okay to delete and re-download it? [yes]:
project_name [My Project]:
author_name [ThinkNimble]:
email [hello@thinknimble.com]:
project_slug [my_project]:
Select mail_service:
1 - Mailgun
2 - Amazon SES
3 - Custom SMTP
Choose from 1, 2, 3 [1]:
Create a git repo and push it there::
git init
git add .
git commit -m "first awesome commit"
git remote set-url origin git@github.com:thinknimble/the-rock.git
git push -u origin main
Now take a look at your repo. Don't forget to carefully look at the generated README. Awesome, right?
See the CONTRIBUTING file for information about reporting issues, setting up your dev environment, running tests, and making pull requests.