Library

Personal design study · Published

Based on BTD6 Challenge Lens

JungleChallengeBoard

Exploring skeuomorphic interface design through a passion project based on my favorite game, Bloons TD 6.

  • Skeuomorphic
  • Tactile
  • Playful
  • Light and dark
  • Product UI
Open design guide
Works well for
Playful companion utilities · Hobby and game-adjacent tools · Learning and discovery products · Skeuomorphic consumer workflows
Less suited to
Dense enterprise operations · Clinical or legal decision support · Restrained luxury products · Urgent monitoring surfaces

01

Primary surface

A skeuomorphic design study for Challenge Lens.

The design uses familiar physical cues for digital actions: wood frames the work, paper holds content, inset fields accept input, raised controls move when pressed, and enamel markers show status. Every value shown here is synthetic.

Responsive product previewSynthetic content · Original CSS art
Primary idea
A skeuomorphic design study for a Bloons TD 6 passion project.
Material model
Wood frames work; paper holds content; plastic moves; wells accept input; enamel marks status.
Theme model
Light and dark themes keep the same material roles.
Published source
Scoped tokens are copyable; product components remain reference-only.

02

Visual thesis

A passion project about skeuomorphic design.

The design explores how physical materials can make a digital interface feel more tactile without copying the game’s menus. Each material has a consistent role across the product.

I wanted to explore skeuomorphic design through a passion project based on my favorite game, Bloons TD 6.

  1. 01

    TactileRaised, inset, framed, and enamel layers have different behavioral meanings.

  2. 02

    LegibleHighlights model light; lower edges and inner shadows clarify control boundaries.

  3. 03

    FriendlyRounded type and warm materials invite the first action.

  4. 04

    TrustworthyFacts, interpretations, and unknowns keep distinct labels.

  5. 05

    FastCSS materials, scoped styling, and lazy heavy work keep the content first.

03

Five decisions

How the visual system works.

Each decision connects a physical cue to behavior, theme, authorship, or evidence so the skeuomorphic details remain useful.

01Design rule

Make skeuomorphism the interface grammar: raised plastic moves, inset wells accept input, wood frames work, and paper carries content.

Problem
A playful visual skin does not explain which objects move, accept input, hold work, or simply label information.
Consequence
The interface communicates behavior through material roles before a person reads the labels.
02Design rule

Build an original visual language from CSS materials, original glyphs, and independent typography.

Problem
Game-adjacent tools often borrow the game’s interface until the product has no identity of its own.
Consequence
The interface stays recognizable even when every optional third-party image is blocked.
03Design rule

Limit depth to four physical layers: environment, framed surface, raised or inset control, and enamel marker.

Problem
Unbounded highlights, shadows, and bevels turn skeuomorphism into visual noise.
Consequence
Every highlight and shadow has a named job; ordinary text and flat links stay flat.
04Design rule

Keep semantic roles stable while changing the light, shadow, and surface values for night.

Problem
A dark theme made by inverting a light palette loses material logic and often weakens contrast.
Consequence
Day and night feel like the same product in different conditions rather than separate skins.
05Design rule

Lead with a useful reveal, then separate exact facts, product interpretation, and unknown values.

Problem
A friendly physical metaphor can make a technical conclusion feel more certain than its evidence allows.
Consequence
The tactile surface welcomes exploration without disguising how each conclusion was produced.

04

Foundations

Materials communicate interaction.

The system uses four depth layers. Bevels, inner shadows, and cast shadows show what each object does, while the light and dark themes preserve the same meaning.

04.1 · Material stack

Four layers, four jobs.
01 · EnvironmentJungle clearing

Original CSS foliage, light, and terrain sit behind the product and never repeat as wallpaper.

02 · Framed surfaceRouted wood

One structural rim, one top highlight, one lower edge, and one ambient shadow contain the work.

03 · Raised / insetPlastic and wells

Raised controls travel about 3 px; recessed fields use an upper inner shadow and lower highlight.

04 · Enamel markerCompact signal

A thin rim and small glint mark status without turning every label into an object.

?

04.2 · Semantic color

Roles stay stable; material light changes.
01

Day canvas

Parchment-lit page environment.

