SwiftUI • iOS 16+ • macOS 13+

Hand-drawn UI for SwiftUI

Every button wobbles. Every card has character. The only native SwiftUI library that renders every stroke through a real perturbation engine.

0 Components
0 Icons
0 Creatures
0 Themes
0 Fonts
100% Native SwiftUI Zero Dependencies Lifetime Updates Swift 6.2 Ready iOS 16+ & macOS 13+

See It In Action

Every component renders through a perturbation engine — authentic hand-drawn wobble, jitter, and roughness.

Tap Me
Submit

Buttons

Wobbly outlines, sketchy fills, 3 role styles

Toggles

Hand-drawn capsule tracks with animated thumbs

Progress Bars

Sketchy progress with animated fill

Cards

Rough-edged containers that feel organic

Sliders

Sketchy tracks with draggable knobs

NEW
3

Badges

Hand-drawn labels and notification dots

+ Segmented Control, Search Field, Stepper, Picker, Tab Bar, Gauge, Tooltip, Menu, Alert, Sheet & more

Built Different

Not just rounded corners with a font change. Real FBM noise perturbation on every stroke.

~

Perturbation Engine

FBM noise-based rendering. Every line wobbles uniquely. Seed-deterministic so shapes stay stable across redraws.

#

5 Theme Presets

Subtle, Playful, Organic, Comic, Chaotic. Each with 3 role styles. One line to switch.

@

6 Animated Creatures

Blobby, Cat, Owl, Robot, Ghost, Octopus. Frame-based animation with state machines and blend transitions.

Aa

6 Handwriting Fonts

Caveat, Kalam, Patrick Hand, Architects Daughter, Indie Flower, Chalkboard. Bundled with proper metrics.

*

Animation System

Dissolve, wiggle, breathing, confetti, skeleton loading, draw-on paths, jittery text. All reusable modifiers.

+

73 Hand-Drawn Icons

8 categories. Every icon built from sketch primitives. Same perturbation engine as components.

Drop-In Simple

Works like native SwiftUI. Add .sketch style modifiers and you're done.

ContentView.swift
import RippaUI

struct ContentView: View {
    @State private var enabled = true

    var body: some View {
        VStack {
            // Sketch-styled button
            SketchButton("Tap Me") {
                print("Tapped!")
            }

            // Hand-drawn toggle
            Toggle("Enable", isOn: $enabled)
                .toggleStyle(.sketch())

            // Sketchy card container
            SketchCard {
                Text("Hand-drawn UI!")
            }
        }
        .environment(\.sketchTheme, .organic)
    }
}

Up and Running in 30 Seconds

Add via Swift Package Manager. No CocoaPods, no Carthage, no fuss.

1

Add the Package

In Xcode: File → Add Package Dependencies…

https://github.com/williamjiamin/RippaUI.git
2

Import & Use

Import the module and apply sketch styles to any SwiftUI view.

import RippaUI
3

Pick a Theme

Set a theme environment and everything inside becomes hand-drawn.

.environment(\.sketchTheme, .playful)

5 Theme Presets

From barely-there pencil marks to wild chaotic scribbles. One line to switch.

Button
Subtle Clean & minimal
Button
Playful Fun & bouncy
Button
Organic Natural & warm
Button
Comic Bold & graphic
Button
Chaotic Wild & untamed

Meet the Creatures

6 animated characters built from geometric primitives. Frame-based animation with state machines.

👾
Blobby idle, wave, jump, smile, walk
🐱
Cat idle, pounce, purr, meow
🦉
Owl idle, fly, headTurn, hoot
🤖
Robot idle, dance, wave, error
👻
Ghost idle, spook, hide, float
🐙
Octopus idle, swim, wave, ink

The Only Native Option

RippaUI is the only hand-drawn UI library built natively for SwiftUI.

RippaUI
Rough.js Wired Elements Generic SwiftUI
Native SwiftUI
Hand-Drawn Aesthetic
Perturbation Engine FBMPartial
Animated Creatures 6
Theme System 5Varies
Sound & HapticsRare
73 Hand-Drawn Icons
Draw to CustomizeSoon

What's Coming

These features ship with your lifetime license — no extra cost.

//

Sketch Annotations

Underline, highlight, circle, strike-through, bracket text modifiers that animate in sequence.

Soon
||

Sketch Charts

Hand-drawn bar, line, pie, donut charts. The only sketch-style data viz for SwiftUI.

Soon
##

6 Fill Styles

Cross-hatch, dots, zigzag, dashed, sunburst, hachure fills per shape.

Soon
->

Arrows & Connectors

Sketch-style arrows, elbow connectors, flowchart lines.

Soon
(O)

Progress Ring

Circular progress variant with animated sketch wobble fill.

Soon
[..]

Calendar Picker

Fully hand-drawn calendar. Month navigation, date selection.

Soon
[ ]

Screen Templates

Pre-built onboarding, settings, profile, paywall screens.

Soon

Dark Mode

Sketch-appropriate dark palettes for all 5 themes.

Soon

Export to PNG

Render any sketch component as a shareable image.

Soon

Radio & TextArea

Sketch radio groups and multiline text fields.

Soon

Image Frames

Sketch borders around photos. Polaroid, torn-edge, tape effects.

Soon

One Price. Forever.

One-time purchase. Lifetime updates. All roadmap features included.

Indie

$29

one-time payment

  • 1 developer license
  • All 22+ components
  • 73 hand-drawn icons
  • 6 animated creatures
  • 5 themes • 6 fonts
  • Full animation system
  • All roadmap features free
  • Lifetime updates via SPM
Buy Indie

Enterprise

$249

one-time payment

  • Unlimited developers
  • Everything in Team
  • Full source code access
  • Custom theme consultation
  • Priority feature requests
  • Screen templates library
  • Commercial redistribution
Buy Enterprise

Start building
something delightful

Join hundreds of developers shipping apps with character.