Brand Guidelines

The VOXYFI identity

A calm, premium system built around a single idea: turning reading into listening. Two nested chevrons that form a V with forward motion, a signature deep-green-to-emerald gradient, and clean Geist typography.

VOXYFI
Download brand kitPress kitLogos, icons, colors, type & social — one ZIP.

Logo

The mark & lockup

The lockup is the primary signature. The mark can stand alone in tight spaces. Always keep clear space around it equal to the chevron's stroke width, and never recolor or distort the glyph.

Primary lockup
Mark on brand gradient
Monochrome (knockout)

Do

  • Use the white glyph on the green gradient tile.
  • Give the logo generous, uncluttered clear space.
  • Use the monochrome mark on photos or busy backgrounds.

Don't

  • Recolor the gradient or use off-brand greens.
  • Stretch, rotate, or add shadows to the glyph.
  • Place the lockup on low-contrast backgrounds.

Animated mark

The nested chevrons bob in a staggered wave for loading and playback states, then settle into the resting mark. Motion is pure CSS and automatically stops for visitors who prefer reduced motion.

Animated (playing)
Resting
Monochrome

Color

A two-tone green system

Deep hunter green grounds the brand; emerald brings energy. The gradient between them is our signature. Warm cream neutrals and a single amber highlight round out the palette. Click any swatch to copy its value.

Typography

Geist, with a Lora accent

Geist is the voice of the product — used for all headings and body. Geist Mono handles code and numeric labels, and Lora adds an editorial touch for long-form reading moments.

Sans — Geist

Aa

Headings & UI. Turn reading into listening.

Serif — Lora

Aa

Editorial accents & quotes for a warm, literary feel.

Mono — Geist Mono

Aa

1.0x · 128 wpm · code

Assets

Icons for every platform

One vector master, exported for iOS, Android, watchOS, the web, and the app stores. Download the individual assets below.

App icon

App icon

512×512 PNG

Maskable

Maskable

512×512 PNG

Apple touch

Apple touch

180×180 PNG

Apple Watch

Apple Watch

1024×1024 PNG

Play Store

Play Store

512×512 PNG

Marketing icon

Marketing icon

1024×1024 PNG

Favicon (vector)

Favicon (vector)

SVG

Favicon

Favicon

ICO 16/32/48

Social & store graphics

Social card

Social card

1200×630

Play feature

Play feature

1024×500

Light promo

Light promo

1200×630

Social media downloads

Highest-quality Voice Chevron assets for profiles and posts — a 2048 px rounded avatar, transparent marks for light and dark backgrounds, and a 2400 px share banner.

Profile avatar

Profile avatar

2048×2048 PNG

Mark (white)

Mark (white)

2048² · transparent

Mark (green)

Mark (green)

2048² · transparent

App icon

App icon

1024×1024 PNG

VOXYFI social share banner

Share banner

2400×1260 PNG

App Store & Play Store screenshots

Store-ready marketing frames at native resolution (iOS 6.7″ · 1290×2796, Android · 1080×1920), localized for every launch market.

Listen screenshot

Listen

1290×2796

Translate screenshot

Translate

1290×2796

AI tools screenshot

AI tools

1290×2796

Email templates

Table-based, inline-styled HTML that renders across Gmail, Outlook and Apple Mail, in matching light and dark variants — each with a plain-text fallback (same copy and placeholders) for maximum deliverability. Swap the placeholders and paste into your ESP.

Branded email header banner, light

Email header · Light

Cream card

Branded email header banner, dark

Email header · Dark

Ink card · emerald CTA

Preview
VOXYFI signature logo

Ada Lovelace

Product · VOXYFI

voxyfi.com

Email signature

Staff template

Dynamic share cards

Every document gets its own branded Open Graph image, rendered on the fly at /og. When a real first-page thumbnail exists it renders a two-column layout with the page preview, title and byline; otherwise it falls back to a centered branded card — no design work per share.

Example share card — With first-page preview + byline

With first-page preview + byline

Open
Example share card — PDF · Spanish · 1,200 words

PDF · Spanish · 1,200 words

Open
Example share card — Article · English · 640 words

Article · English · 640 words

Open

Copy embed

Compose a card, preview it live, and copy a ready-to-paste snippet — Open Graph meta tags, an <img> tag, Markdown, or the raw URL — in one click.

Live preview of the branded share card

Paste into your page <head> for branded Open Graph + Twitter previews.

<meta property="og:image" content="https://www.voxyfi.com/og?title=The+Declaration+of+Independence&kind=PDF&lang=Spanish&words=1200&author=archives.gov" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="https://www.voxyfi.com/og?title=The+Declaration+of+Independence&kind=PDF&lang=Spanish&words=1200&author=archives.gov" />

Setup & automation

Imports, sync & scheduled jobs

How cloud imports, automatic thumbnail generation, and delta-sync are wired — and the environment variables that switch each piece on. Every feature degrades gracefully: nothing here is required for the core app to run.

Cloud import providers

Each provider needs one public key from its developer console. Until the key is set, the provider stays visible in the Add sheet with a “Set up” hint instead of being clickable — so it turns on automatically the moment the key is added, with no code change.

Google Drive

NEXT_PUBLIC_GOOGLE_CLIENT_ID

Full delta-sync

Dropbox

NEXT_PUBLIC_DROPBOX_APP_KEY

Import + origin tracked

Microsoft OneDrive

NEXT_PUBLIC_ONEDRIVE_CLIENT_ID

Import + origin tracked

How delta-sync works

  • On import, every cloud document records its origin — provider, file id, and a change token (Drive modifiedTime, OneDrive eTag, Dropbox rev).
  • When you reopen the Google Drive picker, VOXYFI silently compares your tracked files against their live revisions and re-imports any that changed — refreshing text and cover in place, no duplicates. This reuses the token you just granted, so it needs no extra consent.
  • Token-gated providers (Drive/OneDrive/Dropbox) can only be re-fetched with a live user token, so the actual re-import runs client-side on your next connect — never from a stored credential.

Scheduled jobs (Vercel Cron)

Two daily crons keep everything consistent. Both are secured by CRON_SECRET (sent as a Bearer token) and emit a structured JSON summary to the logs and Vercel cron dashboard for monitoring.

/api/cron/backfill-thumbnails

Daily · 08:00 UTC

Safety-net cover generation for any document missing a thumbnail but with retrievable original bytes. Batched, retry-guarded, idempotent.

/api/cron/sync-cloud

Daily · 09:00 UTC

Delta-sync heartbeat: reports tracked vs. stale cloud documents per provider so drift is observable. Read-only and idempotent.