Thoughts on software engineering, AI, cloud, and emerging technology
Implementing the 7-step beginner method in vanilla JavaScript. Cube state representation, face rotations, layer-by-layer solving, and the hardest bugs in translating a human algorithm to code.
Read More →How WalletConnect works under the hood. The relay protocol, session management, JSON-RPC messaging, and practical lessons from integrating it into a Chia blockchain game.
Read More →Practical zero-downtime deployment strategies for small teams and solo developers. Blue-green deployments, rolling updates, and database migrations without taking your site offline.
Read More →Why building browser games with vanilla HTML, CSS, and JavaScript instead of game frameworks leads to smaller file sizes, faster load times, and better learning experiences.
Read More →How single-file HTML applications with inline CSS and JavaScript can be surprisingly powerful. Benefits for developer tools, games, and utilities.
Read More →How to build an AI solver for Minesweeper using constraint satisfaction, probability estimation, and backtracking. From simple safe-cell detection to advanced endgame strategies.
Read More →A practical guide to choosing between CSS Grid and Flexbox. When each layout system shines, common patterns, and how to combine them effectively.
Read More →How to make browser-based games accessible to more players. Keyboard controls, screen reader hints, color contrast, reduced motion, and touch alternatives.
Read More →A deep dive into Base64 encoding — how the algorithm works step by step, common use cases, the 33% size overhead, and when to use or avoid it.
Read More →Understanding JSON Web Tokens from the inside out. How the three parts work, signing algorithms, common claims, security pitfalls, and when to use or avoid JWTs.
Read More →Essential regular expression patterns for everyday development. Email validation, URL matching, password strength, data extraction, and search-and-replace techniques.
Read More →How to achieve excellent Core Web Vitals scores on static websites. Practical techniques for LCP, FID, CLS, and overall page performance without complex tooling.
Read More →A practical guide to using Docker for personal projects. When containers genuinely help, when they add unnecessary complexity, and a minimal setup that works.
Read More →Securing static sites with HTTPS, Content Security Policy headers, Subresource Integrity, and other free security measures. A practical checklist for going from grade F to grade A.
Read More →How to turn a vanilla HTML/CSS/JS site into an installable, offline-capable Progressive Web App with a manifest and a 40-line service worker. No React, no build tools.
Read More →A lightweight Git workflow for one-person projects. Branching strategies, commit hygiene, tagging releases, and useful aliases that keep things simple without sacrificing good habits.
Read More →Using the Web Crypto API for hashing, encryption, and key generation in the browser. Common pitfalls, the fundamental limitation of client-side crypto, and practical guidelines.
Read More →Lessons learned using AI coding assistants to build Sudoku, Snake, and other HTML5 games from scratch. What AI does well with game development, where it struggles with performance and edge cases, and a practical workflow for the AI-assisted game dev process.
Read More →AI coding assistants have evolved from autocomplete tools into collaborative partners. How they are reshaping development workflows, what they do well, what stays hard, and what it means for the developer skillset going forward.
Read More →Why building web tools with zero dependencies leads to faster load times, easier maintenance, and better longevity. A practical look at the vanilla HTML, CSS, and JavaScript approach.
Read More →A practical cost and complexity comparison between self-hosting and cloud services for indie developers and small teams. When does each approach actually make sense?
Read More →