How to build with Nano Banana: Complete Developer Tutorial

Google has recently released Gemini 2.5 Flash Image, a powerful new model for image generation and editing, also known by its codename, Nano Banana. This model introduces state-of-the-art capabilities for creating and manipulating images, unlocking a wide range of new applications. This guide provides a comprehensive walkthrough for developers looking to integrate Gemini 2.5 Flash […]

How to Build Custom Open WebUI Themes

While Open WebUI doesn’t have built-in theming support, you can easily customize its appearance by injecting a custom CSS file into the Docker image. This guide will show you how to create your own themed version of Open WebUI. Want to see a complete example? Check out our Open WebUI Theme repository on GitHub for […]

How to Create Clear Decision Logs Without Slowing Down

In the pace of startup life, where speed often trumps formality, it’s easy to sideline documentation – especially when a piece of work doesn’t feel “big enough” to warrant it. But I’ve learned the hard way that even small misunderstandings can cause outsized friction if we don’t make our decisions visible. One example: A developer […]

How to Crater Your Database, Part Five – Summary

Part OnePart TwoPart ThreePart FourPart Five <- We are at the end of this whirlwind tutorial on turning your database into a smoking hole in the ground. Along the way, we discussed: If you need to scale, predictability is paramount (Part one).COUNT and JOIN don’t scale. With poor scalability, your best customers will perform worse. […]

How to Solve dependencyFailedException on a Multi-Agent in AWS Bedrock

When working with AWS Bedrock Multi-Agent configurations, you might encounter an error message similar to this: An error occurred (dependencyFailedException) when calling the InvokeAgent operation: Dependency resource: received model timeout/error exception from Bedrock. Try the request again. Enter fullscreen mode Exit fullscreen mode This occurred when invoking the agent with the following call: response = […]

How to install Tailwind v4 in a Vite project

A few days ago, I created a new React project using Vite, and I intended to use Tailwind for styling. However, I ran into some issues — Tailwind just couldn’t be initialised! I used the usual command npx tailwind init -p, but I got errors in my console. So here’s what I did and how […]

How to Cut Down on Restart Times in Your Node.js Application

Hot reloading is a staple of Node.js development: when a file changes, your application restarts, re-running all setup logic. For small projects, this is barely noticeable. But for large monoliths, especially those with heavy startup routines, the wait can be frustrating. This was exactly my situation. My application used webpack-dev-middleware to compile a massive monolithic […]

How to Build AI Agents to Enhance SaaS With Minimal Code and Effort

Is SaaS Really Dead? Several months ago, the internet was abuzz with the Microsoft CEO Satya Nadella saying, “SaaS is dead.” The conversation started with a question from Bill Gurley about whether Satya was worried that newer startups are building applications with an AI-first approach, which could obfuscate traditional infrastructure like Excel or CRM. Here […]

How to Land a Coding Job in Post-Pandemic Times—The Untraditional Way

I originally posted this post on my blog a long time ago in a galaxy far, far away. Last year, I sent out over a dozen of CVs and cold emails within a month. I was laid off. I went into panic mode. I applied to many companies. Anything with the word “coding” or “software […]

How to be in the Top 10% of AI Engineers

With the elevation of new features in Amazon Q (as well as GitHub Copilot, Cursor, Replit, etc.) and the groundswell of warnings that AI Coding will soon do the vast majority of software development, what is an AI Engineer to think of all of these fast-moving developments? Some AI Engineers believe that they know enough, […]