Claudio Lassala's Blog
Stubbed Endpoints – How We Build UI Before the Backend Exists
Moving at Human Speed – Reflective Practice Radio Ep 23
UX Comes Before UI – And Neither Is About Colors
Four Fields, Two Departments, One Bottleneck
Workflows First, CRUD Later
What Looks Like CRUD Is Often a Workflow
What AI Did with My Old Guitar Recording
One Why, Many Hows – The Golden Circle Inside Your User Stories
Beyond the Code – What Simon Sinek and James Clear Taught Me About BDD
Inside the Data Seeder — YAML, Visitors, and Event-Sourced Aggregates
From Dev Convenience to Client Demo: One Seeder, Many Jobs
Outside-In Design: From API Contracts to Read Models and Projections
The Important Thing Is Not to Know Everything
Story and History
Improvising Without a Script
The Recipe Pattern Part 4 – Testing Across the Boundary
The Recipe Pattern Part 3 – One Validator, Two Jobs
The Recipe Pattern Part 2 – What the Frontend Does with the Rules
The Recipe Pattern Part 1 – Why I Stopped Writing Validation Rules in the Frontend
Orchestrating My Music with Suno AI
Making Room for the Human Work
Purposeful Tools And Better Testing: Weekly Summary Podcast Episode #1
AI Music and the Things I Cannot Outsource
Choosing Your AI Tools With a Purpose
The Air Drum Moment
Why I Don’t Use E2E Tests for Everything
Readable Cypress Tests – Hiding the Plumbing Behind Plain English
Specs Not Tests: A Better Way to Think About Automated Verification
The Questions I Ask Stakeholders to Surface Edge Cases
User Stories Are Not Requirements, And That’s the Point
The Human Fingerprint
Story Quality Is Your AI Multiplier
Outside-In Development: Why We Don’t Start From the Database
Under the Hood: The Menu System in Code
A Menu System Built for Change, Not Just for Now
Business Value Is Personal
The Renewal Email That Never Came
The Stories That Built an Agent
The Cognitive Friction Problem
The Reluctant Expert – A Guide to Sharing What You Know
Is Your Vision Lost in Translation?
Building a Story-Writing Agent in Minutes
From User Stories to Story Arcs
Events, Not Meetings
Designing the Sprint Review Experience
Porting AI Skills Between Tools: A Cross-Platform Workflow
Obsidian + AI – Evolving Your Tagging System With Your Understanding
Bringing Your Obsidian Vault Into Your IDE Workspace
The Daily Note as Navigation Hub: Linking Sprints, Projects, and Meetings
Making Obsidian Your Source of Truth: Multi-Calendar Consolidation Without Sync
The Symphony of Software: AI Agents as Your Orchestra
Maintenance Beyond the Dashboard Lights
Why Sprint Retro Comes After Sprint Review
Success Is a Point in Time
Finding the Story Before Writing the Code
Status Fields Mean Different Things to Different People
When IT Jargon Replaces Business Language
The THINK Framework for Human Prompting
Daily Blogging, Values, and Building for Humans
Need, Problem, Solution – A Framework for Vetting Your Next Side Project
Prompting Frameworks and Finding What Works for You
Accountabilities, Not Roles
What Atrophies When AI Does the Work
Rally Racing and the Context Problem in AI Collaboration
Why I Think Hard About the Right Words
Inside Out Outside In — A New Mental Model for BDD
AI in the Scrum Loop
From Human Stories to Comic Strips to Video
The Trinity of Productivity
Stakeholder Engagement Playbook: From User Stories to Human Stories
Pondering my daily blogging experiment
93 Posts and What I Learned About Systems
Walking the Track – Why Slowing Down Helps Us Go Faster
“It Works on My Machine”, Revisited
Story-Showing with AI – Comic Book Workflow
Testing Behavior, Not Implementation
When to Use BDD Tools and When Not To
Before You Solve Problems, Understand Needs. Before You Understand, Needs Identify Values.
Time Isn’t Money, and That’s the Point
AI in Your Loop, Not You in Theirs
Bridging the Gap Between Technical Work and Business Impact
The Consultant’s Superpower Isn’t Mind Reading
Can They Be Coached? Can They Coach?
Sorry to See You Go
Spreadsheets and Hyperinflation
The Spreadsheet Question
Time, Presence, and the Speed We Choose
AI Agents as Cross-Functional Teams
Start Journaling Today
Why I Prefer Given-When-Then Over Arrange-Act-Assert
Behavior-Driven Refactoring: Beyond Arrange-Act-Assert
GWT Everywhere – A Shared Language for Tests and Specs
Most Developers speak with a thick technical accent
AI in the Loop – Centering Humans in AI-Assisted Work
Nine Questions About Speaking From My First Talk to Making It Your Own
A Workflow for Building Features with AI in the Loop
From Voiced Ideas to Published Post in 20 Minutes
From Cypress to Playwright, BDD and the Loop That Closes
Two Brits on Vacation in Spain and Finding Value
AI and the Human Side of Software Teams
The Floppy Disk Test for Vibe Coding
The Slow Fade of the Debugger
Product Owners – Bridge or Gatekeeper?
Driving, Flying, and the Speed of AI
Blind Spots, Trust, and Leaning Into What We Cannot See
Your Brain Can’t Multitask, But It Can Multithread
Stop Counting Passes: Event Sourcing and an Invisible Gorilla
Does Your Dashboard Earn Its Keep?
AI Starts at the Average — You Take It From There
Dashboard vs Cockpit
Create Everything – Daily Blogging and the Drive to Share Knowledge
Thought Leadership as Illuminating Knowledge Boundaries
Thought Leadership Is Not What I Thought It Was
From Conversation to Code
Trust-Agents-and-Human-Values
Stop Testing Your Code: Why the Best Developers Focus on Human Behavior Instead
Thinking in Multiple Languages
Stories, Not Requirements
A Year After Our AI Experiment – What Changed and What Did not
BDD Conversations Before Automation
History Repeats: From Spreadsheets to AI Tools
What Are You Actually Vibing With
Vibe Coding Is Just Bad Naming
Event Sourcing and the Past Tense of Given
Things I Take for Granted
Characterization Tests – A Way Into Legacy Code
Mastery Over Tools
Have Be or Do – Identity and Experience Over Possession
When Tools Cost Money and When They Cost Time
More (of What?) for Less (of What?)
What Are You Optimizing For?
When User Stories Describe Solutions Instead of Problems
The Real Bottleneck Isn’t Code—It’s Everything Around It
What Thirty Posts Revealed About How I Think
Thirty Days, Thirty Posts: What I Learned from Blogging Daily
Grounded in the Whirlwind
From ‘The User’ to ‘I’
Are You Writing Code or Solving Problems?
The Quiet Cost of Maintenance Work
Code Reviews Weren’t Meant to Be About Formatting
Beyond the Aquarium: Finding Yourself by Leaving Home
The Talk Delivered: When Preparation Meets Reality
Beyond the Tools: What Are We Actually Building?
Look for the Complete Story and Find Consistency Over Intensity
Tests Aren’t for Computers. They’re for People.
Working Offline: A Developer’s Past, Present, and Future
Pace Yourself
Productivity by Design, Not by Default
Preparing a Talk by Thinking Out Loud
Beyond Front-End and Back-End: What Developers Really Need Now
Stop Explaining and Start Showing
2025: Annual Review
The “Do It” Task: Your Scrum Board’s Silent Killer
The Bottleneck Isn’t Code — It’s Translation
Good Enough Answers First
CQRS and Human Intent
Reflection Over Resolutions
Why Code Quality Still Matters (Even When AI Writes It)
Tools Aren’t the Bottleneck
Voice Journaling Workflow – Now using AirDrop and a FolderAction
A Method for AI‑Assisted Pull Request Reviews: Aligning Code with Business Value
Favorite Books I’ve Read in 2025
My Favorite Quotes in 2025
Journaling Is the Smallest Habit That Keeps Paying Me Back
Rethinking My Annual Review: Leveraging a New Thought Partner
Rethinking Productivity: From Writing Code Faster to Solving Better Problems
Staying Oriented When Everything Speeds Up
Keeping track of what to journal
My first Alfred workflow
When Pace Becomes Maintenance
From Spoken Thoughts to Connected Notes: My Voice Journaling Workflow
Changing Our Position, Not Slowing the World Down
Sleep, Time, and AI: Rethinking How We Work
Need, Problem, Solution — Thinking Through the Spiral
The Drift of Memory, the Speed of Tools, and the Value of Story
AI Moved Fast This Year. Here’s How I Stayed Grounded.
Looking Ahead While Moving Faster: Lessons from AI, Mentoring, and Motorcycles
A Busy Summer in 2007: Conferences, Code, and Curiosity
Back to the Spiral #006 — Showing, Not Just Talking
Impact Technology: Rethinking Information and Wisdom
Revisiting 2007: Four Screens, FoxPro Farewells, and Lessons on Focus
The Timeless Habits of Effective Remote Teams
AI in the Trenches: Reflections on Real-World Software Practice
Looking Back: My First Year of Blogging (2005–2006)
20 Years of Blogging, One AI-Powered Cleanup
Balancing Input and Output
Capturing the Human Side of Software with AI Tools
BDD, but Not the Way You Heard It Before
Building Genius Mode: Behind the Scenes of Our AI Summer Camp Finale
Why We Never Face a Blank Page Again
From User Stories to Code: Pairing with AI
From Conversation to Clickable: Using AI for Task‑Based UI
The Business Case for Testing
Ship Faster, Learn Sooner: A Playbook for AI-Powered Sprints
From Typewriters to AI: Embracing (or Resisting) New Tools
We Test, Therefore We Smile!
Testing in Agile: From Afterthought to an Integral Part
Improving Development with Context-Based Testing
Refactoring Test Code: Beyond Red, Green, and Refactor
Anticipate, Compensate, Communicate: A Developer’s UX Mindset
Beyond Slides and Syntax: Public Speaking, Coaching, and AI
Context Beats “Vibe Coding”