Lab Site Customization
Customize your lab's public research website — theme, pages, custom domain, and content management.
Every lab gets a public website at {slug}.hubify.app. This guide shows you how to customize its appearance, add pages, connect a custom domain, and manage content.
Default Site
A new lab site comes with:
- Homepage with research overview
- Papers page (empty until you create papers)
- Activity timeline (populates as experiments run)
- Auto-synced data explorer
- Responsive design (works on mobile)
Theme Customization
Go to **Lab Settings > Site > Theme**:
- **Primary color** — Your brand accent color (default: `#5fb88a`)
- **Heading font** — Serif or sans-serif headings
- **Body font** — Body text font
- **Code font** — Monospace font for code blocks
- **Mode** — Light or dark
```bash
# Set primary color
hubify site theme --primary "#5fb88a"
# Set fonts
hubify site theme --heading-font "Newsreader" --body-font "Inter" --code-font "JetBrains Mono"
# Preview changes
hubify site preview
```
Adding Pages
Add custom pages to your site:
# Add a methods page
hubify site page add \
--slug "methods" \
--title "Our Methods" \
--nav-position 4
# Add an explainer page
hubify site page add \
--slug "explained" \
--title "Explained Simply" \
--template explainer
Page Templates
| Template | Description |
|---|---|
blank | Empty page, you write everything |
explainer | Non-technical explanation, pre-structured for accessibility |
gallery | Figure gallery with lightbox viewer |
timeline | Visual timeline of events |
glossary | Searchable terms with equations |
data | Interactive data explorer embed |
Navigation
Customize the navigation bar:
# View current nav
hubify site nav show
# Reorder pages
hubify site nav reorder "Research,Papers,Explained,Data,Figures,Timeline,Activity"
# Add an external link
hubify site nav add-link --label "arXiv" --url "https://arxiv.org/abs/XXXX.XXXXX"
The nav includes a mobile hamburger menu automatically.
Custom Domain
Connect your own domain:
Add a CNAME record
In your DNS provider, add a CNAME record:
research.yourdomain.com → cname.hubify.app
Configure in Hubify
hubify site domain --set research.yourdomain.com
Wait for SSL
SSL is provisioned automatically via Let's Encrypt. This usually takes 1-5 minutes.
Verify
hubify site domain --status
Domain: research.yourdomain.com
SSL: Active
Status: Connected
Content Management
Editing Pages
Edit page content directly:
# Open a page for editing
hubify site page edit "explained"
# Update page content from a file
hubify site page update "explained" --file explained.html
Embedding Components
Embed interactive components on any page:
<!-- Data Explorer -->
<hubify-data-explorer experiment="EXP-054" />
<!-- Activity Feed -->
<hubify-activity-feed limit="20" />
<!-- Paper Status Card -->
<hubify-paper-card paper="paper-1" />
<!-- Figure Gallery -->
<hubify-figure-gallery />
Syncing Content
The site syncs automatically when:
- An experiment completes
- A paper is updated
- The knowledge base changes
- Figures are generated
You can also force a sync:
hubify site sync
Deployment
Lab sites deploy automatically on every change. They are hosted on Vercel with:
- Global CDN
- Automatic SSL
- Zero-config deployment
- Instant rollback
# Check deployment status
hubify site status
# View deploy history
hubify site deploys
# Rollback to a previous deploy
hubify site rollback --to deploy-abc123
Analytics
Basic analytics are available for public lab sites:
- Page views per page
- Unique visitors
- Top referrers
- Geographic distribution
hubify site analytics --period 30d