Compliance Hub Β· Next-Level UI

Premium Polish
for Otto's Foundation

Animations, transitions, micro-interactions, and loading states that transform a functional interface into a product that feels right.

12 enhancements Β· All interactive Β· Click & hover to explore

01 Β· Animation

Staggered Page Load

Content enters with choreographed timing β€” hero first, then cards, then details. Each layer fades up with a slight vertical offset, creating depth and guiding the eye.

Click Replay ↓

πŸ“‹ Compliance Hub

Australian building & product compliance research

πŸ”₯
Fire Safety
847 clauses
πŸ—οΈ
Structural
612 clauses
πŸ’§
Waterproofing
334 clauses

13 skill domains Β· 42 standards Β· Verified corpus

Every clause triple-checked by Opus. No sampling. Safety-critical accuracy.

⏱ Low effort · CSS-only, no JS dependencies
02 Β· Transition

Query Submit Flow

When a query is submitted, the input area smoothly compresses upward while the response area expands below β€” a fluid hand-off that maintains spatial context.

Click the send button ↓

Direct Answer

Internal doors in a Class 2 building must comply with fire resistance requirements in NCC Volume One. Doors forming part of a fire-resisting separation between SOUs or between an SOU and a public corridor must achieve an FRL of –/60/30 per Table C3D10.

βœ… Verified πŸ”— Cross-ref AS 1905.1
⏱ Low effort · CSS transitions + one class toggle
03 Β· Animation

Streaming Response

AI responses appear character-by-character with a blinking cursor, matching the streaming API delivery. Gives users something to read immediately instead of waiting for the full response.

Click Replay ↓
⏱ Low effort · ~20 lines of JS, works with streaming API
04 Β· Animation

Citation Pop-In

Citation badges spring into view with a bouncy overshoot as they're referenced in the text. Hovering a badge highlights its source card below β€” visual linking without leaving context.

Click Replay to see pop-in Β· Hover badges to highlight sources

Doors forming part of a fire-resisting separation must achieve an FRL of –/60/30 1 and be self-closing with smoke seals per AS 1905.1 2. Internal doors within a single SOU have no specific fire resistance requirement 3.

1 NCC Vol 1 Β· C3D10
Fire door FRLs for Class 2–9 buildings. Table C3D10 specifies doors in walls separating SOUs require –/60/30 minimum.
2 NCC Vol 1 Β· C3D15
Self-closing fire doors in required exits must incorporate smoke seals tested to AS 1530.7.
3 NCC Vol 1 Β· C2D2
Internal walls within a single SOU are not required to have an FRL unless forming part of a fire-resisting separation.
⏱ Medium effort · Spring keyframes + hover linking, needs streaming sync
05 Β· Transition

Source Card Expand

Click to smoothly reveal clause details. Height animates with CSS, inner content fades in with a slight delay for a layered feel.

Click cards to expand ↓
πŸ”₯ NCC Vol 1 Β· Part C3 β€” Fire Resistance
β–Ό
C3D10Fire door FRL table
C3D15Self-closing fire doors
C3D3Fire-resisting construction
πŸ’§ AS 3740 β€” Waterproofing Wet Areas
β–Ό
Cl 4.2Membrane materials
Cl 5.1Shower floor falls
Cl 6.3Balcony waterproofing
⚑ NCC Section J β€” Energy Efficiency
β–Ό
J1D3Thermal insulation R-values
J3D2Glazing U-values
J6D2HVAC efficiency
⏱ Low effort · CSS max-height + opacity transition
06 Β· Transition

Theme Crossfade

Toggling dark/light mode crossfades every color token over 600ms instead of instantly swapping. Everything on this page uses it β€” try the toggle in the nav bar.

Use πŸŒ™/β˜€οΈ toggle in nav bar

Surface Colors

bg-0
bg-1
bg-2
bg-3

Accent Tokens

accent
soft
glow
⏱ Low effort · Global CSS transition rule on all color properties
07 Β· Interaction

Micro-Interactions

The small details that make a UI feel alive β€” button feedback, card hover lift, animated copy confirmation, and pulsing report flags.

Hover & click everything ↓

Buttons

Card Hover Lift

πŸ”₯
Fire Safety
847 clauses
πŸ—οΈ
Structural
612 clauses
πŸ’§
Waterproofing
334 clauses
β™Ώ
Accessibility
289 clauses
⏱ Low effort · Pure CSS, zero JS for most interactions
08 Β· Loading

Loading States

Skeleton screens with accent shimmer, multi-step progress indicators, and a breathing logo pulse β€” users always know something is happening.

Live skeleton shimmer ↓

Skeleton Screen

Query Progress Steps

Searching
Retrieving
Analyzing
Generating

Logo Pulse (while loading)

πŸ“‹

Researching your query…

⏱ Medium effort · Skeleton CSS + progress step JS timer
09 Β· UX

Empty States

When there's nothing to show, don't show nothing. CSS-only geometric art, animated gradient backgrounds, and "getting started" chips turn dead-ends into invitations.

Ask anything about Australian building compliance

Query across 42 verified standards, 13 skill domains, and thousands of clauses.

⏱ Low effort · CSS-only art + gradient animation, no images
10 Β· Polish

Subtle Ambient Background

A barely-perceptible particle/gradient effect behind the main content area. Adds depth without distraction. Respects prefers-reduced-motion.

πŸ“‹

Compliance Hub

Subtle floating particles Β· won't distract from the data

⏱ Medium effort · Lightweight canvas particles, ~40 lines JS
11 Β· Animation

Radial Dials with Count-Up

Corpus coverage dials animate from zero on load β€” both the ring stroke and the counter count up simultaneously. Great for dashboards and admin views.

Click Replay ↓
0%
Fire Safety
0%
Structural
0%
Waterproofing
0%
Energy
⏱ Low effort · SVG stroke-dashoffset + JS counter
12 Β· UX

Toast Notifications

Slide in from the top-right with spring easing, auto-dismiss after 4 seconds. Used for copy confirmations, query submission, errors, and system messages.

Click buttons to trigger toasts ↓
⏱ Low effort · ~30 lines JS + CSS transitions
13 Β· Navigation

View Slide Transitions

Switching between views uses a slide + fade transition rather than a hard cut. Content exits in one direction and enters from the other.

Click tabs ↓
⏱ Low effort · CSS position + opacity transitions
Summary

Implementation Overview

All 13 enhancements use Otto's existing design tokens. Most are CSS-only. Total JS is ~150 lines for the interactive bits. Zero external dependencies.

LOW EFFORT (CSS-only or <20 lines JS)
  • ✦ Page load stagger
  • ✦ Query submit flow
  • ✦ Source card expand
  • ✦ Theme crossfade
  • ✦ Micro-interactions
  • ✦ Empty states
  • ✦ Toast notifications
  • ✦ Nav slide transitions
  • ✦ Focus rings (a11y)
MEDIUM EFFORT (20–50 lines JS)
  • ✦ Streaming typewriter
  • ✦ Citation pop-in + linking
  • ✦ Progress step indicator
  • ✦ Ambient particles
  • ✦ Radial dial count-up
READY TO SHIP
  • ✦ Zero external dependencies
  • ✦ Uses Otto tokens throughout
  • ✦ Respects prefers-reduced-motion
  • ✦ Accessible focus rings
  • ✦ 8px spacing grid
  • ✦ Responsive clamp() typography