The acronym I waved off I’m comfortable with a few of the development acronyms. TDD, test-driven development, I use. BDD, behaviour-driven development, I understand. But DDD, domain-driven design, was always the one I let slide past me. I’d seen the term before. I knew it existed. I just never paid attention, because from a distance it looked like it was only about agreeing on…
The thing I kept getting wrong During recent client work, I noticed something about myself that I’d been ignoring for a long time. I’m a developer. So my instinct, my number one concern, was always implementation. How do I build this? How do I handle the edge cases? How do I make it faster? That’s the part I enjoy, and that’s the part I poured my attention into.
The shift I didn’t expect The more I use coding agents, the less source code feels like the thing I personally write. I know. Strange sentence from someone with a computer science background. At university, the model was clean: humans write source code, the compiler turns it into machine code, and the final product runs from there. Source code was the serious artifact. You shaped it,…
The feature I kept ignoring Git worktree gives you multiple working directories for the same repository, which makes it useful when AI agents or teammates need to work on different branches in parallel without constantly switching context. I’d written about git worktree before , and I’d heard it come up in discussions about parallel workflows plenty of times. Every time I nodded and…
The mental model The shortest version is this: prompt engineering sets the goal, context management decides what information the model sees, and the harness checks whether the result is actually correct. If one of those pieces is weak, the agent gets unreliable fast. I want to talk about the way I currently think about agent workflows. Three stages. Each one solves a different problem, and you…
The moment that stuck with me A RAG chatbot is more useful when it refuses to answer questions that are not covered by the retrieved context. That one behavior does a lot of work: it reduces hallucinations, makes gaps in the knowledge base visible, and gives users a clearer reason to trust the answers it does return. I already wrote about building my first RAG solution , so I won’t repeat…
What I thought I knew Prompt caching changes AI agent costs by separating stable prompt content from changing prompt content. If the same instructions, tool schemas, or reference material get reused across many calls, caching can cut repeated input costs sharply. Before this week, my mental model of AI pricing was simple. You pay per token. Input tokens cost some amount, output tokens cost more,…
The part that keeps clicking I finished my first RAG chatbot a week ago. Since then I can’t stop seeing embeddings everywhere. The project itself was small. Documents in, chunks out, embed, store, retrieve, generate. Nothing fancy. But the idea behind it? That’s been rewiring how I understand a bunch of products I’ve used for years without really getting how they worked. The core…
What I just built I just finished my first RAG solution. RAG, as in Retrieval-Augmented Generation. I know the rabbit hole goes deep with this stuff, but getting the first version working? Way smoother than I expected. Some of the ideas behind it genuinely caught me off guard. The problem with keyword search Regular search is keyword-based. You type “ruby” and it scans for the exact…
The black box problem Everyone knows prompts matter. You’ve seen the Twitter threads. The Reddit posts. The “here’s my secret formula” guides. I’ve read most of them, and I actually learned from them. Step-by-step instructions instead of vague goals. A few examples so the model knows what you expect. A persona if it helps frame the task. These techniques are real and…
Living with all three I pay for all three major AI subscriptions. ChatGPT, Gemini, and Claude. Individually. Yes, my wallet hates me. But after months of daily use, I’ve noticed something kind of weird: these models have personalities. Not in a “they’re sentient” way, but in the sense that each one has a consistent vibe that shows up in how it talks, how it codes, and where…
A developer out of their comfort zone I’ve been working on some frontend-heavy projects recently, and it pushed me into unfamiliar territory: actual UI design. Not wiring up components or tweaking CSS. Deciding what a landing page should look like for a specific product and a specific audience. I’ve built landing pages before. General-purpose ones where you throw together a hero…
The Course That Changed My Perspective I just finished the official “Claude Code in Action” course from Anthropic, and honestly? It humbled me a bit. I consider myself a heavy Claude Code user, but I discovered something fundamental I’d been getting wrong: plan mode and thinking budget aren’t the same thing . Before taking the course, I treated them as basically…
The Tool Problem Working with AI agents, especially in programming contexts, has taught me one fundamental truth: tools are everything . An agent without tools is just a chatbot—no matter how smart the model is. It’s like having a brilliant engineer with no screwdriver, no keyboard, no terminal. Just thoughts with no way to act on them. The First Wave: Self-Made Tools The initial approach…
The Revelation That Changed Everything Today I want to talk about something that’s been on my mind all day: AI agents. This concept was completely new to me not long ago, and I’ve been using various AI tools like ChatGPT, Gemini, and Claude in their classic chatbot interfaces. For the longest time, my understanding of AI was limited to these conversational interfaces—essentially a…
The AI Development Revolution in Team Settings Working in a team of four developers, all leveraging AI tools for development, has been an eye-opening experience. I’ve explored countless new approaches and discovered that while AI dramatically accelerates coding, maintaining code quality becomes even more critical. Today, I want to share my key learnings about creating an AI-friendly…
The Speed Problem Nobody Expected For years, we developers chased speed. We wanted faster builds, faster deployments, faster coding. AI tools like Cursor, Claude, and Codex delivered exactly that—and then some. But in the real-world team environment, we’ve discovered a surprising paradox: the problem is no longer speed, but how to slow down. When a single developer with AI assistance can…
The Challenge of Project Rebuilding Today I want to talk about a challenge that every developer faces: how to effectively understand and rebuild an existing project. When you encounter a new codebase, especially a substantial one, the traditional approach of reading code line by line can be overwhelming and time-consuming. This is where AI tools are changing the game entirely. Traditional…
Rediscovering Git Worktrees for AI-Assisted Development Today I’ve been thinking about how traditional version control systems like Git are evolving in the AI age. While Git has been fundamental for managing code history and collaboration, I’ve discovered that one feature—git worktree—has become particularly powerful in AI-assisted development workflows. The Traditional Branching…
Discovering Bellman-Ford’s Hidden Power Today I stumbled upon a fascinating application of the Bellman-Ford algorithm that goes beyond traditional shortest path problems. While the algorithm is well-known for finding the shortest paths from a source to all other nodes in a graph (even with negative edge weights), its ability to detect negative cycles opens up intriguing possibilities in…
It’s been quite a while since I captured my thoughts. Not because I’ve been lazy – quite the opposite. I’ve been incredibly busy rebuilding my entire mental model of what it means to be a developer. The Trigger: Seeing What’s Possible This whole transformation started when I saw an app built by someone I know. To be honest, it was really well-designed, good-looking,…
Today I focused on learning Figma and dove deep into several fundamental design concepts that were completely new to me. Design Systems & Design Tokens The most eye-opening concept was understanding what a design system really is. I learned about design tokens - the foundational elements that define: Colors : Which red is red? Which blue is blue? Defining primary, secondary, and semantic colors…
Confronting My Designer Stereotype Yesterday brought an important breakthrough. I realized I needed to learn UI design, specifically Figma, but I was initially resistant. Deep down, I held onto a stereotype that separated “developers” from “designers” – viewing designers as people without coding experience who create unrealistic designs that are difficult to…
Deep Dive into Data Mining Today and yesterday, I’ve been immersed in data mining concepts, reviewing lectures and working through the material. The process has been genuinely engaging, and I’m starting to grasp the fundamental purpose behind data mining. The core realization that struck me: regardless of what type of data we’re mining, the ultimate goal remains consistent.…
Today I focused on improving my development workflow and code quality processes, discovering some fascinating tools that could transform how I approach coding standards. The CI Pipeline Frustration I’ve been working with ESLint for code quality checks and had already built a CI pipeline for automated checking. However, I ran into some significant workflow issues that were creating mental…
Today I continued working on my portfolio project, but with a completely new approach that’s proving to be incredibly valuable for my learning. AI as Mentor, Not Code Assistant Instead of using AI as a typical code assistant that gives direct answers, I’ve transformed it into a mentorship system. Here’s how I set it up: First, I worked with ChatGPT to build a detailed project…
Today I learned about two important things that got me thinking about the future of AI development and product building. The Agent.md Standardization Movement I discovered an interesting initiative called agent.md that aims to unify AI agent rules across all AI tools. This makes perfect sense because right now, every tool uses its own individual rules - Cursor has cursor rules, Claude uses its own…
Yesterday I joined a small hackathon and really enjoyed the whole experience. It was organized by a company - they had a hackathon event where I was randomly grouped with 5 people I’d never met before as a team, competing against 6 or 7 other teams. The challenge was to build something to visualize data from a complex JSON file they gave us - basically a financial report visualization.
Portfolio Website Planning – From Idea to Action Today I finally moved beyond just thinking about my portfolio website and started actually planning it. This idea has been sitting in my to-do list for way too long, but this morning I decided it was time to turn it into reality. The catalyst was a portfolio workshop I attended recently, which gave me a clearer vision of what I want to…
LinkedIn Strategy Development Today I had a deep conversation with ChatGPT about LinkedIn connection strategy, specifically around the psychological and strategic importance of reaching 500 connections. The 500 Connection Milestone Through my research, I discovered something interesting about LinkedIn’s connection display. Once you reach 500 connections, LinkedIn stops showing the exact…
Industry Night Reflections Yesterday’s Industry Night event turned out to be quite enlightening. I had several meaningful conversations that sparked some interesting thoughts about the current state of the job market and how we interact with technology. I met a guy from Vietnam who’s pursuing a Master’s degree in AI at Uoa. While we didn’t dive deep into academic topics, he…
Portfolio Workshop Breakthrough Had a portfolio workshop today that completely shifted my perspective. Initially felt confused about the purpose of a portfolio - why create another webpage when I already have a CV? The distinction felt unnecessary. But then someone explained how portfolios showcase personality, design taste, and who you are beyond just skills and projects. That sparked something…
On the Road to University Today I’m traveling to university, and my mind is still processing yesterday’s deep dive into Scrum methodology. The complexity of all those documents initially overwhelmed me, but one key insight has crystallized: fail fast, fail early . The Power of Early Failure The core principle resonates deeply - when we make mistakes early in the process, we can fix…
Algorithm Deep Dive: Bellman-Ford Had a fascinating morning diving into graph theory, specifically the Bellman-Ford algorithm. The concept is quite elegant – it’s essentially a layer-by-layer approach to finding shortest paths in graphs, even when dealing with negative edge weights. The algorithm starts by setting the source node to 0 and all other nodes to infinity. Then comes the…
About me I’m Yushi Cui, a full-stack developer based in Auckland. I study at AUT and write about AI-assisted development, React, .NET, and the tradeoffs that show up when you’re building real software. Before I got into software, I worked as a chef. That background still shapes how I work: move fast, pay attention to detail, and keep things clean. Find me here : GitHub • LinkedIn •…
Contact The best way to reach me is through the platforms below. GitHub: github.com/realYushi LinkedIn: linkedin.com/in/yushi-cui Portfolio: me.yushi91.com If you’re reaching out about engineering work, please include a short note on the project, timeline, and what kind of help you need.
Privacy Yushi’s Blog is a personal website that publishes articles about software engineering and AI-assisted development. Data collection I do not ask readers to create accounts or submit personal data directly on this site. Analytics If analytics or hosting logs are enabled by the platform serving this site, they may collect standard technical information such as page requests, browser…
Terms This website is provided for general information and personal publishing. Content use Unless otherwise noted, written content on this site is authored by Yushi Cui. You may quote short excerpts with attribution and a link back to the original page. No warranty The software engineering guidance and code examples on this site are provided as-is without guarantees of correctness, fitness, or…