Building Software That People Love
Episode
48 min
Read time
2 min
Topics
Career Growth, Remote Work, Relationships
AI-Generated Summary
Key Takeaways
- ✓Tech Stack Selection: Agencies should build a decision tree prioritizing client maintainability over engineering preference. First ask what technologies the client's team already knows, then what they can hire for in their geography — European clients often require Java/Spring Boot due to university pipelines — and finally what energizes their technical leads, since a stack choice is simultaneously a hiring plan and a 2AM incident response plan.
- ✓Ugly App Development: Build end-to-end flows immediately, even if intermediate screens render raw JSON with a single button. This iterative approach — moving from JSON to wireframes to mid-fidelity to high-fidelity — lets clients see the full experience early, understand feature complexity in real time, and reorder screens before polish is applied, preventing costly late-stage structural changes.
- ✓Risk Isolation via Sidecars: When a project requires an unproven technology, contain it in an isolated sidecar service rather than integrating it into the core monolith. For example, high-performance real-time WebSocket behavior can be handled by an Elixir/Phoenix sidecar, keeping the modular monolith stable while limiting the blast radius if the experimental component needs replacement.
- ✓Warm Handoffs Over Documentation: Cold handoffs — leaving comments, video walkthroughs, and README files — are the worst-case scenario for transferring a codebase. Instead, run three to four sprints with the incoming maintainer embedded in PR reviews and technical decisions before full transfer. Advise clients to make these hires early so the incoming engineer's preferences shape decisions while changes are still low-cost.
- ✓AI Tooling on the Frontier: Building bespoke solutions on emerging AI infrastructure wastes significant engineering time. MetaLab spent heavily on custom LLM eval frameworks and custom MCPs for Notion and Figma, only to discard them when LangFuse and official vendor MCPs launched. The strategic question is identifying which frontier investments to make versus which to wait for the industry to standardize before adopting.
What It Covers
Wesley Yu, VP of Engineering at MetaLab — the design studio behind Slack, Uber, and Instacart's early product DNA — explains how small cross-functional teams build delightful digital products by combining boring tech stack choices, iterative ugly-app development, and tight design-engineering collaboration to ship v1 products for ambitious early-stage companies.
Key Questions Answered
- •Tech Stack Selection: Agencies should build a decision tree prioritizing client maintainability over engineering preference. First ask what technologies the client's team already knows, then what they can hire for in their geography — European clients often require Java/Spring Boot due to university pipelines — and finally what energizes their technical leads, since a stack choice is simultaneously a hiring plan and a 2AM incident response plan.
- •Ugly App Development: Build end-to-end flows immediately, even if intermediate screens render raw JSON with a single button. This iterative approach — moving from JSON to wireframes to mid-fidelity to high-fidelity — lets clients see the full experience early, understand feature complexity in real time, and reorder screens before polish is applied, preventing costly late-stage structural changes.
- •Risk Isolation via Sidecars: When a project requires an unproven technology, contain it in an isolated sidecar service rather than integrating it into the core monolith. For example, high-performance real-time WebSocket behavior can be handled by an Elixir/Phoenix sidecar, keeping the modular monolith stable while limiting the blast radius if the experimental component needs replacement.
- •Warm Handoffs Over Documentation: Cold handoffs — leaving comments, video walkthroughs, and README files — are the worst-case scenario for transferring a codebase. Instead, run three to four sprints with the incoming maintainer embedded in PR reviews and technical decisions before full transfer. Advise clients to make these hires early so the incoming engineer's preferences shape decisions while changes are still low-cost.
- •AI Tooling on the Frontier: Building bespoke solutions on emerging AI infrastructure wastes significant engineering time. MetaLab spent heavily on custom LLM eval frameworks and custom MCPs for Notion and Figma, only to discard them when LangFuse and official vendor MCPs launched. The strategic question is identifying which frontier investments to make versus which to wait for the industry to standardize before adopting.
Notable Moment
Wesley described a designer wanting a card-flipping binder experience for a collectibles app — something the React Native developer initially had no idea how to build. Through side-by-side iteration, they landed on a solution neither would have reached alone, illustrating how design-engineering proximity resolves seemingly unbuildable ideas.
Episode Transcript
Building great software always involves technical problem solving, but the best software goes beyond function. It feels fluid, coherent, and genuinely fun to use. This quality lives at the intersection of engineering and design, and very few teams know how to reliably produce it. MetaLab is an engineering and design studio that has worked with some of the most successful companies in tech, including Apple, Slack, Uber, and Instacart. The studio is known for bringing together software engineering and design craft in a way that few studios can match. Wesley Yu is the VP of engineering at MetaLab, where he leads the teams that design and build digital products for early stage companies. In this episode, Wesley joins Josh Goldberg to discuss how MetaLab approaches tech stack selection for client projects, why agency work demands bias towards boring and stable technology, how iterative development and deliberately ugly apps lead to better final products, and how AI tools are changing the boundary between design and engineering. This episode is hosted by Josh Goldberg, an independent full time open source developer. Josh works on projects in the TypeScript ecosystem, most notably TypeScript ESLint, a powerful static analysis toolset for JavaScript and TypeScript. He is also the author of The O'Reilly Learning TypeScript book, a Microsoft MVP for developer technologies and a cofounder of SquiggleConf, a conference for excellent web developer tooling. Find Josh on Blue Sky, fostidon,and.com as Joshua k Goldberg. With me today is Wesley Yu, VP of engineering at MetaLab. Wesley, welcome to Software Engineering Daily. Thanks, Josh. Really happy to be here. Well, we're happy to have you. Just to start us off, how did you get into coding? How did I get into coding? This is I have very humble beginnings in coding. You know, in 1999 or early two thousand or something like that, there was this browser game called Neopets. I don't know if you remember Neopets. But, essentially, you care for these, like, virtual pets called Neopets, and then you have this virtual currency called Neopoints. And you could create storefronts and sell items and stuff like this to earn this currency. And they allowed you to edit HTML and CSS. And so as a kid, I just kind of copy and paste stuff, change text around to create a little custom store for my Neopets. So that's how I got started. Very trial and error. I'm just a kid at this point, of course, so I'm not reading, like, w three c documentation or specification or anything like that, but that's how I got started. That's lovely. We have a lot of guests who played Neopets and went there. Do you remember how your store looked? Was it good? Yeah. I mean, it looked very kind of early two thousands CSS styling. A lot of sparkles, a lot of banners and things like this, text moving around. Yeah. It was a good time. Good time. Let's move forward a little bit. So you know …
Get the full transcript (10,091 words) + summary by email — free
One-time email with the complete transcript and AI summary of this episode. No account needed.
One email, no spam. We’ll also show you what SignalCast does.
You just read a 3-minute summary of a 45-minute episode.
Get Software Engineering Daily summarized like this every Monday — plus up to 2 more podcasts, free.
Pick Your Podcasts — FreeKeep Reading
More from Software Engineering Daily
Rebuilding the Cloud for AI Agent Code
Aug 13 · 49 min
Accidental Tech Podcast
686: Write Two Letters
Apr 9
More from Software Engineering Daily
SED News: The Kimi Moment, Runaway AI, and Tokenmaxxing
Aug 11 · 48 min
Latent Space
Every Agent Needs a Box — Aaron Levie, Box
Mar 5
Books, tools, and gear mentioned in this episode
SignalCast may earn commission on purchases via these links.
Tools
“MetaLab spent heavily on custom LLM eval frameworks and custom MCPs for Notion and Figma, only to discard them when LangFuse and official vendor MCPs launched.”
“MetaLab spent heavily on custom LLM eval frameworks and custom MCPs for Notion and Figma, only to discard them when LangFuse and official vendor MCPs launched.”
“For example, high-performance real-time WebSocket behavior can be handled by an Elixir/Phoenix sidecar, keeping the modular monolith stable while limiting the blast radius if the experimental component needs replacement.”
“For example, high-performance real-time WebSocket behavior can be handled by an Elixir/Phoenix sidecar, keeping the modular monolith stable while limiting the blast radius if the experimental component needs replacement.”
“Sponsor: Estuary (https://estuary.dev)”
“Wesley described a designer wanting a card-flipping binder experience for a collectibles app — something the React Native developer initially had no idea how to build.”
“MetaLab spent heavily on custom LLM eval frameworks and custom MCPs for Notion and Figma, only to discard them when LangFuse and official vendor MCPs launched.”
company
“MetaLab — the design studio behind Slack, Uber, and Instacart's early product DNA”
“MetaLab — the design studio behind Slack, Uber, and Instacart's early product DNA”
“Wesley Yu, VP of Engineering at MetaLab — the design studio behind Slack, Uber, and Instacart's early product DNA”
“MetaLab — the design studio behind Slack, Uber, and Instacart's early product DNA”
More from Software Engineering Daily
We summarize every new episode. Want them in your inbox?
Rebuilding the Cloud for AI Agent Code
SED News: The Kimi Moment, Runaway AI, and Tokenmaxxing
The Terminal as an Agentic Interface
AI-Powered Threats to the Software Supply Chain
Docker and Sandboxing AI Agents
Similar Episodes
Related episodes from other podcasts
Accidental Tech Podcast
Apr 9
686: Write Two Letters
Latent Space
Mar 5
Every Agent Needs a Box — Aaron Levie, Box
The Product Experience
Mar 4
Lessons from Games, Big Tech, & Hollywood - Laura Teclemariam (Product Leader)
The Tim Ferriss Show
Mar 12
#799: Richard Taylor and Greg Broadmore, Wētā Workshop — Untapping Creativity, Stories from The Lord of the Rings, The Magic of New Zealand, Four Tenets to Live By, and The Only Sentence of Self-Help You Need
Latent Space
Aug 11
🔬The BioAI Phase Shift - Matthew McPartlon & Neil Patil, Chai Discovery
Explore Related Topics
This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.
You're clearly into Software Engineering Daily.
Every Monday, we deliver AI summaries of the latest episodes from Software Engineering Daily and 192+ other podcasts. Free for one show.
Start My Monday DigestNo credit card · Unsubscribe anytime