Case Study - Hexagonal Grids for Terracotta RPG
A case study of how I built a hexagonal grid system for procedural territory generation.
Read more →Insights on software engineering, technical consulting, and building AI applications.
A case study of how I built a hexagonal grid system for procedural territory generation.
Read more →How to distinguish between code that deserves comprehensive testing, and code that should be optimized for rapid iteration.
Read more →A practical guide to building a basic evaluation system for non-deterministic AI applications using LLMs and prompt engineering.
Read more →Discussing the limitations of traditional PERT and introducing my personal project estimation tool, Wagn Project Tracker, which uses a certainty-based approach.
Read more →Defining estimation uncertainty and explaining how PERT's Standard Deviation (SD = (P - O) / 6) quantifies the risk or confidence level in an estimate.
Read more →Defining Expected Duration (E) in PERT and explaining the calculation using the weighted average formula E = (O + 4M + P) / 6.
Read more →Defining PERT (Program Evaluation and Review Technique), a method using three-point estimates to manage project uncertainty and improve forecast reliability.
Read more →Explaining the three-point estimation technique, defining the Optimistic (O), Pessimistic (P), and Most Likely (M) estimates used in PERT.
Read more →Defining the Work Breakdown Structure (WBS) and explaining its crucial role in decomposing project scope into manageable tasks for effective estimation.
Read more →Defining Acceptance Criteria (AC) as the specific, objective, and testable conditions that determine when a user story is successfully implemented.
Read more →Defining the Definition of Ready (DoR) as a team-agreed quality gate ensuring user stories meet specific criteria before being considered for estimation or sprint commitment.
Read more →Defining Behavior-Driven Development (BDD) and its Given-When-Then (GWT) syntax for writing clear, example-based acceptance criteria that aid understanding and estimation.
Read more →Defining the INVEST mnemonic (Independent, Negotiable, Valuable, Estimable, Small, Testable) and its practical use as a quality checklist for user stories before estimation.
Read more →Defining a user story in Agile, highlighting its structure and purpose as the key input for development team understanding and estimation efforts.
Read more →Announcing @wagn/voice-ui, a React component library that makes it simple to add beautiful voice interfaces to web applications through a composable, event-driven architecture.
Read more →An example output from the DAFC CLI tool, demonstrating generated code for the wagn-voice-ui library.
Read more →Key lessons learned from building real-time AI chatbot systems, covering response time optimization, state management, context windows, and current ecosystem limitations.
Read more →Exploring how to leverage Gemini 2.5 Pro's massive context window to build software by dumping entire codebases into the LLM, and introducing the DAFC methodology.
Read more →Reflecting on my earliest childhood memories from Indonesia and Australia, and how they shaped who I am today.
Read more →A structured approach to capturing my life story through fifty-two questions for self-reflection and autobiography.
Read more →Non-Zero Days is a powerful concept for breaking out of productivity ruts by committing to doing at least one small thing every day that moves you toward your goals.
Read more →Frameworks are dying—or perhaps already dead. Here's why I believe this is happening.
Read more →Samification is the process where competing technologies, frameworks, or ideas gradually converge toward a single, widely accepted standard.
Read more →Canonical naming is a way for us to delineate the boundaries of entities in a vector space, particularly used for graph-based Retrieval-Augmented Generation (RAG).
Read more →Embeddings allow us to represent meaning in a vector space, allowing us to perform mathematical operations on it.
Read more →Model Context Protocol (MCP) is a new standardized communication protocol, allowing AI models and applications to interact with external data sources and tools in a structured format.
Read more →Retrieval-Augmented Generation (RAG) is a technique that enhances AI-generated responses by first retrieving relevant information before generating an answer.
Read more →Exploring the benefits of static sites and my vision for this blog
Read more →Vibe coding is a new skill set that allows non-programmers to build SaaS applications or software in general using plain text instructions instead of writing traditional code.
Read more →Exploring solutions to combat AI voice cloning scams through verification systems and AI-assisted call screening.
Read more →