Build with AI
ClinicLive, a clinic app built with an AI pair programmer from the first prompt to a private on-premises assistant, every prompt shown and every mistake kept.
Start here
The series, in order
6 series, 59 parts in all, in the order we suggest reading them.
From Prompt to Production
Build a real app with AI, end to end: Blazor Server, PostgreSQL and SignalR, developed with Claude across fourteen parts — every prompt shown, every AI mistake kept and fixed, every dollar counted. The companion repo's commit messages ARE the prompts.From Prompt to Polish
The design sequel: redesign a working app with AI — kill the template look, build a token design system, and treat four surfaces as four UX disciplines (phone, kiosk, wall TV, pro tool). Ten parts, real before/after screenshots, every AI design mistake kept in.From Prompt to Pocket
The trilogy's third season: put a working app in a patient's pocket with .NET MAUI Blazor Hybrid — one set of Blazor screens for Android, Windows and the browser, real push notifications, haptics, geolocation, a QR scanner and offline support, built with AI across twelve parts. Every native feature is a capability interface; every screenshot is real; every dead end is kept in.From Prompt to Private
Season four: the clinic gets its own AI, on its own server, because patient data cannot leave the building. Free open-weight models on Ollama, a 16 GB GPU (and an honest CPU-only minimum), knowledge in PostgreSQL with pgvector, a staff assistant and a patient assistant on the kiosk and the phone — built with AI across twelve parts, every number measured, every wrong answer kept in.Claude Code for .NET Developers
Six hands-on parts that make Claude Code work the way a .NET repository works: a CLAUDE.md that earns its tokens, permissions for dotnet on Windows, hooks that format and test, a skill for EF Core migrations, a reviewer subagent, and a read-only MCP server in C#. Every file was used in real sessions on one sample solution, and each part reports what did not work as well as what did.Blazor vs React vs Angular
One app, four clients, one measurement. The same todo application was built in Blazor WebAssembly, Blazor Server, React 19 and Angular 22 by headless Claude Code sessions from one spec, judged by one frozen suite of 61 tests, then measured the same way: bytes, startup, a 10,000-row list, memory, lines of code, accessibility, and how many turns the AI needed. Five parts: the method, the two Blazor builds, React, Angular, and the results with seven hypotheses settled one by one.All 5 parts →Start with Part 1📦 coder000-todo-four-ways: the API, the suite, the reference client and the four AI-built clients with their per-step commits📄 SPEC.md, the contract every client implements📊 sessions.csv, one row per metered Claude Code session🧭 The render-mode post this series measures: Blazor Server vs WebAssembly vs Hybrid
Also in this path
Standalone posts on the same ground, newest first. Each one stands on its own.
Is Ollama Using My GPU? ollama ps, the Server Log, nvidia-smi and Why It Falls Back to the CPU
Run ollama ps and read the PROCESSOR column. Then the log lines that say CUDA, cpu or a split, why a GPU gets skipped, and measured GPU vs CPU speeds.Where Ollama Stores Models and How to Move Them to Another Drive with OLLAMA_MODELS (Windows and Linux)
Ollama keeps models under .ollama/models. To move them: quit, move the folder, set OLLAMA_MODELS, restart. Tested, and the two mistakes that empty the list.The Ollama API with curl and from .NET: generate, chat, embed, the OpenAI-Compatible /v1 Endpoint and the Errors It Returns
Every Ollama endpoint called with curl and from .NET. Streaming NDJSON, chat history, JSON mode, embeddings, the /v1 OpenAI client and the real error replies.Ollama Default Port 11434: Change It with OLLAMA_HOST, Fix 'bind: Only one usage of each socket address', Reach It from WSL
Ollama's default port is 11434, on localhost only. Change it with OLLAMA_HOST, fix the bind error when it is taken, open it to the network and WSL.How to Install Ollama on WSL (Ubuntu) and Linux: What the One-Liner Really Does
Install Ollama on Linux and WSL, run on a bare Ubuntu 24.04. Why it needs zstd, what it creates with or without systemd, where models live, the manual route.Local Model or Cloud API? Which One, and When
Local model or hosted API is decided by your data first. Then quality on grounded questions, the two cost shapes, availability, and who runs the box.What Building a Real App with AI Actually Cost: 36 Parts, Three Seasons, About $17
Every meter reading from three seasons of ClinicLive. Per part and per model, with the methodology, plus what caught the AI's mistakes.What Is AI-Assisted Coding? A Beginner's Guide
AI pair programmers can write code with you. What tools like Copilot and Claude actually do, how to use them well, and the habits that keep you learning.Vibe Coding: What It Is — and When to Trust It
Describe what you want and let AI write the code. That is vibe coding: fast and fun, but knowing when to trust the output is a real skill.What Is a Large Language Model? A Friendly Explanation
LLMs power ChatGPT, Claude and Copilot, but how do they work? A jargon-free tour of tokens, training and prediction, and why models sometimes make things up.Prompt Engineering Basics for Developers
Better prompts mean better code. Practical patterns, context, examples, constraints and iteration, that make AI coding tools dramatically more useful.What Is RAG? Retrieval-Augmented Generation, Explained
How can an AI answer questions about your documents? Meet RAG: chunking, embeddings, vector search and grounded answers, explained step by step.What Are AI Agents? From Chatbots to Digital Coworkers
An AI agent is a language model with tools, memory and a goal. How agents work, what they can safely do today, and how developers fit into the loop.What Is MCP? The Model Context Protocol, Explained Simply
MCP is being called the USB-C of AI. One standard plug between AI models and your tools and data, and here is why everyone is talking about it.JSON → C# records
Paste an API response, get C# 12 records with init-only properties, nullable types and JsonPropertyName — every choice explained, every guess flagged.Blazor render mode chooser
Six questions about your app, one recommendation between static SSR, Server, WebAssembly and Hybrid — every reason shown, shareable by URL.EF Core migration SQL explainer
Paste the script from dotnet ef migrations script — get a plain-English summary of every change, and a warning for each one that can lose data or lock a table.Error lookup
Paste an error message — get the posts on this site that decode it, each with the cause and the fix that worked. Matched on error codes and title words, nothing stored.Extras
More ways in: Learn the stack Prepare for interviews Fixes Tools everything on one page