Module 05: Product Engineering
Turn user intent into a complete product behavior, not just scattered UI or API pieces.
The Mental Model
Section titled “The Mental Model”A feature is a full path:
user goal -> screen -> interaction -> API -> business rule -> data -> feedbackIf one part is missing, the feature is not done.
Analogy
Section titled “Analogy”Building a feature is like building a bridge. The bridge is not complete because one side has concrete. It must connect both sides, carry real load, handle rain, and have signs so people use it correctly.
Feature Slice
Section titled “Feature Slice”For ticket creation:
- User sees a form.
- User enters title and description.
- Client validates obvious mistakes.
- API validates trusted rules.
- Backend checks permission.
- Database stores the ticket.
- UI shows success.
- Logs record what happened.
- Tests cover important paths.
UX States You Must Handle
Section titled “UX States You Must Handle”- Empty.
- Draft.
- Valid.
- Invalid.
- Loading.
- Success.
- Error.
- Permission denied.
- Offline or network failure.
Visual: Feature Slice
Section titled “Visual: Feature Slice”UI to database feature path
FormUser enters intent.
Client validationCatch obvious mistakes.
POST /ticketsSend contract-shaped request.
Server validationTrust boundary.
Business rulesPermission and workflow.
DatabasePersist ticket and audit.
Success UIShow the new state clearly.
Product Thinking Questions
Section titled “Product Thinking Questions”- What user job is this feature solving?
- What is the smallest useful version?
- What should happen when the user makes a mistake?
- What should happen when the system makes a mistake?
- What should never happen?
- How will support or operations understand failures?
Feature Drill
Section titled “Feature Drill”Build ticket creation end to end. Do not skip the boring states.
Required:
- Form.
- Client validation.
- API endpoint.
- Server validation.
- Persistence.
- Success state.
- Error state.
- Test evidence.
Agentic Angle
Section titled “Agentic Angle”Ask an agent:
Review this feature slice from the user's perspective and the system'sperspective. Find missing UX states, validation gaps, data issues, tests, andoperational blind spots.Questions
Section titled “Questions”- What is the acceptance criterion for “create ticket”?
- Which fields are required?
- What should happen on double submit?
- What should happen if the API returns
500? - Where should error messages come from?
- What log line would help support investigate a failed ticket creation?
- Create
portfolio/05-product-engineering/feature-slice.md. - Write the user story.
- Write acceptance criteria.
- Draw the UI-to-database flow.
- Build the slice.
- Add tests.
- Create one induced failure and observe behavior.
- Ask an agent to review the slice.
- Fix the highest-risk gap.
Done When
Section titled “Done When”- The main user path works.
- Important failure states are visible.
- Server-side validation protects durable state.
- Tests prove meaningful behavior.