Project 1 — Card-spending analysis with Ollama (local)
Audience: students who finished Course 2 (or already know how to install Python + Ollama) and want to build a complete, fully local project: data ingestion, SQL store, dashboards and a tool-using LLM agent.
The idea
Section titled “The idea”We start from a mundane file — a credit-card CSV export — and build, step by step, a real app that does three things:
- Understands the CSV: columns, date formats, debit/credit.
- Renders useful dashboards: total, monthly, top merchants, category split.
- Answers questions in plain English: “How much did I spend on groceries last month?”, by letting an LLM write SQL and run it against a local SQLite database.
Everything runs on your machine. No API key, no cloud, your data never leaves.
What you’ll have at the end
Section titled “What you’ll have at the end”-
A Streamlit app on
http://127.0.0.1:8504that:- loads
csv-llm-ollama/data/data1-anonymized.csv(734 transactions); - shows 4 dashboards (monthly, by category, top 10, recurring merchants);
- lets you chat with your spending:
you: What is my biggest spending category?
model: Your biggest spending category is “Housing” with $30,895.29.
(SQL:
SELECT category, SUM(amount) FROM transactions WHERE amount > 0 GROUP BY category ORDER BY SUM(amount) DESC LIMIT 1)
- loads
-
A reusable shared Python module
csv-llm-shared/(ingest, normalize, db, categorize, dashboards) — deep-dived in Project 3.
The 9 chapters
Section titled “The 9 chapters”| # | Chapter | Duration | Type |
|---|---|---|---|
| 01 | Overview and goals | 8 min | Theory |
| 02 | The demo CSV | 10 min | Hands-on |
| 03 | Setting up the environment | 15 min | Hands-on |
| 04 | CSV ingestion across banks | 15 min | Code |
| 05 | Normalization and SQLite | 15 min | Code |
| 06 | Categorization: rules and LLM | 12 min | Code |
| 07 | Plotly dashboards | 15 min | Code |
| 08 | LLM agent with SQL tool | 25 min | Code |
| 09 | Running the app step-by-step | 15 min | Guided |
How to read this course
Section titled “How to read this course”- Linear (recommended): 01 → 09. About 3 hours.
- Express, just run the app: 02 → 03 → 09. 30 min.
- Theory only (no install): 01 → 04 → 06 → 08.
Want the cloud variant (OpenAI, faster, paid) once you finish? Head to Project 2 — csv-llm-openai. Want to deep-dive into the shared Python library? Head to Project 3 — csv-llm-shared.