Ibnovate Course 3 · The Future Builders
⏱ ProjectProject

Unit 2 Project — Build with Modern AI

Run after: Sessions 5–8 · Format: independent project

Your goal: build something genuinely useful on top of modern AI — embeddings, a pre-trained transformer, or an LLM with retrieval (RAG) — and use it responsibly, with an eye on privacy and where it can go wrong.

What to build

A working tool or study that puts modern AI to real use — not a model trained from scratch, but a smart application built on models that already exist. You'll use Hugging Face pipelines, sentence embeddings, or an LLM, and wrap them into something a person could actually try.

The heart of this project is meaningful use: the AI should do real work in your tool, and you should be able to show it running and explain what it's doing. You'll also think like a responsible builder — what data goes in, what could be misused, and what you'd warn a user about.

Example ideas (pick one, or bring your own):

Steps

  1. Pick a real task and a user. Say who this helps and what they'd type or upload.
  2. Choose your modern-AI ingredient — embeddings, a Hugging Face pipeline, or an LLM + retrieval — and get a first version running.
  3. Feed it real inputs and see where it shines and where it breaks.
  4. Make it usable — a simple loop, notebook cells, or a small Gradio interface.
  5. Test it honestly on a handful of your own examples; note the failures, don't hide them.
  6. Do a responsible-use check — what private data is involved, what could be misused, and what a user should be told.
  7. Write it up — what it does, how well, and its limits.

A grounded-answer sketch using embeddings + an LLM:

from sentence_transformers import SentenceTransformer, util

embedder = SentenceTransformer("all-MiniLM-L6-v2")
docs = ["...your trusted documents..."]
doc_vecs = embedder.encode(docs, convert_to_tensor=True)

question = "What does the policy say about refunds?"
q_vec = embedder.encode(question, convert_to_tensor=True)
best = util.semantic_search(q_vec, doc_vecs, top_k=2)[0]

context = "\n".join(docs[hit["corpus_id"]] for hit in best)
# Pass `context` + `question` to your LLM so its answer is grounded — and cite the source.

Deliverables

A shareable package (a Colab notebook, or a repo with a short README, or a small Gradio/Streamlit demo) that contains, in order:

Here is how your work is assessed — four rising levels:

Assessment ladder showing the four rubric levels rising from the lowest to the highest

How your work is assessed

Criterion Emerging Developing Proficient Exemplary
Uses modern AI meaningfully AI barely used Used, but it's not the point Embeddings / transformer / LLM does real work Used cleverly; the right tool for the task, well applied
Works Doesn't run Runs on one input only Handles real inputs and gives useful output Robust, usable, handles tricky inputs gracefully
Responsible use & privacy Not considered Mentioned vaguely Names real data and misuse risks Thoughtful safeguards and honest user warnings
Creativity Copy of a tutorial Small twist on an example A genuinely useful, original idea Inventive and polished — something people would use
Write-up Missing States what it does only Clear write-up with honest limits Insightful reflection on strengths, failures, and next steps

What's next

In Unit 3 you'll turn the same skills toward a question you actually want answered — and hold your own work to a researcher's standard.

Ibnovate · Build · Innovate
Type to search · Esc to close
Welcome back
Sign in to continue building.
Accounts are created by Ibnovate — ask your instructor for your login.
🔒