The problem
The creative team I manage serves an organization of 400+ people. Anyone can submit a design request, and those requests flow through a Notion-based task system. Three things were broken:
- Intake friction: The request form had 15 fields with no validation or smart defaults. Incomplete submissions were common, leading to back-and-forth clarifications that delayed delivery.
- No feedback loop: After delivering work, the team had no structured way to collect satisfaction data. A manual email process existed but was almost always skipped. Response rate sat around 10%.
- Unclear ownership: When a single request included multiple deliverable types (e.g., a poster and an email), everything landed on one card with one assignee. Handoffs were informal, accountability was unclear.
The team's annual plan identified four operational improvements. Three of them mapped directly to these problems.
What I built
1. A smarter intake form. Reduced the request form from 15 fields to 9. Added a multi-step wizard with smart defaults, date validation (minimum 2 business days), and auto-assignment based on request type. The form submits directly to the Notion Tasks database via a serverless function.
2. An automated feedback system. When a task is marked complete in Notion, an automation sends a personalized feedback email to the requester. The email links to a branded satisfaction form (5-star rating + comments) that writes back to Notion. Zero manual steps from the team.
3. Multi-card splitting. When a request spans multiple work types (graphic design + copywriting, for example), the system automatically creates separate task cards, each with its own assignee based on work category. This enforces the "one assignee per card" principle from the annual plan.
How I built it
The approach was human-led, AI-augmented. I defined the requirements, made the design decisions, handled deployment and stakeholder communication. Claude handled the execution: writing the form code, building the serverless functions, integrating with the Notion API, and generating documentation.
| Human (me) | AI (Claude) |
|---|---|
| Requirements and scope | Architecture and code |
| Design direction and UX | Notion API integration |
| Stakeholder approval | Serverless function logic |
| Deployment and config | Design system compliance |
| Security review | Documentation generation |
The stack was deliberately simple: HTML/CSS/JS for the frontend, Netlify Functions for the backend, Notion API for the database. No frameworks, no new subscriptions, no vendor lock-in. Everything runs on the team's existing Netlify free tier.
Timeline
| Day | Milestone |
|---|---|
| Day 1 | Build started. Intake form designed and coded. |
| Day 2 | Form approved and deployed. Internal service desk updated. |
| Day 3 | Feedback form built and tested. Email automation configured. |
| Day 4-5 | Both systems live. End-to-end testing with real requests. |
| Day 6 | Multi-card splitting logic built and deployed. Third initiative delivered. |
Results
- Intake: 15 fields reduced to 9 (40%). Smart defaults and validation reduced incomplete submissions.
- Feedback: Automated email pipeline replaced manual process. Response rate target moved from ~10% to 60%, with infrastructure now in place to reach it.
- Task routing: Multi-type requests auto-split into separate cards with clear ownership per assignee.
- Cost: $0 added. All built on existing Netlify and Notion infrastructure.
- Plan delivery: 3 of 4 annual plan initiatives shipped in a single sprint. The fourth (design quality audits) is scheduled for the following quarter.
What I learned
- AI changes the build timeline, not the thinking. The hardest part was scoping the right solution, not writing the code. Claude compressed execution from weeks to days, but the strategic decisions still took the same amount of careful thought.
- Simple stacks ship faster. No React, no framework. Vanilla HTML/CSS/JS with serverless functions. The simplicity meant fewer failure modes and easier maintenance for a non-engineering team.
- Measure from day one. Shipping the feedback system alongside the intake form meant we could track satisfaction immediately, not retroactively.