Product Analysis & Roadmap
Deep analysis of security, features, competitive landscape, and growth opportunities — April 2026
Executive Summary
Cuemark EVI is positioned to be the only AI rehearsal partner that detects and responds to an actor's emotional performance in real time. No competitor in the market does this — they all generate emotional speech but none listen to how the actor performs.
However, the current codebase has 3 critical security vulnerabilities that must be fixed before any public launch, 19 must-have feature gaps for a production-quality product, and significant opportunities for differentiation through Hume's emotion detection capabilities.
The Big Picture
Competitive Landscape
There are 9+ AI rehearsal tools in market. Here is how they compare:
| Product | Price | AI Voice | Emotion Detect | Analytics | Security | Platform |
|---|---|---|---|---|---|---|
| Cuemark EVI | TBD | ✓ Hume | ✓ Real-time | ✗ Not yet | ● In progress | Web |
| ActorLab | $19-49/mo | ✓ ElevenLabs | ✗ | ● Basic | ✗ | Web |
| ScenePartner | $13-30/mo | ✓ ElevenLabs | ✗ | ✗ | ✗ | Web |
| Linus | $15/mo | ✓ 65+ voices | ✗ | ✗ | ✗ | iOS/Android |
| Odee | TBD | ✓ Multi-provider | ● Preset only | ● Audition tracking | ✗ | Web |
| Rehearsal Pro | $20 once | ✗ Human only | ✗ | ✗ | ✗ | iOS |
| Scriptation | Enterprise | ✗ | ✗ | ✗ | ✓ Studio-grade | iOS/Web |
Key insight: Every competitor generates emotional speech. None detect the actor's emotional delivery. This is Cuemark's moat. Odee is the closest threat — if they integrate Hume or build their own emotion detection, they become a direct competitor. Speed to market with the emotion feedback loop is critical.
Critical Security Fixes
These must be fixed before any public users touch the system.
EXPO_PUBLIC_HUME_API_KEY and EXPO_PUBLIC_HUME_SECRET_KEY are embedded in the JavaScript bundle. Any user can extract them from DevTools. An attacker can generate unlimited Hume sessions, running up your bill, or access/modify your Hume account configs.
Files:
.env, src/lib/hume.ts, src/screens/RehearsalSessionScreen.tsx:54-55
fetchAccessToken to a Supabase Edge Function or the CLM server. Client calls your backend, which calls Hume with the secret key and returns only the short-lived access token.
/init-session with no auth. They can load arbitrary text, overwrite sessions, enumerate session IDs, or exhaust server memory with thousands of fake sessions.
File:
clm/src/server.ts:45-66
/init-session (same as /chat/completions). Better: validate the user's Supabase JWT.
cuemark-clm-key) is in EXPO_PUBLIC_CLM_AUTH_KEY (visible in client bundle), and the server only logs a warning on auth mismatch instead of rejecting the request.
File:
clm/src/server.ts:91-94
EXPO_PUBLIC_*. The client should send the user's Supabase JWT, and the CLM server validates it.
High Priority Issues
GET /session/:id returns session metadata (line count, agent character name, progress) with zero authentication. Character names may be under NDA.
express-rate-limit, cap max concurrent sessions (e.g., 100), require auth./init-session. Consider having CLM fetch scripts directly from Supabase using a service role key.app.use(cors()) allows requests from any origin. Any website can make requests to the CLM server.
cors({ origin: 'https://cuemark-evi.logicmesh.dev' })Strict-Transport-Security headers to nginx.conf.Medium Issues & Bugs
Date.now() - startTime during render, but no setInterval triggers re-renders. Timer appears frozen during silence.
File:
RehearsalSessionScreen.tsx:397-399
useEffect that updates a duration state variable.audio-player.ts:90-91, the condition checks !this.isPlaying after isPlaying was already set to true on line 81. The callback is unreachable.
isPlaying = true..slice(-10) on emotion data means long scenes lose early emotion data. For a 50-line scene, 80% of emotion data is discarded.
File:
RehearsalSessionScreen.tsx:362
emotion_snapshots table with per-line granularity.pgcrypto is enabled, but no encryption functions exist. Scripts stored as plaintext. This is a stated project security requirement.
File:
001_initial_schema.sql:19
encrypt_script/decrypt_script RPC functions using pgcrypto.src/lib/redaction.ts and src/lib/hume.ts are fully implemented but never imported. They were from the pre-CLM architecture.
Date.now() + Math.random(), both predictable. Given the unauthenticated debug endpoint, an attacker could guess active session IDs.
crypto.randomUUID().Actor Experience — Must-Have Features
These are gaps that need filling for a viable product launch.
emotionData is saved to Supabase but never displayed. Need a post-session review screen.
nextIndex only increments. If the actor flubs a line or wants to redo, there is no way to go back. Need a "redo last line" and "skip ahead" control.
matchScore function exists in script-parser.ts:97-113 that compares spoken text to script text — but it is never called anywhere. The function is written and ready, just needs wiring to the session flow.
onPress handler). No way to review a past session's transcript or emotions.
Actor Experience — Should-Have Features
accessibilityLabel or accessibilityRole props on any component across 13 screens.Admin Dashboard & Backend
Currently there is zero admin UI. Everything requires direct SQL access.
Need: per-session duration logging, per-user monthly rollups, real-time cost dashboard, budget alerts.
profiles or subscriptions tables exist in the schema./health endpoint. No Sentry, no uptime monitoring, no error alerting. Need: error tracking, latency percentiles, EVI connection success rates.Map. If the server restarts, all active sessions are lost. Single instance only — no horizontal scaling. Need Redis or similar.Differentiators — What No Competitor Has
These features leverage Hume's emotion detection to create a moat that competitors using ElevenLabs or OpenAI cannot replicate.
Pricing Strategy
Based on competitor pricing ($13-49/mo) and Hume API costs ($0.04-0.07/min):
| Tier | Price | EVI Minutes | Target User | Your Hume Cost | Margin |
|---|---|---|---|---|---|
| Free Trial | $0 | 15 min total | Try before buy | ~$0.90 | -$0.90 (acquisition cost) |
| Rehearsal | $12.99/mo | 120 min/mo | Casual actors | ~$7.00 | ~$6.00 (46%) |
| Professional | $24.99/mo | 400 min/mo | Working actors | ~$23.20 | ~$1.80 (7%) |
| Studio | $49.99/mo | 1000 min/mo | Power users, coaches | ~$40-58 | Negotiate Hume volume pricing |
Key insight: Professional tier margin is razor-thin at current Hume rates. Consider: (1) negotiating volume pricing with Hume, (2) using EVI 4 Mini for non-premium features at ~$0.03/min, (3) making emotion analytics the premium upsell rather than minutes.
Cost Visibility Architecture
Market Positioning
The Tagline
"The only AI scene partner that actually listens to how you perform — not just what you say."
Three Pillars of Differentiation
| Pillar | What It Means | Competitor Gap |
|---|---|---|
| Emotion Intelligence | Real-time emotion detection, scoring, and feedback on the actor's delivery | Zero competitors detect actor emotion |
| Studio-Grade Security | Encrypted scripts, audit logging, zero data retention, NDA compliance | Only Scriptation has security; they don't have AI |
| Performance Analytics | Track improvement over time, emotion arcs, line accuracy, pacing | No competitor tracks performance across sessions |
Biggest Risk
Odee (odee.io) is the closest competitor in spirit. They combine multiple AI providers with emotional direction controls. If they integrate Hume's emotion detection (not just generation), they become a direct threat. Speed to market with the emotion feedback loop is critical.