Skip to main content
AI & Automation

MyVoice Studio

AI personality authoring platform — voice profiles, fact management, voice training lab, and instructions hub for authentic AI-generated content

March 15, 2026

MyVoice Studio

MyVoice Studio is the control center for how AI writes as Daniel. It manages voice profiles, verified facts, special instructions, and provides a voice training lab — a “voice IDE” where you design, test, and deploy AI personalities.

Module: modules/myvoice-studio/ (standalone Express service, port 8098) Status: ~40% complete — backend routes work, frontend basic, LLM transform and RAG explorer not wired

Vision

Every AI interaction on ArgoBox — blog generation, journal entries, public chatbot, LinkedIn posts — goes through a voice profile. MyVoice Studio is where those profiles are created, tested, and refined.

It’s powered by RAG data from 701K indexed chunks and 11M+ words of real conversation history.

The 5 Tabs

1. Voice Profiles

Browse, create, and edit voice personas. Each profile is a complete personality spec:

FieldDescription
Namee.g., “ArgoBox Casual”, “LaForce IT Professional”
Voice Level1-10 slider (1 = formal resume, 10 = 11 PM Discord)
Key PhrasesSignature expressions (“Look, I’ll be honest…”)
Do’sRules to follow (use first person, include timestamps)
Don’tsRules to avoid (no “we”, no corporate transitions)
Example TextBefore/after transformations
Tone DialsHumor, Technical Depth, Self-Deprecation, Formality, Enthusiasm, Storytelling (each 0-10)
System PromptFull system prompt injected into all AI calls
FormulaWriting formula pattern
ContextsWhere this profile applies (blog, journal, linkedin, chat)

Current Profiles:

  • argobox-casual.json — Primary blog/journal voice (active)
  • laforceit-professional.json — Professional/resume tone
  • linkedin.json — LinkedIn post formatting
  • resume-formal.json — Formal documentation tone

2. Voice Lab

The creative testing ground:

  • Score — Paste text, score against active profile (0-100 authenticity). Shows which sentences match and which feel “off” with inline highlighting.
  • Transform — Paste generic text, click Transform, get it rewritten in the selected voice using LLM. Side-by-side before/after view.
  • Compare — Same text in two different profiles side by side. “How does this read as ArgoBox vs LaForce IT?”
  • Voice DNA — Analyze a text sample: sentence length distribution, vocabulary diversity, first-person percentage, hedging frequency, humor density. Radar chart visualization.

3. Facts & Identity

CRUD interface for verified facts about Daniel:

StatusColorMeaning
VerifiedGreenConfirmed via ground truth interview
UnverifiedYellowNot confirmed yet — use cautiously
DeniedRedAI-fabricated — must NEVER be used

Features: add/edit/archive facts, source tracking, conflict detection.

Current denied claims (hardcoded guardrails):

  • the remote site is NOT “40 miles away” — distance unspecified
  • Daniel has NEVER used Traefik — “463 messages” story is fabricated
  • apkg was NOT “built by accident” — built intentionally
  • Build swarm is 66 cores, NOT 62

4. Instructions Hub

Centralized system prompt management:

  • Rich markdown editor for special instructions
  • Context tags: “always”, “blog-only”, “code-only”, “professional”
  • Version history with rollback
  • Export formats: CLAUDE.md block, system prompt JSON, markdown
  • Pull endpoint: GET /api/instructions/latest — any AI tool can consume the latest instructions

5. RAG Explorer

Search 701K chunks for voice patterns:

  • Voice search: “How do I talk about Tailscale?” → shows real examples
  • Pattern extraction: recurring phrases, sentence structures, humor patterns
  • Collection filter: conversations, blog posts, journal entries
  • Phrase frequency: which phrases appear most in your writing
  • Save to profile: found a good phrase? Add it directly to a voice profile

Architecture

MyVoice Studio (port 8098)
├── GET/POST /api/profiles      — Voice profile CRUD
├── GET/POST /api/facts         — Facts CRUD (verified/unverified/denied)
├── GET/POST /api/instructions  — System prompt instructions CRUD
├── POST /api/lab/score         — Score text against profile
├── POST /api/lab/transform     — LLM-powered voice transformation (TODO)
├── GET /api/lab/rag-search     — RAG proxy for voice patterns (TODO)
└── GET /api/health             — Health check

