3.7 KiB
Executable File
3.7 KiB
Executable File
Dewemoji Product Direction (2026)
Product decision snapshot
Dewemoji is a personal emoji library product:
- Free: public emoji discovery (EN/ID dataset)
- Paid (
Personal): private keyword library + sync + account features - Main value: "your words -> your emojis"
Tagline:
- "Your words -> your emojis, anywhere"
What is in scope now
Core model
- Public search remains open and fast.
- Private keywords are user-owned and synced.
- Paid conversion is driven by personalization value, not by limiting discovery.
Tier model
- Free: unlimited public search, copy/insert, skin tone utilities
- Personal: private keywords, keyword sync, API keys, dashboard access
Pricing target used in planning:
- Monthly:
$4.99 - Annual:
$49 - Lifetime:
$99
UX direction
User states
- Visitor: discover and use immediately (no login wall)
- Free logged-in user: sees upgrade paths where personalization would help
- Personal user: quick add on detail pages + full dashboard management
Primary flow
- User discovers emoji from public search.
- Personal user adds custom keyword from emoji detail page.
- Keyword becomes immediately searchable for that user.
- Dashboard handles bulk CRUD/import/export/API key management.
Upgrade triggers
- Search miss prompts
- Locked "Your Keywords" section for free users
- Extension contextual prompts
Platform responsibilities
Website
- discovery pages
- emoji detail
- pricing/upgrade
- user dashboard (keywords, API keys, billing)
Extension
- free discovery remains strong
- account linking for personal sync
- blend private + public results when authenticated
API
- stable public contract for search/category/detail
- authenticated personal keyword endpoints
- clear throttling and abuse controls
Architecture priorities
- Move from license-centric model toward account + subscription + API keys.
- Keep legacy compatibility while migration is active.
- Preserve cache-first behavior (
app/data/emojis.json) for reliable performance. - Keep operational observability for billing/webhooks/usage.
Implementation phases
Phase A - Foundation
- user auth foundations
- private keyword model
- API key lifecycle
- public endpoint guard/throttle hardening
Phase B - Dashboard
- my keywords CRUD
- API key management
- billing state view
- role-aware dashboard shell
Phase C - Extension sync
- link account
- send auth key/header
- show private result badges and edit actions
Phase D - Billing completion
- provider webhooks with idempotency
- accurate subscription status transitions
- admin controls for pricing and subscription operations
Community/contribution decision
Current active direction is private-first personalization.
- Public community contribution/voting is not in the immediate build scope.
- If reintroduced later, it should be optional, moderated, and separated from private keyword ownership.
Admin priorities
- subscription and payment visibility
- webhook replay and diagnostics
- pricing controls + change logging
- safety controls and audit logs
Success signals
- private keyword adoption per Personal user
- search success lift from private keywords
- free -> Personal conversion rate
- extension retention and sync reliability
Risks to monitor
- abuse on public endpoints -> enforce edge throttling + allowlists
- billing webhook drift -> queue + idempotency + replay tooling
- migration confusion between legacy licenses and Personal model -> explicit migration messaging
Out of scope for now
- broad public community moderation/voting systems
- heavy AI moderation pipelines for public contributions
- major replatform that breaks current API contracts