This is it - the final lesson. Everything you've learned converges here: ML pipelines, research implementation, system design, and engineering craft. You're going to ship a real open-source AI project that solves a genuine problem and lives on beyond this course.
The best OSS projects start from personal frustration. Don't build another TODO app with AI - find a gap:
Validate before building: search GitHub, PyPI, and npm. If something similar exists, your project needs a clear differentiator - faster, simpler API, better documentation, or a novel approach.
Define your Minimum Viable Project ruthlessly:
## MVP Scope (Week 1-2)
- Core functionality: ONE thing, done well
- CLI or Python API interface
- 3 working examples
- Basic README with installation and quickstart
## V1.0 Scope (Week 3-4)
- Comprehensive documentation
- Test coverage > 80%
- CI/CD pipeline
- Published to PyPI/npm
- Demo deployed
The anti-pattern: spending months perfecting code nobody has seen. Ship early, iterate based on feedback.
First impressions matter. A professional repository needs: src/ layout for code, tests/, examples/, docs/, .github/workflows/ci.yml, plus root files - LICENSE (MIT or Apache 2.0), README.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, and pyproject.toml.
Your README is a sales page. It must have: one-line description, installation (pip install my-project), quickstart (working code in under 10 lines), key features (bullet points), comparison table vs alternatives, and a documentation link.
What is the single most important element of an open-source project's README?
Modern Python packaging with pyproject.toml:
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "my-ai-project"
version = "0.1.0"
description = "One-line description of your project"
requires-python = ">=3.9"
license = "MIT"
dependencies = ["torch>=2.0", "numpy>=1.24"]
[project.urls]
Documentation = "https://my-ai-project.readthedocs.io"
Repository = "https://github.com/username/my-ai-project"
# Build and publish
pip install build twine
python -m build
twine upload dist/*
Automated releases: use GitHub Actions to publish to PyPI on every tagged release - never publish manually after the first time.
A demo converts sceptics into users. Three excellent platforms:
| Platform | Best For | Deployment | |----------|----------|-----------| | Hugging Face Spaces | ML model demos | Git push, free GPU tier | | Streamlit | Data apps, dashboards | Streamlit Cloud, free tier | | Gradio | Quick ML interfaces | Hugging Face Spaces or standalone |
# Gradio demo - 8 lines to a shareable interface
import gradio as gr
from my_ai_project import predict
demo = gr.Interface(
fn=predict,
inputs=gr.Textbox(label="Enter text"),
outputs=gr.Label(label="Prediction"),
title="My AI Project Demo"
)
demo.launch()
Which demo platform is MOST effective for getting initial traction for an ML project?
Follow the Diátaxis framework - four types of documentation: Tutorials (learning-oriented, step-by-step), How-to guides (task-oriented, practical), Reference (complete API docs), and Explanation (conceptual understanding). Use MkDocs or Docusaurus to generate sites from Markdown. Deploy free on GitHub Pages or Read the Docs.
Building it is half the battle. Getting people to use it is the other half:
Timing matters: launch on Tuesday–Thursday mornings (GMT). Avoid weekends and holidays.
Sustainability matters more than virality:
good-first-issue, help-wanted, bug, enhancementOpen source doesn't mean free labour forever. Sustainable models: GitHub Sponsors (low effort, recurring donations), consulting (paid setup and training), SaaS wrapper (hosted version with enterprise features - highest effort but most sustainable), dual licensing (open-source + commercial), and corporate sponsorship (priority features for paying companies).
What is the MOST sustainable long-term monetisation strategy for a popular open-source AI library?
Before you call it shipped:
This project IS your portfolio. When an interviewer asks "What have you built?", you'll have a live, documented, published answer.