#F6EACB
02

Night canvas

Jungle field at night.

#14201A
03

Day surface

Main framed work surface.

#FFF8E8
04

Night surface

Main framed work surface after dark.

#1F3027
05

Mango

Single primary action and tactile signal.

#E89135
06

Jungle

Playable or positive secondary action.

#237A53
07

River

Links, source facts, information, and focus.

#2B6FA8
08

Banana

High-attention factual marker.

#F4C150
09

Day text

Primary copy on light materials.

#25323B
10

Night text

Primary copy on dark materials.

#F9EDCE
11

Day danger

Actual errors or destructive meaning.

#B83D42
12

Night focus

Visible keyboard focus after dark.

#8CCBFF

04.3 · Type and identifiers

Display and body type.
DisplayFredokaHeadings

Pick a challenge to decode.

UtilityNunito SansInterface

Plain-language explanation leads. Exact source evidence stays nearby, readable, and explicit about what the system does not know.

PINE042 · 63 → 630123456789 · Codes use tabular figures and one body family.
Spacing4 px rhythm

Compact internal gaps support technical evidence; larger section gaps preserve a calm reading order.

Shape6 → 28 px

Small radii carry compact details; 20 px frames the main work; pills belong only to brief statuses and groups.

DepthBehavioral

Actions rise, inputs sit inset, and boards hold notes. Flat links and ordinary copy stay flat.

Motion90 → 240 ms

Press and reveal feedback stays short, flow-safe, and removable under reduced motion.

05

Responsive system

The layout changes, but the priority stays the same.

Desktop has room for wider compositions. Narrow layouts keep the same reading order and stack content before side-by-side layouts cause overflow.

Wide

One hero, one board, three notes.

  • Copy and focal art share the opening frame.
  • The primary tool stays constrained.
  • Discovery notes use three columns.
  • Comparison uses fact / first / second rows.

Narrow

Compact header, one work column.

  • Theme choices move into an anchored menu.
  • Inputs and primary actions stack.
  • Badges wrap and notes use one column.
  • Comparison values stack beneath the fact.

Stable order

01Action or selected item02Plain-language reveal03Player consequence04Exact evidence05Source and ownership

06

Component language

A small set of tactile patterns.

These examples show the source’s wood, paper, raised controls, inset fields, and enamel markers. They document the implemented behavior without presenting the product-specific React components as reusable packages.

App-specific

Material anatomy

Pattern in use

Raised action, inset field, and enamel marker shown as distinct physical layers, including the source control’s 3 px press travel. Source: Challenge Lens src/styles.css.

Variations
primary, secondary, quiet, disabled, focus, active, pending

App-specific

Pinned field note

Pattern in use

A paper slip pinned to the routed noticeboard, with visible paper thickness, feed marker, code stamp, device markers, and one raised open action. Source: ChallengeBoardView.tsx and challenge-board.css.

Variations
default, saved, viewed, focus, loading, long title

App-specific

Status surface

Pattern in use

Specific pending and failure language in the same visual register as the successful workflow. Source: ChallengeStatusView.tsx.

Variations
pending, invalid, unavailable, timeout, contract mismatch, retry
Theme switch

System · Light · Dark · compact menu

Reference-only · product theme module and root boot script
Challenge Card

Reveal · fingerprint · impact · evidence · map fallback

Reference-only · domain models, routing, and product copy
Comparison notes

Empty · invalid · failure · equal · success

Reference-only · deterministic comparison contracts
Share dialogs

Loading · ready · error · copy · Escape · focus return

Reference-only · renderer and sharing services

07

Applied screens

The same system across three product surfaces.

These source-shaped examples show the decoder, a challenge result, and comparison notes. Text and challenge values remain synthetic; the approved Etienne field-scout image is loaded from Challenge Lens’s controlled asset route.

Source-asset note: the decorative Etienne field scout is displayed with the project owner’s confirmed permission. Bloons TD 6 and related game assets are owned by Ninja Kiwi. The image remains supplementary, credited, and excluded from portable tokens, registry source, and generated share output.

08

Accessibility + states

Core states and recovery are included.

The visual system accounts for focus, keyboard use, loading, absence, failure, disabled actions, image loss, forced colors, both themes, and reduced motion.

