Prototypes, Demos, and Your Portfolio
Five years ago, "deploy a demo" wasn't on a data scientist's job description. You'd show a slide deck with plots during a meeting.
Something changed after ChatGPT. Stakeholders started expecting to interact with what you built — to type a query into a search box and see the results, to adjust a slider and watch the output change, to actually interact with the model rather than passively receive a presentation about it. This expectation has propagated down from executive demos into technical reviews, internship portfolios, and hiring decisions.
Building a working demo is now a real, increasingly non-negotiable data science skill. It's also the single highest-return-on-time investment you can make for your career right now. A recruiter who clicks through your deployed app and sees it work will remember you in a way that a bullet point on a resume cannot match.
Tight timeline and Python-only? Streamlit or Gradio. Want polish or a real product? Next.js. Most portfolios use at least two of these simultaneously — a Streamlit demo on Hugging Face Spaces linked from a Next.js personal site.
Step 1: Save your model
Before you can wrap a model in a demo, you need a saved model artifact. In scikit-learn, use joblib or pickle.
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
import joblib
# Train
X, y = load_iris(return_X_y=True)
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X, y)
# Save
joblib.dump(model, "model.joblib")
print("Model saved → model.joblib")Do these tasks to complete this step:
Streamlit Is for Demos, Not for Products
Streamlit is a remarkable tool for rapidly demonstrating an idea. It is not an appropriate foundation for a system that other people depend on — it wasn't designed for multi-user production traffic, fine-grained access control, or complex UI state.
Think about the projects you've done in this program so far. Pick one and design a demo for it. What framework would you use? What would a user be able to do with it? What would you need to build that you don't currently have?