SQLite Database: data/voice-studio.db
├── profiles table
├── facts table
└── instructions table

Integration with ArgoBox

MyVoice Studio feeds into every AI interaction via src/lib/myvoice-client.ts:

MyVoice Studio (port 8098)
    ↓ getActiveProfile()
myvoice-client.ts (5-min cache)
    ↓ formatVoiceForPrompt()
assistant-prompt.ts / voice-profile.ts

Content-Gen API / Public Chat / Argonaut

Fallback: If MyVoice Studio is unreachable (e.g., production on Cloudflare Workers), the system uses data/active-voice-profile.json — a static snapshot synced by scripts/sync-myvoice-profile.ts.

Voice Profile Data Model

interface MyVoiceProfile {
  id: string;
  name: string;
  description: string;
  voiceLevel: number;        // 1-10
  active: boolean;
  audience: string;
  toneDials: {
    humor: number;           // 0-10
    technicalDepth: number;
    selfDeprecation: number;
    formality: number;
    enthusiasm: number;
    storytelling: number;
  };
  keyPhrases: string[];
  dos: string[];
  donts: string[];
  exampleBefore: string;
  exampleAfter: string;
  systemPrompt: string;
  formula: string;
  contexts: string[];
}

Voice Scoring Algorithm

The voice scoring engine (src/lib/voice-engine.ts) uses 4 weighted metrics:

  1. Sentence Length (20%) — Target: 13.2 words average (Daniel’s natural rhythm from 2,577 conversations)
  2. Banned Patterns (35%) — 15+ regex patterns for AI-sounding phrases
  3. First Person (20%) — Ratio of “I/me/my” vs “we/our/us” (target: 80%+)
  4. Casual Tone (25%) — Fragments + contractions + ellipsis vs semicolons + passive voice

Overall score = weighted average of all 4 metrics.

Data Sources

SourceWhat It ProvidesLocation
Voice ProfileTone dials, key phrases, dos/donts, system promptdata/active-voice-profile.json
Identity Ground TruthVerified facts about Daniel (v2.0)data/identity-ground-truth.json
RAG Knowledge Base701K chunks from 22 collections/mnt/AllShare/rag/databases/
daniel-BLOGGER-VOICE-PROFILE.mdData-driven metrics from conversationsVaults backup
DANIEL-LAFORCE-FACTS.mdComprehensive verified factsVaults backup
Conversation Archive2,992 processed conversationsVaults/conversation-archive/

Replicability

MyVoice Studio is designed to be replicable — anyone can run it for their own voice cloning:

  1. Run the interview template (docs/MYVOICE-INTERVIEW-TEMPLATE.md)
  2. Deploy MyVoice Studio via Docker
  3. Seed profile from interview answers
  4. Test in Voice Lab
  5. Connect to any AI system via pull endpoint

Key Files

FilePurpose
modules/myvoice-studio/DESIGN.mdFull design document
modules/myvoice-studio/src/server.tsExpress app
modules/myvoice-studio/src/db.tsSQLite database
modules/myvoice-studio/src/routes/profiles.tsProfile CRUD
modules/myvoice-studio/src/routes/facts.tsFacts CRUD
modules/myvoice-studio/src/routes/instructions.tsInstructions CRUD
modules/myvoice-studio/src/routes/lab.tsVoice Lab (scoring)
modules/myvoice-studio/data/voice-profiles/4 JSON profile files
src/lib/myvoice-client.tsArgoBox API client
src/lib/voice-engine.tsVoice scoring algorithm
src/lib/voice-profile.tsSystem prompt builder
data/active-voice-profile.jsonStatic profile snapshot
scripts/sync-myvoice-profile.tsProfile sync script
  • Content Studio — The editor that consumes voice profiles
  • Content Generation — How voice profiles are injected into generation
  • RAG System — The knowledge base that powers fact checking and voice pattern search
myvoicevoiceaipersonalityprofilesfactsidentity