Focus3 px river-blue ring

Visible outside bevels, shadows, and overflow boundaries.

LoadingDestination-shaped

Reserved dimensions, polite status copy, and no hidden detail request.

EmptyCause stays specific

No source items and no local filter match receive different explanations.

ErrorTitle · reason · recovery

Validation, timeout, upstream, compatibility, rendering, and clipboard failures stay distinct.

DisabledReadable, not merely faded

Labels and semantics preserve meaning when an action is unavailable.

Image failureOriginal fallback

Names and analysis remain useful while optional imagery keeps its dimensions.

Forced colorsNative boundaries

Decorative shadows step aside so controls and glyph silhouettes remain visible.

Reduced motionImmediate state change

Non-essential transforms and transition durations collapse without losing hierarchy.

Current evidence

Semantic source trace · tested state components · deployed home, board, result, and comparison inspection · local light/dark inspection · 390 px overflow checkThis study does not claim a new screen-reader audit or complete manual WCAG conformance review.

09

Implementation

The design is built mostly with CSS.

The source uses React and TanStack Start, while the material design comes from semantic variables, gradients, edge and shadow layers, route-scoped CSS, and small interaction boundaries.

Rendering

Server-rendered content.

Route loaders and server rendering establish home, board, result, comparison, pending, and failure content before client enhancement.

Styling

Core and route-specific CSS.

Global materials serve the decoder and results. Board and comparison CSS stay route-scoped so other screens do not pay for them.

Imagery

Imagery stays optional.

Original CSS environments and glyphs carry the identity. Source map and character imagery stay supplementary, credited, and failure-tolerant.

Current source build

87.41 kBShared client gzip12.83 kBShared CSS gzip4.94 kBBoard CSS gzip1.62 kBComparison CSS gzipMeasured from the July 19, 2026 local production build. Server-only image libraries contribute no intentional client code.

10

Lessons + limits

Use skeuomorphism where it helps.

The direction avoids copying the source game and does not give every container the same bevel, radius, or shadow.

Why I made it

I wanted to explore skeuomorphic design while making a passion project around my favorite game, Bloons TD 6.

The Challenge Lens interface is original rather than a copy of the game’s menus. Its layout, controls, materials, glyphs, and fallback artwork were designed for the project.

The rendered study shows the approved Etienne field-scout image through Challenge Lens’s controlled asset route as source evidence. That image is not included in the portable tokens or registry source.

What defines it

The skeuomorphic details have clear roles. Wood contains work, paper carries content, raised controls move, inset fields accept input, and enamel markers show status. Those roles remain consistent in both themes.

Source facts, product interpretations, and unknown values also keep separate labels so the interface does not overstate what it knows.

Limits and reuse

The direction is too expressive for dense, urgent, formal, or prestige-oriented products. Its typography and scenery should never slow the primary task, reduce contrast, or hide focus.

The source React components remain reference implementations because they retain Challenge Lens data, routing, persistence, and API assumptions. Formwork publishes the guide and scoped token layer without bundling game imagery into those portable artifacts or making an installability claim.

Good limit

Keep the tone clear.

Plain language, calm density, and precise error copy keep the playful style from weakening important information.

Good limit

Unknown stays unknown.

The product would rather show an evidence gate than invent a confident badge from an undocumented value.

Bad fit

Urgent or formal work.

Dense operations, clinical decisions, and restrained luxury products need a quieter material register.

Portability limit

Components keep their domain.

The current source depends on Challenge Lens data and routing, so the reusable artifact stops honestly at tokens and decisions.

11

Design materials

Reusing the system.

Start with the guide and scoped token layer, then rebuild the components around the next product’s content and states.

Recommended sequence

  1. Scope and load the token file.
  2. Self-host Fredoka and Nunito Sans or approved equivalents.
  3. Assign raised, inset, framed, paper, or flat roles before adding scenery.
  4. Implement both themes and the complete operational-state set.
  5. Add only enough original material language to make the direction recognizable.
The rendered study includes one approved, credited Etienne image as source evidence. It includes no live API payload, user data, bundled game-asset registry source, or installable-registry claim.