indie-app-design/SKILL.md
UI/UX design framework for solo iOS/macOS developers. Use when the user wants to design interfaces, improve user experience, ensure accessibility compliance, find design inspiration, or make their app look professional without a dedicated designer.
npx skillsauth add abanoub-ashraf/manus-skills-import indie-app-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
UI/UX design framework for solo iOS/macOS developers. Use this skill when the user wants to design interfaces, improve user experience, ensure accessibility compliance, find design inspiration, or make their app look professional without a dedicated designer.
Trigger on phrases like "UI design", "UX design", "make my app look better", "accessibility", "VoiceOver", "color scheme", "design inspiration", "professional looking app", "user interface", "user experience", "WCAG", or any questions about app design and accessibility.
Successful solo developers don't design from scratch—they remix proven patterns. Users prefer familiar interfaces (Jakob's Law), so using established patterns actually improves UX.
Why This Works:
Focus your limited design time on:
Skip (for now):
Organize content to naturally guide the user's eye. Most important elements should be most prominent.
Techniques:
Maintain uniformity across your app:
If You Have a Primary Color: Use a tool like Eva Design System's color generator to create harmonious secondary colors, success/error states, and neutral variants.
Safe Default Approach:
Dark Mode:
System Fonts Are Fine: San Francisco (iOS) and New York (iOS serif) are excellent, highly readable fonts. Custom fonts add complexity for minimal benefit.
Type Scale:
Dynamic Type: Always support it. Users who increase text size need your app too.
The 8-Point Grid: Use multiples of 8 for all spacing: 8, 16, 24, 32, 40, 48px. Creates visual rhythm and consistency.
Minimum Touch Targets:
Safe Areas: Respect system safe areas for notches, home indicators, and Dynamic Island.
Tab Bar: For 3-5 top-level sections. Most common iOS pattern.
Navigation Stack: For hierarchical content. Use standard back button behavior.
Modal Sheets: For focused tasks that can be dismissed. Use .sheet in SwiftUI.
Sidebar: For iPad and macOS. Implement with NavigationSplitView.
Onboarding: 3-5 screens maximum. Show value, not features. Request permissions contextually.
Empty States: Never show blank screens. Provide guidance on how to add content.
Error States: Explain what went wrong and how to fix it. Avoid technical jargon.
Loading States: Use skeleton screens for content, spinners for actions.
Prefer system components—they get Dark Mode, Dynamic Type, and accessibility for free:
List for scrollable contentForm for settings and inputNavigationStack for navigationButton with standard stylesLabel for icon + text combinationsOver 1.3 billion people worldwide live with some form of disability. Beyond ethics:
VoiceOver is Apple's built-in screen reader. Supporting it is the highest-impact accessibility improvement.
Basics:
// Good: Descriptive label
Image(systemName: "heart.fill")
.accessibilityLabel("Favorite")
// Bad: Generic or missing label
Image(systemName: "heart.fill")
// VoiceOver users hear nothing useful
Best Practices:
Accessibility Traits:
Button("Submit") { }
.accessibilityAddTraits(.isButton) // Usually automatic
.accessibilityHint("Double-tap to submit your form")
Follow WCAG guidelines:
Testing:
Support all text sizes:
Text("Hello")
.font(.body) // Scales automatically
// For custom fonts
Text("Hello")
.font(.custom("MyFont", size: 17, relativeTo: .body))
Testing: Test with largest accessibility text size. Ensure no text gets clipped.
Respect user preferences:
@Environment(\.accessibilityReduceMotion) var reduceMotion
withAnimation(reduceMotion ? nil : .default) {
// Animation code
}
Essential (do these first):
Important:
Advanced:
Mobbin (mobbin.com): Thousands of real app screenshots, organized by screen type and pattern. Essential for seeing how successful apps handle specific UX challenges.
Dribbble/Behance: Visual design inspiration. Caution: many designs prioritize looks over usability.
iOS App Teardowns: Subscribe to newsletters or YouTube channels that break down app designs.
Figma (Recommended for collaboration):
Sketch (Mac-native alternative):
For Quick Mockups:
Apple Design Resources: Official Figma/Sketch templates with all iOS components.
Untitled UI: Comprehensive free Figma kit with consistent styling.
Numerous iOS UI Kits on Figma Community: Search "iOS" in Figma's community.
Eva Design System: Color palette generator from primary color.
Coolors.co: Color scheme generator.
SF Symbols: 5,000+ Apple-designed icons, free, automatically adapt to text size and weight.
For Simple Screens: Skip Figma—build directly in SwiftUI. Use previews to iterate.
For Complex Screens:
For Major Features:
Do use Figma when:
Skip Figma when:
You must provide screenshots in specific sizes for submission.
Workflow:
Tools:
Mistake: Over-designing initial version Fix: Launch with good-enough design, iterate based on feedback
Mistake: Ignoring system conventions Fix: Use standard iOS patterns unless you have a compelling reason not to
Mistake: Inconsistent spacing and styling Fix: Define a small set of spacing values and styles, use them everywhere
Mistake: Not testing on real devices Fix: Test on smallest and largest supported devices, test in dark mode
Mistake: Skipping accessibility Fix: Run VoiceOver for 5 minutes—you'll find obvious issues
Before shipping:
development
Design principles for building polished, native-feeling SwiftUI apps and widgets. Use this skill when creating or modifying SwiftUI views, iOS widgets (WidgetKit), or any native Apple UI. Ensures proper spacing, typography, colors, and widget implementations that look and feel like quality apps rather than AI-generated slop.
data-ai
Design and implement SwiftUI views, components, and app architecture. Use when creating new SwiftUI views, implementing MVVM/TCA patterns, managing state with @Observable, @State, @Binding, or @Environment, designing navigation flows, or structuring iOS app architecture. Triggers on SwiftUI, view model, state management, navigation, coordinator pattern.
development
Implement, review, or improve SwiftUI animations and transitions. Use when adding implicit or explicit animations with withAnimation, configuring spring animations (.smooth, .snappy, .bouncy), building phase or keyframe animations with PhaseAnimator/KeyframeAnimator, creating hero transitions with matchedGeometryEffect or matchedTransitionSource, adding SF Symbol effects (bounce, pulse, variableColor, breathe, rotate, wiggle), implementing custom Transition or CustomAnimation types, or ensuring animations respect accessibilityReduceMotion.
testing
Audit SwiftUI views for accessibility (iOS + macOS) with patch-ready fixes