RSSAmplifier

Blog

maragu’s blog

maragu.devRSS feed ↗26 posts

Latest posts

Choosing what to keep human

A quote from Ethan Mollick on figuring out what to keep human using AI.

Headless software

How do we design software when users use it primarily through agents?

autoresearch and diary agent skills

I keep adding to and refining my agents skills repo.

23 skills I wrote with my AI

My AI, maragubot, has a blog post up with the skills we've been developing.

My AI got a Github account

I’ve figured out a new way to collaborate with my AI friends. I gave them their own Github account in my Github organization, and now we can interact through Github as though they are external collaborators. Is this new and insightful? No. Does it work well? Yes. Does it have some cool advantages? Also yes.

Do we still have time for human code review?

I’m increasingly convinced that in the near future, we software developers won’t be looking at our production code anymore.

Claude Code as a general-purpose agent

I think it’s important to start seeing Claude Code not as a software development agent, but as a general-purpose AI agent with access to your computer, files, and software. And it can also do software development very well.

Blogs I’ve enjoyed in 2025

I wanted to share my favourite blogs in the AI space with a colleague today, and thought that others might enjoy that list, too!

What if we treated Postgres like SQLite?

What happens if we just treat a local Postgres like SQLite? What does that mean? In this article, I’d like to expand on that idea.

OpenAI Responses API is an attempt at lock-in

OpenAI has a new Responses API, which, in contrast to the de facto standard Chat Completion API that other providers have adopted as well, is stateful. The change makes sense from their business perspective.

Evaluate LLM Apps in Go

As Large Language Models (LLMs) become a bigger part of our apps, making sure they work reliably brings some challenges. Unlike traditional code with predictable outputs, LLMs are indeterministic and can output downright weird stuff. That’s where good evaluation tools come in! In this post, I’ll show you the eval package from my newly renamed maragu.dev/gai module.

Running LLM evals right next to your code

One of the first things you learn when going down the path of building applications with LLMs is that you need evals. Wouldn’t it be nice if they could live in your existing test system, and be run and displayed in CI, just like your tests?

I’m all-in on AI and LLMs (but it’s also just another tool)

Like the title says: I’m all-in on AI and LLM-based applications. But what does that mean exactly, for a traditional software engineer like myself? Actually, not that much. LLMs are another (very) useful tool for building applications, with their own set of opportunities and challenges.

The art of being an indie software consultant: a chat with John Berryman

You know what’s both intriguing and challenging about the developer consulting world? It’s not just about writing code, it’s about building a whole persona, finding the right clients, while somehow simultaneously also making sense of the rapidly evolving tech landscape.

Demo: Trying the Model Context Protocol with a SQLite server and Claude

Anthropic unveiled the Model Context Protocol yesterday, a protocol to let LLMs gather context and use tools on servers that use the protocol. Here's a video demo of me using it with the Claude Mac desktop app and the SQLite server.

Requirements for an LLM eval pipeline (in Go?)

I’m currently in the market for an LLM eval system / project / pipeline I can use in my Go- and LLM-powered applications. This is a post to gather my thoughts and expose them to the wide internet. Think of it like a stream-of-thought post that might give you some ideas and food for thought as well.

Choose boring technology and LLMs

I really like boring technology. Software that has been tested for decades, does what it is supposed to robustly and fast, and is known by every person and machine on the planet. Technology like relational databases and SQL, HTTP, HTML, a well-known programming language. Throw LLMs into that mix, and you've got a potent cocktail!

I own my LLM chat history, and so should you

Like the rest of the world, I’ve embraced chatting to large language models (LLMs) as part of my professional and personal life. These thoughts-in-writing are important to me, and that’s why I keep a history of them on my own machine. And so should you.

TIL: Building llamafiles from Llama 3.2 GGUFs

Llamafiles are these cool little files that have llama.cpp and model weights embedded, and can run on Mac/Linux/Windows. Cool, let’s make some!

Decoupling time spent from value provided as a software developer

As software developers, we are uniquely positioned to create something and give it a life of its own. So why are so many of us content to clock in and sell our time, 19th century factory style?

TIL: HTTP middleware for custom Go module paths

I want to have my Go modules under my own domain, so instead of importing github.com/maragudk/example, I can import maragu.dev/example. Turns out it’s pretty easy.

Product experiment #1: MyFavPeople

It’s time for the first product! I want to build a web app to help you remember your friends’ birthdays and their kids’ names. Basically, a simple CRM for your personal life. I call it MyFavPeople.

TIL: Quantize and use Llama 3.1 with llama.cpp on a Mac

Learn how to download, quantize, and use Llama 3.1 with llama.cpp on a Mac. With word explanations!

My super secret spaghetti business plan

I’m going to let you in on a secret, if you promise to not tell anyone. It’s about making money and involves spaghetti. Are you ready?

Go is my hammer, and everything is a nail

Always choose the right tool for the job? Nah. I use Go basically everywhere, which either makes me insightful or stupid. Decide for yourself! :D

Go and SQLite in the Cloud

Why SQLite and Go in the cloud are a great match, getting started, best practices, and more.