Rock Spotter Design System
Complete visual design system and style guide for the Rock Spotter platform.
π¨ Color Palette
Primary Colors
The primary palette uses earthy, natural tones inspired by rocks and geology, creating a warm and welcoming experience.
Primary Brown
- Main:
#6B5B4C - Warm brown reminiscent of sedimentary rocks
- Light:
#8F7E6F - Lighter shade for hover states
- Dark:
#4A3D32 - Darker shade for emphasis
- Usage: Primary buttons, active states, headers
Secondary Sage Green
- Main:
#7C9082 - Natural sage green representing outdoors
- Light:
#A5B8AA - Lighter variant
- Dark:
#5A6B5E - Darker variant
- Usage: Secondary actions, accents, highlights
Rock Type Colors
Each rock type has its own signature color for easy visual identification:
| Rock Type |
Color |
Hex Code |
Icon |
| Igneous |
Volcanic Red |
#D84A3F |
π |
| Sedimentary |
Sandy Beige |
#D4A574 |
ποΈ |
| Metamorphic |
Slate Blue |
#6B8E9F |
β°οΈ |
| Mineral |
Crystal Purple |
#8B7B9B |
π |
| Fossil |
Fossil Brown |
#8B7355 |
𦴠|
| Other |
Neutral Gray-Green |
#7A8B8B |
πͺ¨ |
Hunt Difficulty Colors
Visual indicators for hunt difficulty levels:
- Easy:
#81C784 (Light Green) β
- Medium:
#FFB74D (Amber) ββ
- Hard:
#E57373 (Light Red) βββ
Achievement Rarity
Color-coded achievement badges by rarity:
- Common:
#9E9E9E (Gray) π₯
- Rare:
#64B5F6 (Blue) π₯
- Epic:
#BA68C8 (Purple) π₯
- Legendary:
#FFD54F (Gold) π
Background Colors
Light Mode
- Primary:
#FAFAF8 - Off-white with warm tone
- Secondary:
#F5F3F0 - Light beige
- Card:
#FFFFFF - Pure white for content cards
Dark Mode
- Primary:
#1E1E1E - True dark background
- Secondary:
#2C2C2C - Slightly lighter
- Card:
#2C2C2C - Dark cards
Text Colors
Light Mode
- Primary:
#2D2D2D - Almost black for main text
- Secondary:
#666666 - Medium gray for supporting text
- Tertiary:
#999999 - Light gray for hints/captions
Dark Mode
- Primary:
#E8E8E8 - Almost white for main text
- Secondary:
#B0B0B0 - Light gray for supporting text
- Tertiary:
#808080 - Medium gray for hints/captions
π Typography
Font Families
Primary Font: Inter
- Purpose: UI text, buttons, labels, body text
- Characteristics: Clean, modern sans-serif with excellent readability
- Weights: Regular (400), Medium (500), SemiBold (600), Bold (700)
Secondary Font: Merriweather
- Purpose: Rock descriptions, longer content, quotes
- Characteristics: Serif font that adds elegance and readability
- Weights: Regular (400), Italic, Bold (700)
Monospace: Roboto Mono
- Purpose: Coordinates, technical data, codes
- Characteristics: Fixed-width for aligned technical information
Font Scale
| Size Name |
Pixels |
Usage |
| XXS |
10px |
Tiny labels, badges |
| XS |
12px |
Captions, metadata |
| SM |
14px |
Supporting text |
| MD |
16px |
Body text (default) |
| LG |
18px |
Emphasized text |
| XL |
20px |
Subheadings |
| XXL |
24px |
Section headers |
| XXXL |
28px |
Page titles |
| Display 1 |
32px |
Large headings |
| Display 2 |
36px |
Hero text |
| Display 3 |
40px |
Marketing headers |
| Display 4 |
48px |
Extra large display |
Line Heights
- Tight: 1.2 - For large headings
- Normal: 1.5 - Default for most text
- Relaxed: 1.75 - For longer content
- Loose: 2.0 - For very spacious layouts
π² Spacing System
Based on an 8px grid system for consistency:
| Name |
Value |
Usage |
| XS |
4px |
Tiny gaps, icon spacing |
| SM |
8px |
Small padding, compact layouts |
| MD |
16px |
Default spacing, card padding |
| LG |
24px |
Section spacing |
| XL |
32px |
Large sections |
| XXL |
48px |
Major separations |
| XXXL |
64px |
Screen sections |
Component-Specific Spacing
- Screen Padding: 16px (consistent edge padding)
- Card Padding: 16px (internal card content)
- Section Spacing: 24px (between major sections)
- List Item Spacing: 12px (between list items)
π Border Radius
Rounded corners for a friendly, modern feel:
- None: 0px - Sharp corners
- XS: 4px - Subtle rounding
- SM: 8px - Default for most elements
- MD: 12px - Cards, modals
- LG: 16px - Large cards
- XL: 24px - Hero elements
- Round: 9999px - Fully circular (avatars, badges)
π Shadows & Elevation
Subtle shadows create depth and hierarchy:
Shadow Levels
- None: No shadow (flat elements)
- SM: Subtle lift (small cards, chips)
- MD: Default elevation (cards, buttons)
- LG: Prominent (modals, dropdowns)
- XL: Floating (overlays, notifications)
Dark Mode Shadows
Shadows are darker and more prominent in dark mode for better visibility.
π Icons
Icon Set
Using emoji-based icons for cross-platform consistency and charm:
Navigation Icons
- Home: π
- Discover: π
- Map: πΊοΈ
- Hunts: π
- Profile: π€
Action Icons
- Like: β€οΈ
- Comment: π¬
- Share: π€
- Location: π
- Camera: πΈ
- Add: β
- Edit: βοΈ
- Delete: ποΈ
Achievement Icons
- Trophy: π
- Star: β
- Medal: π
- Crown: π
- Gem: π
- Fire: π₯
Icon Sizes
| Size |
Pixels |
Usage |
| XS |
12px |
Inline icons |
| SM |
16px |
List icons |
| MD |
24px |
Default buttons |
| LG |
32px |
Large buttons |
| XL |
48px |
Feature icons |
| XXL |
64px |
Hero icons |
β¨ Animations
Duration Standards
- Fast: 150ms - Quick transitions, hovers
- Normal: 300ms - Default animations
- Slow: 500ms - Complex transitions
Easing Functions
- Linear: Constant speed
- Ease-In: Slow start, fast end
- Ease-Out: Fast start, slow end (preferred for most UX)
- Ease-In-Out: Smooth acceleration and deceleration
π± Responsive Breakpoints
| Breakpoint |
Width |
Device Type |
| XS |
320px |
Small phones |
| SM |
375px |
Standard phones |
| MD |
414px |
Large phones |
| LG |
768px |
Tablets |
| XL |
1024px |
Large tablets/small desktops |
π― Design Principles
1. Natural & Earthy
- Color palette inspired by rocks, stones, and nature
- Warm, welcoming tones that evoke outdoor exploration
- Organic shapes and rounded corners
2. Clear & Readable
- High contrast text for accessibility
- Generous spacing and clear hierarchy
- Large touch targets (minimum 44x44px)
3. Consistent & Predictable
- Systematic spacing using 8px grid
- Consistent color usage across features
- Predictable interaction patterns
4. Fun & Engaging
- Emoji icons add personality and approachability
- Achievement colors create excitement
- Playful rock type colors make categories memorable
5. Accessible
- WCAG AA compliant color contrast
- Dark mode support for low-light environments
- Clear visual indicators and states
πΌοΈ Component Examples
Primary Button
- Background: Primary Brown (#6B5B4C)
- Text: White
- Border Radius: 8px
- Padding: 12px 24px
- Shadow: MD
Secondary Button
- Background: Secondary Sage (#7C9082)
- Text: White
- Border Radius: 8px
- Padding: 12px 24px
- Shadow: SM
Text Button
- Background: Transparent
- Text: Primary Brown (#6B5B4C)
- No shadow
Card Styles
Standard Card
- Background: White (Light) / #2C2C2C (Dark)
- Border Radius: 12px
- Padding: 16px
- Shadow: MD
- Border: 1px solid #E0E0E0 (Light) / #3A3A3A (Dark)
Rock Card
- Includes image at top
- Rock type badge in corner (colored by type)
- Title, description, location
- Like/comment counts at bottom
Text Input
- Background: White (Light) / #2C2C2C (Dark)
- Border: 1px solid #E0E0E0
- Border Radius: 8px
- Padding: 12px 16px
- Focus: 2px border in Secondary Sage
π Layout Guidelines
Grid System
Use 16px padding on screen edges, 24px spacing between major sections.
Content Width
Maximum content width: 600px for optimal readability on larger screens.
Safe Areas
Account for device notches and rounded corners with proper safe area insets.
π¨ Usage Examples
Rock Post Card
βββββββββββββββββββββββββββββββ
β [Rock Photo - Full Width] β
β π Igneous β
βββββββββββββββββββββββββββββββ€
β Beautiful Granite Boulder β
β Found near the river... β
β π San Francisco, CA β
β β
β β€οΈ 24 π¬ 5 π€ @rockfan β
βββββββββββββββββββββββββββββββ
Hunt Card
βββββββββββββββββββββββββββββββ
β Downtown Rock Hunt β
β ββ Medium Difficulty β
βββββββββββββββββββββββββββββββ€
β Find 5 hidden rocks in β
β downtown area! β
β β
β Progress: ββββββββββ 5/10 β
β π₯ 23 participants β
β β° Ends in 3 days β
βββββββββββββββββββββββββββββββ
Achievement Badge
ββββββββββββββββ
β π β
β First Rock β
β [RARE] β
ββββββββββββββββ
π State Indicators
Interactive States
- Default: Base colors
- Hover: 8% opacity overlay of primary color
- Active/Pressed: 12% opacity overlay
- Disabled: 50% opacity, gray colors
- Focus: 2px border in focus color
Loading States
- Use skeleton screens with subtle pulse animation
- Loading spinners in primary color
- Disabled state for buttons during loading
π Implementation
React Native Usage
import { theme } from './src/theme';
// Using colors
<Text style=>
Hello World
</Text>
// Using typography
<Text style=>
Heading
</Text>
// Using spacing
<View style=>
Content
</View>
π¨ Brand Assets
Logo Specifications
The Rock Spotter logo should:
- Use the primary brown color
- Include a simple rock or mountain icon
- Be legible at small sizes (16x16px minimum)
- Work in monochrome for versatility
App Icon
- Background: Primary Brown gradient
- Icon: Stylized rock or gem in white/cream
- Rounded corners per platform guidelines
- Include small magnifying glass detail
Last Updated: October 2025
Version: 1.0
For questions or suggestions about the design system, please open an issue or contact the design team.