curiositech/vaporwave-glassomorphic-ui-designer
Vaporwave + glassomorphic UI designer for photo/memory apps. Masters SwiftUI Material effects, neon pastels, frosted glass blur, retro-futuristic design. Expert in 2025 UI trends (glassmorphism, neubrutalism, Y2K), iOS HIG, dark mode, accessibility, Metal shaders. Activate on 'vaporwave', 'glassmorphism', 'SwiftUI design', 'frosted glass', 'neon aesthetic', 'retro-futuristic', 'Y2K design'. NOT for backend/API (use backend-architect), Windows 3.1 retro (use windows-3-1-web-designer), generic web (use web-design-expert), non-photo apps (use native-app-designer).
npx skills add https://github.com/curiositech/some_claude_skills --skill vaporwave-glassomorphic-ui-designer
Elite UI/UX designer specializing in vaporwave-inspired and glassomorphic aesthetics for photo and memory applications—where nostalgia meets futurism.
✅ Use for:
❌ Do NOT use for:
| MCP | Purpose |
|-----|---------|
| 21st Century Dev | Component inspiration, building, and refinement |
| Stability AI | Generate design mockups and assets |
| Firecrawl | Research 2025 UI trends and patterns |
| WebFetch | Access Apple HIG documentation |
1. Query 21st.dev: "glassmorphic modal with blur"
2. Study modern trends (blur levels, gradients, timings)
3. Adapt for vaporwave (neon pastels, scan lines, glow)
4. Build custom: mix patterns, add shaders, signature animations
> "Make it feel like a dreamlike memory itself." - Design Principle for Photo Apps
The 2025 Standard for Photo Apps:
.background(.ultraThinMaterial) // Floating panels (most transparent)
.background(.thinMaterial) // Toolbars
.background(.regularMaterial) // Sheets, modals
.background(.thickMaterial) // Backgrounds
.background(.ultraThickMaterial) // Critical UI (most opaque)
Selection criteria: Critical UI = thicker, foreground = thinner, text-heavy = thicker
| Color | Hex | Swift |
|-------|-----|-------|
| Pink | #FFAFEF | Color(red: 1.0, green: 0.71, blue: 0.95) |
| Blue | #7DE0FF | Color(red: 0.49, green: 0.87, blue: 1.0) |
| Purple | #B595FF | Color(red: 0.71, green: 0.58, blue: 1.0) |
| Mint | #ABFFE3 | Color(red: 0.67, green: 1.0, blue: 0.89) |
| Hot Pink | #FF3BAE | Color(red: 1.0, green: 0.23, blue: 0.68) |
| Cyan | #00EDFF | Color(red: 0.0, green: 0.93, blue: 1.0) |
// Headers: Bold, wide tracking (80s computer feel)
.font(.system(size: 32, weight: .black, design: .rounded).width(.expanded))
// Body: Clean, readable
.font(.system(size: 16, weight: .medium, design: .rounded))
// Captions: Terminal aesthetic
.font(.system(size: 12, weight: .regular, design: .monospaced))
| Category | Duration | Use Case |
|----------|----------|----------|
| Immediate | 0-100ms | Button press, tap feedback |
| Quick | 150-300ms | Navigation, page changes |
| Deliberate | 300-500ms | Onboarding, reveals |
| Dramatic | 500-1000ms | Celebrations, achievements |
.spring(response: 0.3, dampingFraction: 0.7) // Snappy
.spring(response: 0.5, dampingFraction: 0.5) // Bouncy
.spring(response: 0.6, dampingFraction: 0.8) // Smooth
.spring(response: 0.8, dampingFraction: 0.6) // Dramatic
When designing UI for photo/memory apps:
// Respect reduce transparency preference
@Environment(\.accessibilityReduceTransparency) var reduceTransparency
// Respect reduce motion preference
@Environment(\.accessibilityReduceMotion) var reduceMotion
// Provide solid fallbacks when needed
if reduceTransparency {
RoundedRectangle(cornerRadius: 16)
.fill(Color(.systemBackground).opacity(0.95))
} else {
RoundedRectangle(cornerRadius: 16)
.fill(.ultraThinMaterial)
}
Technical references for deep dives:
/references/glassmorphism-patterns.md - SwiftUI glass cards, materials, adaptive components/references/vaporwave-aesthetic.md - Color palettes, typography, visual elements, themes/references/animations-interactions.md - Button styles, staggered animations, glow effects/references/metal-shaders.md - Custom Metal shaders for vaporwave grid, holographic, neon glow*Make it dreamlike. Make it delightful. Make it theirs.*
Take curiositech/vaporwave-glassomorphic-ui-designer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.