Organization nominates team member
Design principles and guidelines for all Frontira documents and presentations
Core brand elements that apply to all document types
Our Mission: Liberating intelligent people from unintelligent processes.
We know AI & automation deeply
We explain complex things simply
We deliver results, not promises
Technology serves people, not the other way around
Use the appropriate logo version based on the background color.
assets/frontira-logo-purple.svg
assets/frontira-logo-white.svg
Every element should serve a purpose. Remove anything that doesn't add value. If it needs explanation, simplify it.
Consistent layouts across all materials. Clear visual hierarchy guides the eye. White space is not wasted space.
Use diagrams over paragraphs. Real examples over abstract concepts. Data over adjectives.
Purple adds energy without being aggressive. Photography of real team, not stock. Patterns add life without distraction.
Light mode (default):
Dark sections (cover, contact):
Poppins — Modern, geometric, highly readable. Used across all documents.
Based on 4px grid. Use consistent spacing throughout all documents.
| Token | Value | Usage |
|---|---|---|
space-1 | 4px | Tight spacing |
space-2 | 8px | Related elements |
space-4 | 16px | Standard gap |
space-6 | 24px | Section spacing |
space-8 | 32px | Large sections |
space-12 | 48px | Page sections |
Use circular crop for all team photos. Show name and role below each photo.
| Context | Size | File |
|---|---|---|
| Documents | 48px | assets/team-{name}.png |
| Presentations | 100px | assets/team-{name}.png |
| Carousels | 80px | assets/team-{name}.png |
Display client logos in grayscale with reduced opacity. Use grid layout with equal columns.
grayscale(100%)assets/client-logo-{name}.svgEach document gets a unique pattern generated for cover and contact pages.
Use cards to group related information. Default background is light gray, highlight cards use light purple.
Background: #F8F8F8, border-radius: 8px, padding: 20px
Background: #E8E3F3 — Use for key information
Use light gray header background. No vertical borders.
| Phase | Duration | Focus |
|---|---|---|
| Discovery | 1 week | Requirements gathering |
| Build | 3 weeks | Development & testing |
| Launch | 1 week | Deployment & handover |
Use purple gradient for primary CTAs. Secondary buttons use light gray.
Use for mission statements, key quotes, or vision statements.
The Vision: Launch a handpicked cohort of AI innovators and build a network of "go-to AI people" with hands-on experience.
Use colon (:) as separator between label and description
Example: "Phase 1: Discovery"
Never use em dash (—) in text
Wrong: "Phase 1 — Discovery"
Use comma (,) for mid-sentence pauses
Example: "We build solutions, not presentations"
Don't use em dash for pauses
Wrong: "We build solutions — not presentations"
Specific guidelines for each document format
A4 Portrait documents for proposals, offers, reports, and contracts. Format: 210mm × 297mm
| Page Type | Background | Page Number |
|---|---|---|
| Cover | Purple gradient + pattern | None |
| Executive Summary | White | 2 |
| Content Pages | White | 3, 4, 5... |
| About Frontira | White | Second-to-last |
| Contact | Purple gradient + pattern | None |
| Element | Size | Weight |
|---|---|---|
| Cover title | 42px | Semibold (600) |
| Section heading (h2) | 18px | Semibold (600) |
| Subsection (h3) | 13px | Semibold (600) |
| Body text | 11px | Regular (400) |
| Captions | 9px | Regular (400) |
16:9 Landscape slides for pitch decks, workshops, training, and client meetings. Format: 960px × 540px
Every presentation slide must embody our four core principles:
| Slide Type | Background | Usage |
|---|---|---|
| Title | Purple gradient + pattern | Opening slide with presentation title |
| Statement | White | Key message, single powerful line |
| Mission | Black (#292929) | Mission statement or bold claim |
| Content | White | Bullets, diagrams, tables, data |
| Contact | Purple gradient + pattern | Closing slide with team photo |
Apply "Clarity Over Cleverness" ruthlessly to every slide:
"Structure Creates Trust" means consistent, predictable layouts:
| Element | Position | Alignment |
|---|---|---|
| Slide title | Top-left, 48px from edge | Left-aligned |
| Subtitle | Below title, 8px gap | Left-aligned |
| Main content | Center area, 48px margins | Left-aligned or centered |
| Page indicator | Bottom-right corner | Right-aligned |
| Logo | Bottom-left corner (content slides) | 14px height |
"Show, Don't Tell" defines what content types to prefer:
| Element | Size | Weight | Color |
|---|---|---|---|
| Title slide heading | 48px | Semibold (600) | White (on purple) |
| Slide title | 32px | Semibold (600) | #292929 |
| Subtitle | 18px | Regular (400) | #666666 |
| Body text | 16px | Regular (400) | #292929 |
| Captions | 12px | Regular (400) | #999999 |
| Data numbers | 48px | Bold (700) | #6F43D5 |
| Slide Type | Background | Text | Accents |
|---|---|---|---|
| Title | Purple gradient | White | Acid Yellow, Cyan, pattern at 15% |
| Statement | White | #292929 | Purple for emphasis |
| Mission | #292929 | White | Acid Yellow, Cyan |
| Content | White | #292929 | Purple for headings |
| Contact | Purple gradient | White | Acid Yellow, Cyan, pattern at 15% |
Keep it professional. Animations should be invisible:
LinkedIn carousel posts for thought leadership and engagement. Format: 1080px × 1080px (square)
| Slide | Background | Content |
|---|---|---|
| Cover | Purple gradient + pattern | Big promise + outcome |
| Content 1 | White | Problem / context |
| Content 2 | White | Core idea / approach |
| Content 3 | White | How it works (3-5 bullets) |
| CTA | White | Next steps + call to action |
| Contact | Purple gradient | Team photo + contact info |
| Element | Size | Weight |
|---|---|---|
| Cover title | 56px | Semibold (600) |
| Slide title | 40px | Semibold (600) |
| Body text | 24px | Regular (400) |
| Bullets | 22px | Regular (400) |
| Kicker | 16px | Medium (500) |
| Brand bar | 14px | Medium (500) |
The final slide shows the contact person with their details.
Visual elements for explaining processes, systems, and interfaces.
Use for sequential processes or journeys. Always include a header.
Organization nominates team member
5 days of hands-on building
Deploy solution locally
Use for system or data flow visualization. Group related components with headers.
Use for showing interface examples. Always on its own page with h2 headline and explanation.
Unique contour patterns for documents and presentations. Each document gets a unique pattern generated from a seed value.
Use the Pattern Generator tool in the Frontira App to create and preview patterns interactively.
Six built-in color presets for different use cases.
| Preset | Outer Color | Inner Color | Background | Use Case |
|---|---|---|---|---|
frontira | #6F43D5 | #C5B7E7 | #F8F8F8 | Default, proposals |
cyan | #6F43D5 | #8BDDD3 | #F8F8F8 | Tech, innovation |
acid | #6F43D5 | #EAFF95 | #292929 | Dark mode, bold |
sand | #292929 | #D6CEC0 | #F8F8F8 | Neutral, corporate |
mono | #292929 | #EEF0F1 | #FFFFFF | Minimal, clean |
invert | #C5B7E7 | #6F43D5 | #F8F8F8 | Alternative purple |
Programmatic pattern generation for automation and integrations.
GET /api/generate-pattern
API key required via header or query parameter:
X-API-Key: your-api-key header?apiKey=your-api-key query parameter| Parameter | Type | Default | Description |
|---|---|---|---|
seed | integer | random | Seed for reproducible patterns |
preset | string | frontira | Color preset name |
colorOuter | hex | #6F43D5 | Outer contour color |
colorInner | hex | #C5B7E7 | Inner contour color |
backgroundColor | hex | #F8F8F8 | Background color |
contourCount | integer | 40 | Number of contour lines |
blobSize | integer | 180 | Size of the pattern blob |
strokeWidth | float | 1 | Contour line thickness |
width | integer | 600 | SVG width in pixels |
height | integer | 600 | SVG height in pixels |
GET /api/generate-pattern?apiKey=KEY&seed=12345&preset=cyan
POST /api/generate-pattern
Content-Type: application/json
X-API-Key: your-api-key
{
"seed": 12345,
"preset": "acid",
"contourCount": 50,
"width": 800,
"height": 800
}
{
"status": "success",
"seed": 12345,
"svg": "<svg xmlns=...>...</svg>",
"base64": "data:image/svg+xml;base64,..."
}
pattern-{client}-{project}.svg