Case study 05 / Consumer research platform / Brand & product
AKTIV
A mark and a working product, built together. Outdoor brands connect a Shopify catalog and get back real testers, real sentiment, and one dark room to read it in.
getaktiv.org →
The brief
No identity, no product. Only a thesis: outdoor brands guess at what their gear does in the field. Give them proof.
01
A mark that holds at 98px in a collapsed sidebar and still reads as forward motion on a trade-show banner.
02
One room where a brand manager sees their whole catalog, their tester cohort, and the sentiment sitting behind a 3.8 rating.
03
Catalog pulled live from the brand's own Shopify, so onboarding is a connect step. Never a spreadsheet import.
Anatomy ofthe Aktiv mark
Aktiv gets people into sport. The wordmark is a letter that points forward.
- SLANT
- 10°
- DIAGONAL
- 36.5°
- RADIUS
- 0
- OVERSHOOT
- +12.8%
- GAPS
- 0
- MIN SIZE
- 88px
01–07 KEYED TO THE NOTES BELOW
01
36.5° diagonal
The A's outer leg, the K's chevron, and both V strokes sit on one angle.
02
Zero-gap lockup
Letters touch. The word is one mass, which holds up when it shrinks or gets stitched.
03
10° slant
Every vertical leans 10° off upright.
04
Arrow counter
The counter inside the A is an arrowhead, aimed up and canted with the slant.
05
Leg breaks the baseline
The A runs 12.8% below the baseline the other four letters share.
06
Equal stem weight
Diagonals are drawn slightly heavier than uprights so they match optically.
07
Zero radius
Flat terminals, sharp corners. No detail small enough to fill in at 16px.
08
Six paths, no effects
No gradient, shadow, outline, or live text. Six filled shapes. One file for web, print, and stitch.
Fig. 02 · The counter
The A's counter
is an arrow
The A needed a counter. That counter is an arrowhead. Nothing extra was added to the wordmark.
Fig. 03 · Palette
#B776D9
Lifted violet. Used on the A.
#270E34
Near-black plum. Used on the rest of the word.
Range
The ramp between them. The logo itself stays two flats.
Fig. 04 · Clear space
X = half the cap height, 20px against this 240px lockup. Measured off the flat sides of the word, not the A’s overshoot, so the mark never gets crowded.
Fig. 05 · Minimum size
At 88px wide the arrow counter is still open and the T crossbar still reads. Below that, use the icon rather than a wordmark that has turned into a smudge.
Fig. 06 · Lockups
PRIMARY / HORIZONTAL
ICON / APP + AVATAR
GETAKTIV.ORG
STACKED / WITH URL
Fig. 07 · Stress tests
Favicon
The chevron alone. No stem, no wordmark. It still reads at 16px: the counter closes up, the silhouette does not.
Dark ground
On dark, the plum swaps to #EFE3F6, a violet-tinted off-white, not plain gray, and the A holds its #B776D9. A second file, not a filter.
One color
Flattened to a single ink for stitching, screen print and etching. The counter is wide enough to survive a needle.
In thefield
The mark on a shipping box and a five-panel. Same forward A, holding at merchandise scale.


Four parts,seven pages
One panel, one metric, one row, one assistant. Overview, products, testing, feedback, audience, brands and intelligence are all assembled from these.
image
Product
Approved testing product
Test 02
Uses automatic test title
Created 14 Mar 2026
18 survey responses
A product header card, then one nested row per test campaign. Name, survey title, created date, status badge, response count. Cards sit on translucent panel fills.
Products
Testing
Four groups. Products, Testing, Athletes, Intelligence. Each a 13px semibold label over 32px rows. Unbuilt surfaces stay visible at 50% opacity with a COMING SOON badge rather than being hidden, and Live Products carries a pinging emerald dot.
Straps held on a wet 12-mile day
Tester 0231 · 4 days ago
Hip belt rubbed above 25 lb
Tester 0198 · 6 days ago
Quote, tester, elapsed time, sentiment. The sentiment chip is classified server-side, so a brand scans tone before reading a word.
Ali
Which SKU lost the most testers mid-campaign?
Ridgeline 30L. 26% dropped after the week-two survey.
A panel, not a floating bubble. Ali answers against the brand's own scoped data, so the reply is a query result rather than a guess.
Underthe hood
Scoped sessions, a live Shopify catalog, and Stripe for the money that moves behind a brand account.
App
Next.js 15 · React 19. Auth and dashboard route groups, one shell.
Data
Firestore for testers and campaigns. Catalog reads live from each brand's Shopify.
Intelligence
Three model routes. Dashboard chat, survey chat, sentiment classification.
Pay
Stripe settles brand accounts and campaigns. No bolted-on checkout.

600+
Users
50+
Brands via Shopify Collective
7
Dashboard surfaces
Brand and product, built together.
