# Dewemoji User Flow & UX Brief **Version:** 1.0 **Date:** February 8, 2026 **Purpose:** Define seamless user experience across visitor → logged → paid states **Related Doc:** dewemoji-direction-2026.md --- ## Executive Summary Dewemoji implements a **hybrid quick-add flow** where Personal users can add keywords instantly from emoji detail pages (80% of use cases) while maintaining full CRUD power in the dashboard (20% management). This creates a frictionless progression: discovery → personalization → habit, without disrupting the free user experience. **Core UX Principle:** *"Add keywords where you discover emojis, manage them where you organize."* --- ## 1. User State Definitions ### 1.1 Visitor (Non-Logged) **Who:** Anyone landing on dewemoji.com or using Chrome extension (no account) **Intent:** Quick emoji search and usage **Experience:** Zero friction, no login walls ### 1.2 Free User (Logged, No Subscription) **Who:** Registered account, free tier **Intent:** Exploring Personal features, considering upgrade **Experience:** Full free features + gentle upgrade hints ### 1.3 Personal User (Logged, Paid) **Who:** Active Personal subscription ($4.99/mo, $49/yr, or $99 lifetime) **Intent:** Building and syncing personal keyword library **Experience:** Full personalization power across all touchpoints --- ## 2. Primary User Flows ### 2.1 Discovery Flow (All Users) ``` User lands on dewemoji.com ↓ Search bar: "bekicot" ↓ Results page: 🐌 snail (public keywords: "snail, escargot") ↓ Click emoji → Detail page ↓ [State-dependent experience - see Section 3] ``` **Key Insight:** All users start here. Free discovery hooks them; Personal lets them own it. --- ### 2.2 Personalization Flow (Personal Users) #### Primary: Quick Add from Detail Page (80% Usage) ``` Personal user searches "snail" ↓ Detail page shows: ┌─────────────────────────────────────┐ │ 🐌 Snail │ │ │ │ Public Keywords: snail, escargot │ │ │ │ Your Keywords: (none yet) │ │ [+ Add Your Keyword] │ └─────────────────────────────────────┘ ↓ User clicks [+ Add Your Keyword] ↓ Inline modal appears: ┌─────────────────────────────────────┐ │ What do you call this emoji? │ │ ┌─────────────────────────────────┐│ │ │ bekicot, siput ││ │ └─────────────────────────────────┘│ │ Language: [Indonesian ▾] │ │ [Cancel] [Save Keyword] │ └─────────────────────────────────────┘ ↓ Saves instantly → Toast: "Added 'bekicot' to your library ✓" ↓ Detail page now shows: ┌─────────────────────────────────────┐ │ 🐌 Snail │ │ │ │ Public Keywords: snail, escargot │ │ │ │ Your Keywords: │ │ • bekicot (ID) [edit] [×] │ │ • siput (ID) [edit] [×] │ │ [+ Add Another] │ └─────────────────────────────────────┘ ↓ Next search: "bekicot" → 🐌 appears in results! ``` **Why This Flow:** - **Contextual:** User is *already looking at* the emoji they want to name - **Fast:** 2 clicks (add button → save), ~5 seconds total - **Immediate gratification:** See change instantly in searches - **Low friction:** No navigation away from discovery flow --- #### Secondary: Dashboard Management (20% Usage) **When Used:** - Bulk editing/organizing keywords - Reviewing all keywords at once - Exporting/importing keyword libraries - Fixing typos across multiple entries ``` User navigates to Dashboard → My Keywords tab ↓ Table view: ┌───────────────────────────────────────────────────────────┐ │ Emoji | Your Keywords | Lang | Actions │ ├───────────────────────────────────────────────────────────┤ │ 🐌 | bekicot, siput | ID | [Edit] [Delete] │ │ 😊 | senyum, happy | ID | [Edit] [Delete] │ │ 🔥 | api, fire, lit | ID | [Edit] [Delete] │ └───────────────────────────────────────────────────────────┘ [+ Add Keyword] [Import JSON] [Export JSON] [Search/Filter] ↓ User clicks [+ Add Keyword] ↓ Modal: Search emoji picker → Select 🎉 → Add keywords ↓ Saves to table → Auto-sync to extension ``` **Why Dashboard Exists:** - Power users want bulk operations - Easy to review/audit entire library - Import/export for backup - Edit mistakes without finding emoji again --- ### 2.3 Upgrade Flow (Free → Personal) #### Trigger Points **1. On Detail Page (Soft Prompt)** ``` Free user on emoji detail page sees: ┌─────────────────────────────────────┐ │ 🐌 Snail │ │ │ │ Public Keywords: snail, escargot │ │ │ │ 💎 Want to add your own keywords? │ │ like 'bekicot' or 'siput'? │ │ [Upgrade to Personal →] │ └─────────────────────────────────────┘ ``` **2. On Search Miss (Strong Prompt)** ``` User searches "bekicot" → No results ↓ Results page shows: ┌─────────────────────────────────────┐ │ No results for "bekicot" │ │ │ │ 💡 With Personal, you can create │ │ "bekicot → 🐌" and sync it │ │ everywhere. │ │ [Try Personal Free for 7 Days] │ └─────────────────────────────────────┘ ``` **3. From Extension (Contextual)** ``` Extension user searches "bekicot" → Not found ↓ Extension shows inline banner: "Add 'bekicot' to your library with Personal" [Upgrade] button → Opens dewemoji.com/upgrade ``` **4. From Dashboard (Clear Path)** ``` Free user clicks "My Keywords" tab ↓ Shows empty state: ┌─────────────────────────────────────┐ │ 📚 Your Personal Keyword Library │ │ │ │ You have 0 keywords. │ │ │ │ Upgrade to Personal to: │ │ ✓ Add unlimited keywords │ │ ✓ Search in your language │ │ ✓ Sync across all devices │ │ │ │ [Start 7-Day Free Trial] │ └─────────────────────────────────────┘ ``` --- ## 3. State-Dependent UI Elements ### 3.1 Emoji Detail Page #### Visitor (Non-Logged) ```html
| Emoji | Your Keywords | Language | Actions |
|---|---|---|---|
| 🐌 | bekicot, siput | ID |
| Feature | Free | Personal |
|---|---|---|
| Public emoji search | ✅ Unlimited | ✅ Unlimited |
| Private keywords | ❌ | ✅ Unlimited |
$4.99/mo
$49/year
Save 17%
$99 once