Internal project · Implemented foundation
A project inquiry that becomes a lead without becoming marketing consent.
A structured intake flow captures enough operating context for a useful conversation while preserving consent and routing boundaries.
- 01Operating problem
Who is doing the work, what breaks, and why it matters.
- 02System decision
Boundaries, data ownership, safeguards, and the smallest useful scope.
- 03Evidence
What exists, what was verified, what remains limited, and the next decision.
The operating problem
The system starts with a condition that needs to change.
A generic contact form gives the team too little context, but an oversized qualification form creates friction. Sales inquiries also need different handling from support, editorial, privacy, and newsletter consent.
Constraints that shaped the work
- Store the original inquiry before attempting any notification delivery.
- Create a lead only for an explicit project or sales inquiry.
- Never treat a contact submission as newsletter consent.
Decisions and approach
- Ask for the current workflow, failure point, systems involved, desired outcome, timing, and optional budget context.
- Keep the immutable inquiry as the source record and add compact CRM contact and activity records around it.
- Make transactional notification failure non-destructive so the saved inquiry remains reviewable.
System boundary
Implementation stack
React · Zod · Next.js route handlers · MongoDB · Brevo adapter
Supportable evidence
- General, support, editorial, and policy requests remain inquiries rather than sales leads.
- Exact-email contact linking avoids unsafe fuzzy identity merging.
- Consent, payload limits, honeypot checks, and rate limits are enforced at the public boundary.
Known limits
- The CRM is intentionally small: no automated scoring, enrichment, campaign system, or speculative company graph.
- A submitted budget is context for scoping, not an automatic qualification decision.
Lessons carried forward
- Useful intake asks about the work before asking for a feature list.
- Consent boundaries should be visible in both the interface and the data model.
Bring your operating context
A useful project conversation starts with the work, not a technology shopping list.
Share the current process, systems involved, failure point, and the result you need. We will help identify a credible first scope.