Posts

Why AI Context and the Right Model Matter When Building Apps

Image
A tiny task, two very different answers I gave two AI models the same three-line Python task. One gave me four lines of clean code and a useful warning. The other spotted the same edge case, but it quietly decided how to handle it for me. The task was so simple that you'd expect both models to do it the same way. They didn't, and the difference taught me more than any benchmark. Context, and choosing the right model, matter even for the smallest tasks. The task I sent both models the same prompt, word for word: Build a Python script. You should define a function named apply_discount . The apply_discount function should take exactly two parameters: price and discount . If price is not a number (int or float), the function should return the string The price should be a number . That's the whole spec. It doesn't say how to handle the discount, what to return for valid input, or what to do about edge cases. A good assistant has to decide what to fill ...

AI Virtual Team: Five Subagents Built My Growth Plan in Under 90 Minutes

Image
I built MathQuizPrep as a free study tool for my daughter’s math competition prep. Once it existed, one question came up naturally: could this app also earn a little money, without being unfair to the audience, since the users are 10-15 years old? I did not want to research marketing, EU law about minors, SEO, and UI design all by myself. So instead of doing that research alone, I defined a small team of AI specialists and asked them to do it for me, with one of them working as a manager for the other four. Building the team: by prompting, not by writing the files myself Each “team member” is a Markdown file inside .claude/agents/ — a persona with a name, a short job description with a fixed list of tools it is allowed to use. Each agent also got information about which model it should use — the more complex ones (like the manager) got more capable models. I did not write any of these files by hand. I described the team in plain English, and Claude wrote and improved them over a shor...

From PDF Archive to Study App: An LLM-Driven Data Pipeline

Image
  A lot of real-world problems boil down to the same shape: some scattered, unstructured source material exists (PDFs, archives, scanned documents), and what you actually need is a structured, usable product on the other end — categorized, searchable, and packaged for a specific audience. That transformation used to mean writing a pipeline by hand: a parser here, a classification script there, a templating layer to render the final output. With an LLM as a development partner, the same pipeline can be built through conversation — research, extraction, categorization, content generation and packaging, each step still a real, inspectable script or file, but designed and iterated on in natural language rather than written line by line. The part that changed the most for me wasn’t the coding — it was the analysis phase. Reading five years of exam PDFs, working out the syllabus scope, and deciding how to categorize dozens of tasks by topic and difficulty is the kind of manual review tha...

Self-Healing Scrapers: Let One Agent Write Another Agent's Instructions

Image
A scraper usually breaks the moment a website redesigns its layout. This one doesn't — it researches the page itself, and re-researches it when something changes  This article walks through building exactly that, with Claude Code. The business need Let's imagine a situation where parents have three kids in three different schools. None of the schools agree on how to publish a timetable. The formats are different: one puts up clean, per-class HTML pages. Another exports its entire grade level as a single PDF. What the parents want is one combined, printable schedule covering all three kids. Writing an HTML scraper for the first school and a PDF scraper for the second is an afternoon's work. What is more, the timetable structures may change in time. The process The solution I landed on with Claude Code was a self-correcting process based on LLM agents. There are two agents involved. The first, a research agent , studies a school's site and writes plain-English ins...

ASP.NET 5 Beta 8

It's been a while since a wrote something on a blog. Today I would like to share with you a good starting point for ASP.NET 5 and switching to beta 8. Here is a nice article  Upgrading from ASP.NET 5 Beta 7 to Beta 8 And nice tutorial made by the same author  Building a Web App with ASP.NET 5, MVC 6, EF7 and AngularJS

TCExecutor on NuGet

Image
TCExecutor is now awailable on NuGet.org Project page:  TCExecutor From Visual Studo:

Thread safe rotate index.

Sometimes you may need a rotation thread safe index. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections.Concurrent; using System.Threading; namespace ConsoleApplication12 { class Program { static void Main(string[] args) { Console.WriteLine("Init value = Int32.MaxValue - 10"); RotatorIndex.Init = Int32.MaxValue - 10; Thread thread1 = new Thread(new ThreadStart(ThreadMethod)); Thread thread2 = new Thread(new ThreadStart(ThreadMethod)); thread1.Start(); thread2.Start(); thread1.Join(); thread2.Join(); Console.WriteLine("Init value = - 10"); RotatorIndex.Init = - 10; thread1 = new Thread(new ThreadStart(ThreadMethod)); thread2 = new Thread(new ThreadStart(ThreadMethod)); thread1.Start(); thread2.Start(); ...