Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build an LLM Application

Project-based, portfolio-first learning

Banner

An 8-week, project-based, portfolio-first program on operationalizing Large Language Models (LLMOps). Build a real LLM application, ship it publicly, and walk away with a portfolio piece, not a grade. Add to your calendar and start building

Table of Contents

The Project · Self-Assessment Checklist

How this program works

There's no grading, no enrollment gate, and no required login. Everything you need to complete the program is in this repository.

There are two ways to run through it:

  • Rolling (self-paced): Start whenever you want. No meetings, no cohort — you work through the 8 weeks on your own schedule and self-assess your project against the checklist.
  • Cohort: Runs alongside a shared start date with a dedicated Discord channel and an end-of-run call where participants demo their projects to each other (peer feedback, not grading).

Each week lists a plain-language objective, supporting resources, and a demo video prompt. The video prompt is worth doing even outside a cohort — it's the habit that turns a week of work into a LinkedIn post and a portfolio entry.

Important

You are not required to watch or read every resource listed. Nothing here is graded. Use the content as support for your project, not as a checklist to complete for its own sake.

Note

Diversity Statement: We share a commitment to diversity and equity, removing barriers to learning so that everyone can participate fully. This program is meant to be useful to people with a wide range of backgrounds, identities, and learning styles, whether you found it through a cohort or on your own on GitHub.

Prerequisites

Basic Linux and programming skills. You can complete all project work in either Python or Rust — you don't need both.

Linux

If you need to shore up basic Linux skills: Linux and Bash for Data Engineering · Coursera

Python

Rust

Additional support resources

8-Week Syllabus

Week 1: Generative AI Concepts + Dev Environment Setup

  1. Choose the problem your project will solve, and who it's for (see PROJECT.md)
  2. Choose your programming stack — Python or Rust
  3. Set up your dev environment and initialize the project repository

Weekly demo video prompt: Discuss your plan for your individual project — what you're building and how you'll pace it over the next 8 weeks — and describe your programming language choice, including its advantages and potential pitfalls. Use the Public Speaking guidelines to deliver a great demo.

Week 2: Interacting with Large Language Models

  1. Decide how you'll interact with the SLM/LLM (direct API calls, an SDK, a local server's HTTP endpoint, etc.)
  2. Experiment with prompts against a model and note the failure modes your application will need to handle (bad output, timeouts, hallucination)
  3. Sketch the input/output contract your application expects from the model

Weekly demo video prompt: Explain some challenges your application will face working with LLM output, and what you'll do to mitigate them.

Week 3: Local Large Language Models

  1. Evaluate the local LLMs/SLMs available to you (Llamafile, Ollama, llama.cpp, etc.) against your problem
  2. Choose the model and serving tool for your project
  3. Get it running locally and confirm you can call it programmatically from your application's stack

Weekly demo video prompt: Describe your evaluation of the local LLMs/SLMs available with Llamafile and which one fits your project best.

Week 4: Applied Solutions + Extensibility

  1. Build the core application logic around the model — input handling, prompt construction, output parsing, error handling
  2. Identify what plugins or functions would extend your application, and pick one to prototype
  3. Sketch an architectural overview of your application

Weekly demo video prompt: Walk through the architectural overview of your application and its challenges, and explain what plugins or functions would extend it — and what would make that harder in a production environment.

Week 5: Retrieval Augmented Generation

  1. Decide whether RAG fits your project — not every project needs it
  2. If it does, implement a basic retrieval pipeline over your document set
  3. If it doesn't, document why, so the decision shows up in your project's history and demo

Weekly demo video prompt: How would adding RAG to your application change the experience for an end user? Why would you (or wouldn't you) use RAG here?

Week 6: Python Web Frameworks for APIs

  1. Choose a web framework (FastAPI, Flask, or a Rust equivalent) if your interface needs one — skip this if your interface is a CLI
  2. Wire the framework into your existing application logic
  3. Expose your application's endpoints and confirm they work end to end

Weekly demo video prompt: What are the benefits of the framework you chose, and how will you wire it into your application?

Week 7: DevOps Principles + Deploying ML APIs

  1. Containerize the application, without baking the model into the image
  2. Set up GitHub Actions CI to build the container image on push
  3. Apply and document basic DevOps and responsible-AI practices for your project

Weekly demo video prompt: How are you applying DevOps and responsible AI principles — and automation — to your application? What difficulties came up building the automation, and how will it benefit the project going forward?

Week 8: LLM Platforms + Ship & Finalize

  1. Evaluate what a cloud LLM platform would change about your application, as a point of comparison to your local/self-deployed setup
  2. Run your project against the self-assessment checklist
  3. Publish the repository publicly and write a short portfolio/LinkedIn post linking to it

Weekly demo video prompt: How would adding a cloud LLM platform change what your application can do, and what's a drawback of relying on one? Wrap with a short demo of the finished project.

Finish the project: publish the repository, run it against the self-assessment checklist, and write a short portfolio/LinkedIn post pointing at the repo. Rolling learners get a closing email when they hit this week; cohort learners present on the end-of-run call instead of (or in addition to) posting.

The Project

The whole program is built around a single project you start in Week 1 and ship in Week 8: an application that solves a real problem using a local or self-deployed LLM/SLM. See PROJECT.md for what that means and how to scope it, and the self-assessment checklist for what "done" looks like.

Important

Do not build a model yourself. Reuse an existing LLM or SLM. Use Mozilla Llamafile as a reference for running one locally, or another local serving tool (Ollama, llama.cpp, etc.) — details in PROJECT.md.

The primary two resources for building an LLM solution on a local API:

  1. Beginning Llamafile for Local Large Language Models (LLMs) · Coursera
  2. Getting Started with Open Source Ecosystem · Coursera

Machine Learning References

AutoML References

Python References

Referenced Media and Resources

Optional supplementary readings & media

AWS

GCP

Python

Linux and Systems Engineering

Community

Join the shared PAIML Discord to ask questions, share progress, and post your weekly demos. If you're in a cohort, you'll also get invited to a dedicated channel for your run, alongside the shared server.

About

An 8-week, project-based, portfolio-first program on operationalizing Large Language Models (LLMOps). Build a real LLM application, ship it publicly, and walk away with a portfolio piece, not a grade.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors