Product Positioning Drives Technical Decisions

How you describe your product to users determines which features you build, which fields you show, and which language your code uses. A positioning document written before implementation saves more engineering time than any technical design doc because it eliminates features before they're built.

Tags

Product Positioning Drives Technical Decisions

The Lesson

How you describe your product to users determines which features you build, which fields you show, and which language your code uses. A positioning document written before implementation saves more engineering time than any technical design doc because it eliminates features before they're built.

Context

MyReachBand started as a "QR Safety Bracelet" — an emergency contact system with safety notes, medical alerts, and revocation workflows. A positioning document (docs/myreachband.md) reframed it as a "simple QR bracelet for reaching a trusted contact" — a temporary contact bracelet, not an emergency identity system. This single document changed almost every screen in the app.

What Happened

  1. Initial implementation had emergency-language UI: red "SAFETY INFORMATION" heading, "Emergency Contact" labels, medical note fields, safety note fields.
  2. Owner wrote a positioning doc defining the product as warm, non-medical, non-alarming. Key term: "trusted contact" instead of "emergency contact."
  3. Rethemed the entire UI based on the doc: red → teal, "SAFETY INFORMATION" → "Reach Trusted Contact," "Emergency Contact" → "Trusted Contact," alarm emoji removed.
  4. Hid medical_note and safety_note fields from the v1 form — the positioning doc said to avoid inviting sensitive data in the first version. The database columns remain for future use.
  5. Removed contact name from the form and scan page — the positioning doc said "no personal information visible." The scan page shows just "Call Trusted Contact" without revealing a name.
  6. Changed the admin language: "Revoke" → "Disable," "Admin" → "Dashboard," "Manage" → "My Bracelets."
  7. Added message presets based on use cases from the positioning doc: field trips, elder care, lost-and-found, temporary care.

Key Insights

Examples

Before positioning doc

Header: ⚠️ SAFETY INFORMATION
Button: 📞 Call Jane Doe (Emergency Contact)
Field: Medical Note, Safety Note
Color: #d32f2f (red)

After positioning doc

Header: Reach Trusted Contact
Button: Call Trusted Contact
Field: (hidden in v1)
Color: #138A9E (teal)

Applicability

This applies to any product where the framing is ambiguous. "Is this a security tool or a convenience tool?" "Is this for developers or business users?" "Is this for daily use or emergencies?" The positioning decision cascades into UI, data model, feature scope, and pricing. Getting it wrong means building the right features with the wrong framing — which users reject even though the technology works.

Related Lessons

Related Lessons