river chart
Cardumi's visual language comes from Brazil's rivers: the river at night, the sand of the river beach in the dry season, urucum (annatto), the turquoise blue of the Tapajós and nautical charts. Nothing here is an off-the-shelf standard: typeface, color, button, spacing and writing style were all designed for this product.
the school and the word
symbol
Three fish in formation, from largest to smallest, swimming up and forward: the school. Urucum in front, turquoise in the middle, sand (or ink, on a light background) behind. The eye is cut out. Vector concept generated in Higgsfield and redrawn to work at 16 px.
word
"cardumi" in Anybody 850, width 110%, lowercase. It comes from "cardume" (Portuguese) and "cardumen" (Spanish): a lot of fish together, like the community of people who fish in Brazil and Latin America.
usage
On night or sand. Never in uppercase, never outlined, never over a light photo without the dark mask. Minimum clear space: the height of the front fish.
colors named after fishing things
index ramp
From cold blue to gold, passing through turquoise and green: a scale that color-blind people can read too. Red never enters the ramp: it's only for danger and prohibition. Urucum is only for action (buttons).
two families, four roles
headings · Anybody (variable, width 50–150)
good fishing isn't luck
Lowercase, weight 800–900, width 118–130%, line height 0.9. Wide like a river horizon. The full slogan, "good fishing isn't luck. it's reading, preparation and skill.", sets the second sentence in the lure color at half the size.
text · Atkinson Hyperlegible Next
Designed for maximum legibility. On the boat, in harsh sun with a screen smeared with water, every letter stays unmistakable.
interface · Atkinson Hyperlegible Next
menulabelsbuttons
The menu, labels, buttons, chips and tables use the same family as the body text: clean, legible and noise-free. Labels in small uppercase with letter-spacing.
numbers · Anybody with tabular figures
78 · 1,009 hPa · 05:23
Featured number (index, result, statistic) in the heading font, with fixed-width figures so they don't "jump around" when the value changes. Every number comes with a unit.
the gear scale
From fishing line to open sea. Small components use line through float; sections use boat through sea.
lure, card, ring, display
"Float" button: a full pill. The primary is urucum, with the arrow on a round float at the tip, which moves forward when the finger arrives; the secondary has a thin outline and lights up turquoise; the ghost is text only. No hard shadow: the button rises slightly and glows.
Ring: the swivel ring, for labels and filters.
card
Catalog card with the top-right corner cut off, like a lure packaging tag. Card number in the interface font, small.
month bar
Prohibited: closed season always in float orange, no euphemisms.
Caution: cold front, heat, heavy rain.
1.75 px stroke, rounded corners
riverbank voice
- Titles in lowercase, no period, short: "what to fish for today".
- Short sentences, verbs in the imperative in the steps: "Set the drag to 25% of the line."
- Numbers always with a unit and in local format: 1,009 hPa, 12.4 kg, 05:23.
- Rules always come with a source: regulation, agency and link. When in doubt: "confirm with your state agency".
- A forecast is a probability: state the confidence and what the model doesn't know.
- Anglers' terms are welcome (rodada, batida, estofo); the glossary explains them.
- Slogan: "good fishing isn't luck. it's reading, preparation and skill." Only in the hero, the footer, sharing and the description. Never as a section title.
- No "amazing", "fantastic", emoji or exclamation marks.
- Never promise fish: the index reads conditions.
- No euphemisms for prohibition: "prohibited" means "prohibited".
- No inline styles: every color and shape comes from the tokens in pesca.css.