Building a Python Portfolio That Actually Gets Berlin & Amsterdam Interviews (2026)
A portfolio of "learned Python from a course" projects gets rejected on sight by hiring managers at Delivery Hero, Booking.com, Adyen, N26, TIER, Personio, and every YC/Sequoia-backed EU SaaS startup. This is what actually works instead.
The reference audience: junior Python roles at Berlin, Amsterdam, Munich, Paris, Barcelona companies where English is the working language and the stack is FastAPI / Django / data pipelines. Salaries: β¬45-65k for junior, β¬70-95k for mid, β¬100-140k for senior.
The 3-project shape that opens interviews
Hiring managers open portfolios that show you can handle an actual production shape, not that you can complete a course. The 3 projects below cover the three axes they check for:
Project 1: An API with auth, database, tests, and a deployment
Not a to-do app. Something with a real domain. Example: "BookSwap" β users list books they've read, request swaps, mark books as sent. Or "MeetupCarpool" β coordinate driving to conferences.
Stack that reads modern:
- FastAPI (Django is fine but reads dated for a junior)
- Pydantic v2 for request/response validation
- PostgreSQL via SQLAlchemy 2.0 (or Postgres via Supabase for lower-friction hosting)
- JWT auth (users can register, log in, log out)
- pytest with real DB fixtures (not mocks)
- Deployed on Fly.io / Railway / Render (Vercel is fine for Next.js, not Python β hiring managers notice)
- README with: 1 architecture diagram, screenshot, live URL, tech stack, tradeoffs section explaining ONE decision
The tradeoffs section is the piece that separates "did the course" from "thinks about engineering". Example: "I chose Fly.io over Railway because their volume mounts are cheaper for the DB. Downside: cold-start latency is 2s vs Railway's ~500ms."
Project 2: A data pipeline
Real data, real transformation, real output. Example: scrape your city's job board β clean into structured rows β save to Postgres β generate weekly HTML report β email it to yourself. Or: pull GitHub trending Python repos β dedupe β summarize with an LLM β publish to a static site.
Stack:
- requests or httpx for HTTP
- beautifulsoup4 or playwright for HTML parsing (playwright if JS-rendered)
- pandas or polars for transformation
- APScheduler / GitHub Actions cron for scheduling
- SQLite or Postgres for storage
- ruff format, ruff check, mypy for cleanliness
Show you handle failures: a section in the README that says "here's what happens when the source site changes HTML β the pipeline logs an error, alerts on Slack, and skips the row instead of crashing the whole run."
Project 3: Something LLM-integrated
This is the 2024-2026 differentiator. Anthropic + OpenAI SDKs are ubiquitous; showing you can integrate them cleanly is a strong signal for any modern Python team.
Examples:
- A CLI tool that takes a Python file and returns AI-generated docstrings for every function.
- A Slack bot that summarizes the day's PR reviews.
- A RAG (retrieval-augmented generation) chatbot that answers questions from your own notes.
Stack:
- Direct Anthropic or OpenAI SDK (NOT LangChain β hiring managers see LangChain-only projects as "didn't understand the underlying API")
- Vector store: Chroma (embedded) or pgvector (real database)
- Cost + latency section in README ("costs $0.02 per query, avg 800ms")
The 5 projects that get rejected on sight
1. A to-do list. Standard bootcamp completion project. Signals "did the course, didn't build anything real."
2. A calculator or unit converter. No domain, no reason to exist.
3. A landing-page clone (Netflix, Airbnb). Frontend clone with a Python backend doing nothing meaningful.
4. A quiz app. Multiple-choice questions from a hard-coded list. Zero real Python.
5. A tutorial project you didn't customize. If your README matches the tutorial's README word-for-word, the reviewer knows.
If any of these are in your portfolio, delete them.
What EU hiring managers actually check
Interviewed 8 tech recruiters at Berlin / Amsterdam companies across 2025-2026. Their pattern:
1. Live URL. If the project isn't deployed, they don't open the GitHub. Localhost screenshots do not count.
2. Commit history depth. 5 commits total (dump-and-run) = suspicious. 50+ commits over 4-8 weeks = you actually built it.
3. README quality. If they can't understand what your project does in 30 seconds, they close the tab. One-sentence pitch β screenshot β tech stack β tradeoffs β live URL β GitHub link. That order.
4. Any tests at all. tests/ folder with 5+ real assertions puts you ahead of 80% of junior candidates.
5. Realistic Python β no over-engineering (no Redis + Kafka + microservices for a 3-endpoint API). Simple architecture, well executed.
Timeline: 6-10 weeks realistically
- Weeks 1-4: Project 1 (API + auth + DB + deploy)
- Weeks 5-7: Project 2 (data pipeline)
- Weeks 8-10: Project 3 (LLM integration)
Full-time this compresses to 3-4 weeks. Evenings-only stretches to 10-12 weeks. Both are fine β hiring managers don't ask timeline.
Where CodeMentor fits
Our FastAPI Production track walks you through Project 1's shape lesson-by-lesson β same JWT + Pydantic v2 + SQLAlchemy 2.0 stack Berlin startups use. The AI Engineering track covers Project 3's Anthropic / OpenAI patterns with real code you can pull into your portfolio.
FAQ
Do I need all 3 projects to interview?
No β 1 solid project beats 3 half-built ones. Ship Project 1 first, then decide if you have time for the others. But: hiring managers who see only ONE project ask "what else have you built?", so having 2-3 answers that question up-front.
Should I use Django or FastAPI?
FastAPI for anything new. Django is fine on your CV if you already know it or the specific role is Django. Berlin/Amsterdam startups mostly hire on FastAPI.
Does my portfolio need to be in German / Dutch / French?
No β English is the working language at all these companies. GitHub in English. LinkedIn in both English and your local language.
How important is a personal domain (mycoolname.dev)?
Nice-to-have, not required. hiring managers care about the projects; the domain is decoration. If you have $10/year, get one. If not, GitHub Pages / Vercel default subdomains are fine.
Should I add my portfolio to a Bootcamp resume?
If you did a bootcamp AND built these 3 projects on your own: put the projects FIRST, bootcamp as "supplemental". Bootcamp-alone portfolios are the ones getting rejected β real projects on top of bootcamp are fine.
Start with FastAPI Production if you want a proven Project-1 shape end-to-end. Or the Senior track if you're an experienced dev pivoting from another language.