NEXORA template documentation
NEXORA is a front-end marketing website template for an AI voice agents and customer operations product. Everything shipped here is presentation code: there is no backend, no account system and no live voice service.
This page documents what actually exists in the codebase — routes, components, configuration and form behaviour — so you can rebrand and ship it quickly.
NEXORA is a demonstration brand created for this template. Rename the product, wordmark and copy to your own brand, and carry out your own name, trademark and domain clearance before production use.
Quick start
The project is a TanStack Start application built with Vite, React 19, Tailwind CSS v4 and TypeScript. Package scripts defined in package.json:
bun run dev— start the development server.bun run build— production build.bun run build:dev— build in development mode.bun run preview— preview a build locally.bun run lintandbun run format— ESLint and Prettier.
Bun is the documented and verified package manager for this template. If you choose npm, pnpm or Yarn, regenerate and validate the lockfile and run the complete test and production-build suite before deployment.
Rebranding: name, logo, colors and copy
- Brand and metadata:
src/config/site.tsholds the brand name, tagline, footer description, copyright, production URL, social image path, navigation links, route map, CTA labels, per-page SEO copy and social link placeholders. - Wordmark and logo: the mark is inline markup, not an image file — edit it in
src/components/nexora/navbar.tsxandsrc/components/nexora/site-footer.tsx. Replace the favicon inpublic/. - Colors, type and motion: all design tokens (background, surfaces, borders, accent, shadows, fluid type scale, animation keyframes) live in
src/styles.css. Change the accent token once and it propagates across every section. - Copy: section copy is colocated with its component under
src/components/(grouped bynexora/,product/,solutions/,integrations/,forms/,content/). - Shared UI: reuse
src/components/nexora/primitives.tsx(Button, Eyebrow, SectionHeader, SurfaceCard, MetricCard, StatusBadge, Reveal) rather than introducing new one-off styles.
Routes
Routing is file-based under src/routes/. The route tree in src/routeTree.gen.ts is generated — never edit it by hand.
/— homepage: hero, simulated call interface, integration strip, conversation intelligence, orchestration pipeline, agent builder, use cases, operations, escalation, security, pricing, FAQ and final CTA./product— how the platform works: runtime architecture, voice, knowledge, logic, actions, handoff, observability, fleet, governance and deployment./solutions— use-case explorer and workflow scenarios./integrations— topology, category explorer, execution timeline, connector detail and library./contactand/book-demo— demo-mode forms./docs,/privacy,/terms— this guide and the legal templates./sitemap.xml— generated at request time; the origin is derived from the request unlesssite.urlis set.- Unmatched paths render the branded not-found UI configured in
src/routes/__root.tsx.
Cross-page section links use SectionCta and src/lib/section-nav.ts, which position the target below the sticky header and move keyboard focus to its heading.
Forms and demo-mode submission behaviour
The contact and demo forms are client-side only. Validation, error summaries and focus management run in the browser; nothing is stored, logged or sent anywhere by default.
- Submission is handled by
submitToEndpoint()insrc/components/forms/form-kit.tsx. - With no endpoint configured, the form reports demo mode and explicitly does not claim that a message was transmitted.
- To receive real submissions, set
VITE_CONTACT_FORM_ENDPOINT(used by/contact) andVITE_DEMO_FORM_ENDPOINT(used by/book-demo) to URLs that accept a JSONPOST. - You are responsible for the receiving endpoint: transport security, spam protection, storage, retention and any consent or disclosure requirements that apply to you.
- Update
/privacyto describe what your endpoint actually does with submitted data.
Integrations and third-party names
The integration topology, connector panels and library are illustrative interface designs. No connector performs authentication, data sync or any external action.
Third-party product names appearing anywhere in the template illustrate integration categories and do not imply partnership, endorsement, or a working connection. Before production use, replace them with integrations you genuinely offer, and follow each vendor's trademark and brand guidelines when displaying their name or logo.
Demo metrics, sample conversations and pricing
Every number, transcript and dashboard in the template is fabricated sample content, and is labelled as such in the UI (for example “Illustrative demo metrics” and “Simulation”).
- Hero and dashboard metrics: replace with verified figures you can substantiate, or remove the panels entirely. Keep or adapt the demo labels until the numbers are real.
- Simulated call and transcripts:
src/components/nexora/live-call-card.tsxand the conversation sections animate scripted content on a timer — nothing is recorded or transcribed. - Pricing: tiers, prices and feature lists in
src/components/nexora/pricing-section.tsxare placeholders. Replace them with your commercial terms before launch. - Security and governance panels: written as capability descriptions, not certifications. Do not add compliance claims you have not independently achieved and can evidence.
Accessibility and responsive design
Patterns already in place, and what to re-check after you edit content:
- One H1 per route with a logical H2/H3 hierarchy.
- Visible keyboard focus is preserved; section navigation moves focus to the destination heading.
- Forms use labels, required and aria-required, aria-invalid, described-by error text and an error summary that focuses the first invalid field.
- Decorative visualizations are aria-hidden; data-heavy panels carry text descriptions.
- Animations respect prefers-reduced-motion.
- Layouts are fluid from 1440px down to 390px with no horizontal overflow — re-test after adding long strings.
- Re-check color contrast if you change the accent or surface tokens.
Deployment
The project builds with vite build and runs as a TanStack Start server application — it is not a purely static export, because /sitemap.xml is served by a request handler and pages are server-rendered.
- Install dependencies, then run the production build.
- Set any
VITE_*form endpoint variables in your host's environment before building — Vite inlines them at build time. - Set
site.urlinsrc/config/site.tsto your production origin so canonical URLs,og:urland the sitemap become absolute. - Add a 1200×630 social image to
public/and pointsite.ogImageat it. While it is empty, noog:imagetag is emitted. - Review
public/robots.txtand deploy the build output to a host that supports a Node-compatible server runtime.
Never commit secrets. Only values you are comfortable exposing publicly belong in VITE_* variables, since they are embedded in the client bundle.
Pre-launch checklist
- Renamed the brand everywhere and completed your own name and trademark clearance.
- Replaced or removed every illustrative metric, transcript and dashboard figure.
- Replaced demo pricing with your real commercial terms.
- Removed integrations you do not offer, and complied with vendor brand guidelines for the ones you keep.
- Configured form endpoints and confirmed a real submission arrives.
- Replaced /privacy and /terms with legally reviewed documents.
- Removed any capability wording that overstates what your product does today.
- Set
site.url, SEO copy per route, favicon and social image. - Re-tested keyboard navigation, reduced motion and layouts at 1440px and 390px.
- Ran
bun run lintand a clean production build. - Questions about the template itself? Contact us.