# PRD: Markster — AI-powered EU Trademark Registration

*(English translation of the original Markster PRD, prepared for Howard's learning plan. This is the source-of-truth document the plan keeps referring to.)*

## Summary

- **Need:** EU entrepreneurs who want to protect their brand across Europe face an opaque, intimidating, and expensive process. The alternatives are IP lawyers at €1,100–1,600 or self-service on EUIPO with no guidance at all.
- **Research insight:** EUIPO offers complete, free APIs for search + filing + classification, but nobody in the market uses them. Combined with conversational AI, we can offer a 10x better experience at a fraction of the price.
- **Decision:** We build an AI-native, done-for-you platform at €89 service + €850 EUIPO fees = €939 total all-inclusive. Filing through the EUIPO Filing API, with Iulia as legal representative.

---

## Market context

- **EUIPO:** 197,000 trademark applications/year (2025), 9.1% YoY growth, all-time record
- **SME Fund 2026:** 75% reimbursement of EUIPO fees (up to €700/SME) — available Feb–Dec 2026
- **Market pricing:** traditional lawyers €1,100–1,600, Trama ~€1,050 all-in, RegisterTM ~€1,050
- **Markster:** €939 all-inclusive (€89 service + €850 EUIPO fees) — the cheapest done-for-you in the market
- **Unfair advantage:** direct integration with the EUIPO API (nobody else does this) + conversational AI

---

## Team

| Role | Person | Responsibility |
|-----|----------|-----------------|
| CEO / Operations | Isi | Operations, customer support, growth, dashboard |
| Co-founder / IP Expert | Iulia | Review of flagged cases, EUIPO legal representative, API filing |
| Advisor / Product | Bogdan | Product strategy, AI architecture |

---

## Jobs

1. **[EU entrepreneur]:** When I have a brand and want to protect it across Europe, I want to register my trademark quickly and simply, so that nobody can steal it and I have legal exclusivity.

2. **[Iulia — IP expert]:** When the platform receives registration applications, I want to see only the ambiguous/risky cases, so that I can validate quickly without manually processing every application.

3. **[Isi — operator]:** When the platform is running, I want to see application volume, statuses, revenue, and problems, so that I can manage the business efficiently.

---

## State Machine — Trademark application

| # | Status | Description | Transition from | Transition to | Auto/Manual | Visible to client |
|---|--------|-----------|---------------|----------------|-------------|----------------|
| 1 | **Draft** | Client chats with the AI, the application is being built | — | AI Complete | Auto (when the AI finishes) | Yes — "Preparing your application" |
| 2 | **AI Complete** | AI generated the application, self-check OK | Draft | Ready to Pay / Expert Review | Auto (if confidence > threshold), otherwise Auto→Expert Review | Yes — "Your application is ready" |
| 3 | **Expert Review** | Iulia reviews (only if flagged by the AI) | AI Complete | Ready to Pay / Needs Info | Manual (Iulia) | Yes — "Expert review" |
| 4 | **Needs Info** | Iulia or the AI need clarifications from the client | Expert Review | AI Complete / Expert Review | Manual (client responds) | Yes — "We need one clarification" |
| 5 | **Ready to Pay** | Application validated, client needs to pay | AI Complete / Expert Review | Paid | Manual (client pays) | Yes — "Pay and we file" |
| 6 | **Paid** | Payment received, awaiting QES | Ready to Pay | QES Signed | Manual (client signs) | Yes — "Sign the power of attorney" |
| 7 | **QES Signed** | Power of attorney signed, preparing the filing | Paid | Filed | Auto (filing via API) | Yes — "Filing your application" |
| 8 | **Filed** | Application filed at EUIPO, awaiting publication | QES Signed | Published | Auto (EUIPO publishes in ~7 days) | Yes — "Filed at EUIPO" |
| 9 | **Published** | Trademark published, 3-month opposition period | Filed | Registered / Opposition | Auto (EUIPO) | Yes — "Published — opposition period" |
| 10 | **Opposition** | Someone filed an opposition | Published | — (Iulia upsell) | Manual | Yes — "Opposition received — we'll contact you" |
| 11 | **Registered** | Trademark registered! Certificate issued. | Published | — | Auto (EUIPO) | Yes — "Your trademark is registered! 🎉" |
| 12 | **Rejected** | EUIPO rejected the application (absolute grounds) | Filed / Published | — (partial refund?) | Auto | Yes — "The application was rejected" |

**Rules:**
- A client can NOT go back from Paid to Draft (no changing the application after payment)
- If the client doesn't pay within 7 days → email reminder. 30 days → the application expires.
- If an opposition arrives → notification + separate Iulia service offer (upsell, not included in the €89)
- The Filed → Published → Registered statuses are monitored via the EUIPO API (My EUIPO Mailbox + Portfolio API)

---

## Algorithm — AI Conversation Flow

The conversational AI flow is the core of the product. The logic:

### Step 1 — "Tell me about your brand" (2–3 min)
The AI asks:
- What's the brand/trademark name? (text / logo upload)
- What kind of business do you have? What products/services do you offer?
- Where are you based? (EU country — relevant for the application language)
- Is it an LLC/SRL/etc.? (legal entity or natural person)

The AI extracts:
- Trademark type: word mark (text only) or figurative (logo/combined)
- Recommended Nice classes (validated via the TMClass API)
- The correctly-worded list of goods/services (from the Harmonised Database)

### Step 2 — "Checking availability" (30 sec)
The AI searches via the Trademark Search API:
- Identical marks in the selected classes
- Phonetically/visually similar marks (AI similarity scoring)
- Result: 🟢 Clear path / 🟡 Moderate risk (similar marks) / 🔴 High risk (identical mark)

If 🔴 → recommendation to modify, or continue with accepted risk
If 🟡 → risk explanation + recommendation
If 🟢 → we continue

### Step 3 — "Your application is ready" (1 min)
The AI presents a summary:
- The mark (text or image)
- Type (word/figurative)
- Nice classes + goods/services list
- First language + second language (EUIPO requires 2 languages)
- Applicant details
- Total price: €89 service + €850 EUIPO fees = €939 (or +€50 for class 2, +€150 for class 3+)

The client confirms or requests changes.

### Step 4 — AI self-check (automatic, invisible)
Before sending to payment, the AI validates:
- [ ] Nice classes validated via the Goods & Services API
- [ ] Product-list terms come from the Harmonised Database (for Fast Track eligibility)
- [ ] The mark is not descriptive/generic (absolute grounds for refusal)
- [ ] Applicant details are complete
- [ ] Confidence score > threshold → straight to Ready to Pay
- [ ] Confidence score < threshold → flagged for Iulia (Expert Review)

---

## Configurable parameters

| Parameter | Options | MVP default |
|-----------|---------|-------------|
| Service price | Variable | €89 |
| EUIPO fee class 1 | Fixed by EUIPO | €850 |
| EUIPO fee class 2 | Fixed by EUIPO | +€50 |
| EUIPO fee class 3+ | Fixed by EUIPO | +€150/class |
| AI confidence threshold for escalation | 0–100% | 80% (below 80% → Iulia) |
| Payment timeout | Days | 7-day reminder, 30-day expiry |
| AI conversation languages | Any language | EN default, AI converses in the client's language |
| Platform UI languages | EN / RO | EN (MVP) |

---

## Communication

| Message | Trigger | Channel | Variables |
|-------|---------|-------|-----------|
| Your application is ready — review and pay | AI Complete → Ready to Pay | Email | {first_name}, {mark}, {classes}, {total_price} |
| Payment reminder | Ready to Pay + 7 days | Email | {first_name}, {mark}, {payment_link} |
| Payment received — sign the power of attorney | Paid | Email + QES link | {first_name}, {qes_link} |
| Your application was filed at EUIPO | Filed | Email | {first_name}, {mark}, {euipo_application_no}, {filing_date} |
| Your trademark was published — opposition period | Published | Email | {first_name}, {mark}, {opposition_end_date} |
| Your trademark is registered! | Registered | Email | {first_name}, {mark}, {certificate_no}, {expiry_date_10yrs} |
| You received an opposition — we'll contact you | Opposition | Email | {first_name}, {mark}, {opponent_details} |
| The application was rejected | Rejected | Email | {first_name}, {mark}, {rejection_reason} |
| The application expired (non-payment) | Ready to Pay + 30 days | Email | {first_name}, {mark} |
| Clarification needed | Needs Info | Email | {first_name}, {question} |
| SME Fund info — you can recover 75% | Post-filing (if SME) | Email | {first_name}, {reimbursable_amount}, {sme_fund_link} |

---

## Screens

### 1. Landing Page
- **Actor:** Visitor / potential client
- **Job:** Understand what Markster offers and start the process
- **Information:** Value prop ("Register your trademark across Europe in 15 minutes"), price (€939 all-in vs €1,500+ at lawyers), steps (3 simple steps), social proof, FAQ
- **Main action:** CTA "Start — check your trademark for free"
- **States:** Normal

### 2. AI Conversation (core experience)
- **Actor:** The client
- **Job:** Describe the brand and receive the prepared application
- **Information:** Conversational AI chat, progress indicator (Step 1/2/3), inline availability-check results, generated application summary
- **Main action:** Progress through the conversation → reach the summary
- **States:** Normal / Risk detected (similar mark) / Error (incomplete data)

### 3. Summary & Review
- **Actor:** The client
- **Job:** Review the complete application before paying
- **Information:** The mark (text/logo), Nice classes with goods/services list, applicant details, itemized price (service + EUIPO fees), SME Fund info if eligible
- **Main action:** "Confirm and pay — €939"
- **States:** Normal / Edit application

### 4. Checkout / Payment
- **Actor:** The client
- **Job:** Pay the service + EUIPO fees
- **Information:** Price summary, payment methods (card, transfer), invoicing
- **Main action:** Pay
- **States:** Normal / Payment failed / Payment confirmed

### 5. QES Signing
- **Actor:** The client
- **Job:** Sign the power of attorney for Iulia as representative
- **Information:** Pre-filled power-of-attorney document, plain-language explanation of what they're signing
- **Main action:** Sign with QES (qualified electronic signature)
- **States:** Normal / Expired (timeout)

### 6. Client Dashboard
- **Actor:** The client (post-payment)
- **Job:** See the status of your application
- **Information:** Current status (from the state machine), visual timeline of the steps, EUIPO application number, downloadable documents (application, power of attorney, certificate when ready), clear next step
- **Main action:** Depends on status (pay / sign / just track)
- **States:** One per state-machine status

### 7. Operator Dashboard (Isi)
- **Actor:** Isi
- **Job:** See all applications, statuses, revenue, problems
- **Information:** Application list with filters (by status, by date), metrics (applications/month, revenue, conversion rate, % escalated), alerts (expired payments, oppositions)
- **Main action:** Filter / Export / Click an application for details
- **States:** Normal / Empty (first days)

### 8. Iulia's Queue (Expert Review)
- **Actor:** Iulia
- **Job:** See the applications flagged by the AI, validate quickly
- **Information:** List of flagged applications with the flag reason (AI confidence score + what exactly is ambiguous), the full application, approve/reject/needs-info buttons
- **Main action:** Approve / Request changes / Reject
- **States:** Normal / Empty (if the AI is confident on everything)

---

## Non-goals (what we do NOT build in the MVP)

| Excluded | Reason | V2? |
|--------|-------|-----|
| Monitoring/watching service | Different market, different product. Obvious V2 upsell | Yes |
| Opposition management through the platform | Legally complex, separate Iulia service | Yes |
| WIPO / international trademarks | Focus on EUIPO, expand later | Yes |
| OSIM / national trademarks | Market too small, dilutes focus | Maybe |
| 3D / sound / multimedia marks | <5% of applications, high complexity | No |
| Multi-language UI | The AI converses in any language; the UI stays EN | Yes |
| Client account with login | MVP: tracking via email + unique link. V2: account | Yes |
| Automatic refund on rejection | Manual in MVP, automated in V2 | Yes |
| Written EUIPO agreement as intermediary platform | Iulia files as representative in MVP | Yes |
| Automated SME Fund integration | Guidance via post-filing email. V2: integrated | Yes |
| Mobile app | Responsive web is enough | No |
| Renewal reminders | The mark is valid 10 years. V2+ | Yes |

**We prepare the architecture for V2:**
- The status system supports extension for oppositions/renewals
- The EUIPO API integration is modular (filing today, monitoring tomorrow)
- The AI conversation can be extended with new flows (renewal, opposition, WIPO)

---

## Success metrics

### Daily metrics
| Metric | Month-1 target | Month-3 target |
|---------|--------------|--------------|
| AI conversations started | 50/day | 200/day |
| Applications completed (AI Complete) | 5/day | 20/day |
| Applications paid | 2/day | 10/day |
| Conversion visitor → conversation started | >20% | >25% |
| Conversion started → completed | >40% | >50% |
| Conversion completed → paid | >30% | >40% |
| % applications escalated to Iulia | <20% | <10% |
| Revenue | ~€5,000/month | ~€25,000/month |

### Alerts
- Conversion below 10% at any step → investigate
- Iulia has >10 applications in the queue → adjust the AI threshold
- Opposition received → immediate notification to Isi + Iulia
- EUIPO API down → manual fallback + alert

---

## Existing data & Integrations

### EUIPO API integrations (core)
| API | Used for | MVP priority |
|-----|---------------|---------------|
| **Trademark Search** | Availability check | P0 — critical |
| **Goods and Services** | Nice classification + validation + translation | P0 — critical |
| **EUTM Filing** | Filing the application | P0 — critical |
| **Document Repository** | Logo/document upload | P0 — critical |
| **Persons** | Search existing applicants/representatives | P1 — nice to have |
| **Me (Portfolio)** | Monitoring application status | P1 — important post-filing |
| **My EUIPO Mailbox** | Receiving EUIPO notifications | P1 — important post-filing |

### Other integrations
| Service | Used for | Priority |
|----------|---------------|-----------|
| Claude/GPT API | AI conversation + classification | P0 |
| QES provider (from the BONO stack) | Power-of-attorney signing | P0 |
| Stripe | Service + fee payment | P0 |
| Resend/SendGrid | Transactional emails | P0 |
| EUIPO Current Account | Paying EUIPO fees | P0 (setup) |

### Existing data
Greenfield project. Zero migration.

---

## Next steps — 30-day MVP plan

### Week 1: Validation & Setup
- [ ] Iulia: EUIPO User Area account + current account
- [ ] Iulia: EUIPO Sandbox API access (1-day approval)
- [ ] Iulia: manual filing test via the sandbox API
- [ ] Isi: markster.eu domain + hosting
- [ ] BGN: AI conversation wireframes + landing page

### Week 2: Core Build
- [ ] Trademark Search API integration (availability check)
- [ ] Goods & Services API integration (Nice classification)
- [ ] AI conversation flow (Claude API)
- [ ] Landing page

### Week 3: Filing & Payments
- [ ] EUTM Filing API integration (full sandbox, production application)
- [ ] Stripe checkout
- [ ] QES flow (power of attorney)
- [ ] Transactional emails
- [ ] Client dashboard (status tracking)

### Week 4: Polish & Launch
- [ ] Operator dashboard + Iulia's queue
- [ ] End-to-end testing with a real filing (Isi's or Iulia's first application)
- [ ] Final landing page
- [ ] Soft launch — first 10 clients (personal network + LinkedIn)
