Duarte
banner
duarteocarmo.com
Duarte
@duarteocarmo.com
Born in 🇵🇹, based in 🇩🇰. Machine Learning Engineer (or whatever it's called now)

duarteocarmo.com
duarteocarmo.com/photos

github.com/duarteocarmo/
Back in May this year, Alex reached out to me and asked me if wanted to collaborate with him on a new book.

6 months later, I'm happy to announce that DeepSeek in Practice is available for pre-order! More info about the release and links inside

duarteocarmo.com/blog/book-r...
Book release: DeepSeek in Practice
Thoughts on my new book, DeepSeek in Practice, now available for pre-order through Packt
duarteocarmo.com
November 17, 2025 at 12:47 PM
Updated my rss-to-podcast engine. And I'm sorry to admit. That TTS, still sucks.

duarteocarmo.com/blog/tts-st...
TTS still sucks
Some updates to my rss to podcast pipeline and the quest for the best open-source TTS model.
duarteocarmo.com
November 10, 2025 at 9:52 PM
Retrospectiva is a monthly newsletter about life and what I've been up to. Enjoy!

duarteocarmo.com/blog/retros...
Retrospectiva #1
Welcome to Retrospectiva. Retrospectiva is a monthly update about what I’ve been up. In the age of LLMs, I’ve heard many argue that it’s hard (and useless) to write anything at all anymore
duarteocarmo.com
October 31, 2025 at 12:55 PM
Faísca (spark in Portuguese) is a single 1000 line of code uv script that implements pre-training, supervised fine-tuning and GRPO from scratch - in PyTorch.

The only thing you need to run it is uv. (GitHub repo inside)

duarteocarmo.com/blog/faisca...
Faísca: The modern LLM stack in a single script
Faísca is a uv-runnable script that implements the modern LLM stack in ~1000 lines of code. It includes pre-training, supervised fine-tuning, and reinforcement learning.
duarteocarmo.com
October 15, 2025 at 12:02 PM
A couple of weeks ago I wrote a short article about AI and the utility bubble.

Today, it got published on the Portuguese newspaper I read everyday!

www.publico.pt/2025/10/08/...

Google translate link in the comments.
IA: a bolha da utilidade
A dura realidade é que quase metade dos projectos que usam IA continuam sem dar retorno. Porquê?
www.publico.pt
October 9, 2025 at 8:59 AM
More and more news. Thankfully, we still have open source. Quick post on how I ditched Feedly to regain control of my news feeds.

duarteocarmo.com/blog/drowni...
Drowning in News
Moving from Feedly to FreshRSS and taking back control of my news feed.
duarteocarmo.com
October 5, 2025 at 4:07 PM
After talking to a lot of "non-ai" people this summer. I was surprised at some of the misconceptions they had about AI/LLMs. This post captures just a few.

open.substack.com/pub/duarteo...
Common misconceptions about AI
A couple of weeks off. A lot of conversations. A lot of misconceptions about AI and LLMs.
duarteocarmo.substack.com
September 8, 2025 at 10:17 AM
In "RAG tricks from the trenches" I cover: starting simple, embedding choices, leveraging structured outputs, and keeping your evals pragmatic.

Big thanks to the amazing staff and volunteers for (another!) amazing conference.

Video:
www.youtube.com/watch?v=oKX...
RAG: Tricks from the trenches. - Duarte Carmo
RAG: Tricks from the trenches. - Duarte Carmo - PyCon Italia 2025Elevator Pitch:RAG. You've heard about it. Your entire family has heard about it. However, m...
www.youtube.com
September 1, 2025 at 8:07 AM
I regret to inform I am now in the Obsidian train. Blog posts might follow.
August 18, 2025 at 1:28 PM
I'm giving a workshop on the 16th of August about how building agents backed by DeepSeek.
We'll cover tools, MCP, and a couple of other interesting bits!

www.eventbrite.com/e/deepseek-...
DeepSeek in Production
Dive deeper into DeepSeek's MoE, MLA, FP8, MTP + hands-on fine-tuning, agentic workflows & real-world deployment strategies.
www.eventbrite.com
July 28, 2025 at 7:26 AM
I spent the past couple of weeks adding a benchmark for european portuguese to EuroEval. Here's a small write-up and some preliminary benchmarks!

duarteocarmo.com/blog/a-bench...
A Benchmark for language models on European Portuguese
Creating European Portuguese benchmarks for EuroEval. Because European Portuguese evaluation needs European Portuguese data
duarteocarmo.com
July 21, 2025 at 12:45 PM
... but they can also be a whole lot of fun. 200 lines of Python, a uv script - and we are off to the races (literally)
MCPs are mostly hype
You don't really need to install that vulnerable MCP server. Solve your problem with 200 lines of Python and UV.
duarteocarmo.com
June 6, 2025 at 8:23 AM
How I used evals to systematically improve my LLM-powered food tracking app Taralli.

open.substack.com/pub/duarteoc...
Evals are all you need
Evals are a buzzword. How I used evals to systematically improve my LLM-powered food tracking app Taralli.
open.substack.com
May 4, 2025 at 12:46 PM
I built a small, home-cooked food tracking app.

It’s called Taralli. You just write what you ate — in any language — and it gives you back calories, macros, fiber, and food group.

No scanning. No barcode hunting. No BS.
Taralli: Home-Cooked Food Tracking Without the BS
Taralli is a home-cooked food tracking app that lets you write what you ate in any language and gives you back calories, macros, fiber, and food group — no scanning, no bullshit.
open.substack.com
April 7, 2025 at 8:58 PM
I never thought I'd replace my Kindle. Then I tried the Boox Palma. A short review, and why I switched.

duarteocarmo.com/blog/goodbye...
Goodbye Kindle, I don't think I'll miss you.
I never thought I'd replace my Kindle. Then I tried the Boox Palma. A short review, and why I switched.
duarteocarmo.com
March 29, 2025 at 11:17 AM
Late last year I got the opportunity to present at the very first PyCon Wroclaw. I talked about solving the right problem, the state of text-to-SQL, and systematically improving your question-answering system with evaluations.

Oh, and memes. We gotta have those

duarteocarmo.com/blog/you-als...
March 10, 2025 at 9:00 AM
As promised, here's a roundup of my favorite LLM based tools. Lessons: Less is more, local support is important.

Enjoy!

duarteocarmo.com/blog/simple-...
Simple AI tools
An opinionated guide on my favorite LLM-based tools. Turns out you don't need all the tools - just a couple of good ones.
duarteocarmo.com
February 18, 2025 at 1:04 PM
Have this link in hand to anyone that asks you about Deepseek today.

It's a good one.
DeepSeek FAQ
DeepSeek has completely upended people’s expectations for AI and competition with China. What is it, and why does it matter?
stratechery.com
January 28, 2025 at 5:45 AM
Alright - I’ve gone deep into another rabbit hole.

A small exploration of GPQA and some fun experiments with DSPy!
What the hell Is GPQA, anyway?
MMLU, HumanEval, SimpleQA, GPQA. Confused? You’re not alone. A short deep-dive into LLM evaluations and benchmarks, focused on GPQA.
open.substack.com
January 15, 2025 at 2:47 AM
One of the reasons I am getting married is to prove it's possible to make a great wedding website in plain html.

Sad. But oh so true.
January 13, 2025 at 9:52 PM
Danish winter cheatcodes
January 9, 2025 at 6:51 PM
Surviving Danish winter is easier with experimental belgian jazz.

Best discovery of 2025 so far.
This Is Nala Sinephro
Playlist · Spotify · 12 items · 303 saves
open.spotify.com
January 9, 2025 at 7:42 AM
Funny how I thought sentiment analysis was a solved problem in the age of LLMs.

It's just made it much easier to make something VERY wrong aha
January 7, 2025 at 5:58 PM
Forget what I said - full of bugs.
Here's an interesting problem to test different LLMs at solving.

Take this image, and try to create a python function that solves it.

I tried deepseek v3, o1, most models. The one that got closest was 3.5 sonnet. But there a bug.

Care to find it?
January 2, 2025 at 5:26 PM
Here's an interesting problem to test different LLMs at solving.

Take this image, and try to create a python function that solves it.

I tried deepseek v3, o1, most models. The one that got closest was 3.5 sonnet. But there a bug.

Care to find it?
January 2, 2025 at 5:16 PM