Module 6, Lesson 8: Build & Completing Phase 1
How do you close out the first phase of a real build with Claude Code? You batch the remaining issues together, let Claude Code ask its clarifying questions in one pass, work through the blockers that only you can clear (domain setup, provider credentials, design calls), then walk the finished onboarding flow yourself before calling the phase done. The full walkthrough is in The Product Path.
How do you finish out a build phase with Claude Code?
You group the remaining related issues into one batch, answer Claude Code's clarifying questions as the product owner, and let it implement while you handle the pieces that need a human, like setting up an email provider or a domain. Some work gets blocked on things outside the code, like an Apple Team ID, and that's fine to defer. You close the phase by manually walking the onboarding flow end to end and confirming it holds together, not just by watching tests pass.
Before We Start
From previous lessons:
- You have base authentication and profile completion working, with avatar upload backed by Cloudflare R2. Module 6, Lesson 7
- You know the batching pattern: group related issues, review as one, ask clarifying questions, confirm the plan, implement, test, commit. Module 6, Lessons 6 and 7
- Your YouTrack Agile board has Phase 1 (NURT-2) issues sitting in the backlog, ready to pick up. Module 3, Lessons 7 and 9
Tools / setup you'll need:
- WebStorm, with your backend (API) and mobile frontend modules open
- Claude Code, with your YouTrack MCP connection active
- A Resend account, or ready to create one, for transactional email
- Cloudflare, with your domain already set up there, since Resend's domain verification leans on it
- Your
.env.localfile for the API, ready to receive the Resend API key - Your emulator, up and running
By the end of this lesson, you'll:
- Have batched five remaining Phase 1 issues together: co-parent invitation, invitation expiry, and three more related stories
- Have set up Resend for transactional email and verified a sending domain through Cloudflare
- Have decided between a universal link and a custom URL scheme for the invitation deep link, and understood why that decision matters
- Have caught a real bug by feeding Claude Code a screenshot of an actual email, not just a passing test
- Have manually walked the full onboarding flow, invite included, to confirm Phase 1 actually holds together
About This Lesson
Duration: ~33 minutes video
Skill Level: Intermediate
What You'll Build: The co-parent invitation and acceptance flow, invitation expiry with reminder emails, and the remaining Phase 1 issues, closing out the foundation phase of the build.
This is the longest lesson in the build so far, and that's honest: closing out a phase takes more back and forth than starting one. I'm bunching five related issues together, bringing in a real email provider for the first time, and making a deep link decision that has real consequences for how invitations behave on a phone. By the end, Phase 1 (identity and relationships) is done, or close enough that what's left is blocked on things only I can provide, not on more building.