Back to Dev Blog Dev Log

The Branding Journey: From "AI Conference Assistant" to VORA — What Changed and Why

2026. 02. 03 VORA Team 9 min read

Product naming is deceptively hard. You think you'll just call it what it does, then six months later you realize the descriptive name is limiting your product's story and you have to go through a painful rename. We went through that exact journey: from "AI Conference Assistant" to "AI MEETING" to "VORA", touching dozens of files with each rename and leaving behind scattered references that continue to surface months later. Here's the honest account.

Phase 1: The Descriptive Name (And Why It Works at First)

The original project was named "AI Conference Assistant." Technically accurate. Zero personality. At the start, this is fine — you're testing functionality, not building a brand. The git repository is ai-conference-assistant. The deployed domain is vora.vibed-lab.com. These made sense when the project was a personal experiment.

The problems with descriptive names emerge when you start thinking about how the product fits into a broader narrative. "AI Conference Assistant" describes one feature (conference assistance). But as VORA grew to include the AI correction pipeline, meeting summaries, a Q&A system, the Labs experiments section, and multilingual support, "conference assistant" felt increasingly narrow. The product was becoming a comprehensive meeting intelligence platform. The name was holding back the framing.

Phase 2: "AI MEETING" — A Lateral Move

The first rename was to "AI MEETING." Looking at the commit: "standardize titles and branding across all pages to 'AI MEETING'." This was an improvement in one way: it removed "conference" (which implies large formal events) in favor of "meeting" (which includes smaller standups, 1:1s, team syncs). But it was still purely descriptive.

"AI MEETING" has another problem: it's searchable only in combination with other terms and doesn't stand alone as a brand. If you tell someone "try AI MEETING," they'll Google it and find nothing memorable. It's also awkward in possessive constructions: "open AI MEETING" sounds like you're opening a product from OpenAI. The all-caps made it feel like an internal project codename, not a product name.

Phase 3: The "Voice Oracle" Detour

There's a commit in the history that deserves mention: "add 'Voice Oracle' brand story section to landing page." We briefly explored "Voice Oracle" as the product identity — the idea of an AI that listens and understands, an oracle for voice data. We wrote marketing copy around it. We added it to the landing page hero section.

It didn't stick. "Oracle" as a tech company name has decades of established branding that's hard to escape — most people hear "Oracle" and think enterprise database software. "Voice Oracle" also positioned the product as a passive listener when the product's strength is active intelligence (correction, Q&A, summarization). We removed it before it shipped as the primary brand.

Phase 4: VORA — The Name That Worked

VORA emerged from a constraint: we wanted a short, memorable name that evoked voice/audio, worked in both English and Korean, was pronounceable globally, wasn't already a major tech brand, and had available domain-adjacent identifiers. The commit: "brand: rename project to 'VORA' and standardize branding across all pages."

VORA is a backronym: Voice Orchestration & Real-time Analysis. But honestly the acronym came after the word — we liked how "VORA" sounded and built the expansion around it. Short, four letters, ends in a vowel (easy to pronounce in any language), has a slight technical edge without being jargony.

The rename process was painful. The commit message "standardize branding across all pages" covers changes to: index.html, index_ko.html, app.html, app_ko.html, blog.html, blog_ko.html, faq.html, faq_ko.html, labs.html, labs_ko.html, about_ko.html, terms.html, terms_ko.html, contact_ko.html, beta.html, and all posts. Every page title, every footer, every meta description, every `` tag. We used global find-replace but still missed some references that surfaced weeks later.</p> <h2>The Technical Debt Left by Repeated Renames</h2> <p>Here's the honest accounting of what multiple renames leave behind:</p> <ul> <li><strong>The URL never changes:</strong> The domain <code>vora.vibed-lab.com</code> is permanently the old name. We can't change it without breaking all indexed links. Users who saved the URL see a URL that doesn't match the product name. This is a real SEO issue that we accepted as the cost of the pivot.</li> <li><strong>Git history contains old names:</strong> Every commit before the rename contains the old project name. This is fine in practice but creates confusion when reading older commit messages that reference "AI Meeting" or "AI Conference Assistant."</li> <li><strong>Console.log statements:</strong> The code still has <code>console.log('[VORA] v5.2 Web Standard Edition Ready')</code> in the app. This is correct. But the early app logs still say "AI Conference Assistant v1.0" in the history. When debugging old sessions, you have to mentally translate.</li> <li><strong>Cached content:</strong> Some users who visited the site pre-rename have "AI MEETING" cached in their browser. We added cache busting headers but can't control what's already in their local cache.</li> </ul> <div class="callout warn"> <strong>Lesson learned:</strong> Choose your product name before you start writing code. The technical debt from renaming is not just the find-replace work — it's the permanent artifact of old names in URLs, git history, and external links that you can never fully clean up. The best time to name your product is before your first commit. The second best time is now, but accept the cleanup cost. </div> <h2>The Korean Name Question</h2> <p>A complication for our bilingual product: VORA works as a brand name in English. In Korean, "VORA" is written as "보라" (bora) in native Korean orthography, which is also a common Korean word meaning "purple" and a common Korean given name. This creates a happy coincidence — Korean users can associate the name with an existing positive concept rather than encountering it as a meaningless foreign syllable sequence.</p> <p>We made a deliberate choice to use "VORA" (the Latin character form) as the primary brand presentation even on Korean pages, rather than "보라." The reason: consistency across markets. International users reading a Korean page should recognize the same VORA brand they know from the English page. And Korean users are comfortable reading brand names in Latin characters — this is standard practice for Korean tech companies.</p> <h2>What "No Sign-up, 100% Free" Means Strategically</h2> <p>One more branding decision worth documenting: the commit "enhance landing page to highlight 'No Sign-up', '100% Free' and full service suite." This was a conscious decision to position VORA's lack of account requirements as a feature rather than a limitation.</p> <p>Many AI tools in our space require account creation, email verification, and increasingly aggressive upsell cycles. VORA's model — bring your own Gemini API key, no account needed — is genuinely different and genuinely user-friendly. Making that prominent in the brand communication required us to be explicit: "Subscription-Free AI Tool, Use Instantly." This is now in the hero badge on the landing page.</p> <p>The brand statement "Empowering professional communication with intelligent AI solutions" in the footer is perhaps more corporate-sounding than we'd like, but it survives because it accurately describes the mission without being misleading. Not every brand statement needs to be edgy. Sometimes professional language signals professionalism to the professional audience you're targeting.</p> <p>If you're building a side project that might become a real product: the name matters more than you think, earlier than you think. Don't name it "descriptive-feature-thing" and expect to rename it cleanly later. It's never clean.</p> </div> </div> <footer> <p>© 2026 VORA. <a href="../blog.html" style="color: var(--primary); text-decoration: none;">Back to Dev Blog</a></p> </footer> <script src="../js/visitor-counter.js"></script> </body> </html>