Every hour I spend on repetitive tasks is an hour I'm not building features. So I automated everything I could.
Here's my exact setup — tools, scripts, and workflows that save me 10+ hours per week as a solo iOS developer.
1. Project Bootstrapping (5 minutes instead of 2 hours)
I used to spend hours setting up new projects: folder structure, base components, networking layer, theme system, launch screen...
Now I have a SwiftUI project template that includes:
- MVVM architecture pre-configured
- Networking layer with async/await
- Theme system with dark mode support
- Common UI components (buttons, cards, inputs)
- App lifecycle management
- Analytics wrapper
// One command to scaffold a new project
// Everything is pre-wired and ready to customize
struct ContentView: View {
@StateObject private var router = Router()
@StateObject private var theme = ThemeManager()
var body: some View {
NavigationStack(path: $router.path) {
HomeView()
.navigationDestination(for: Route.self) { route in
router.view(for: route)
}
}
.environmentObject(router)
.environmentObject(theme)
}
}
2. Component Library (Copy-paste, not rebuild)
I maintain a personal library of 50+ SwiftUI components that I've battle-tested across multiple apps:
Custom Button with Loading State
struct LoadingButton: View {
let title: String
let isLoading: Bool
let action: () -> Void
var body: some View {
Button(action: action) {
HStack(spacing: 8) {
if isLoading {
ProgressView()
.tint(.white)
}
Text(title)
.fontWeight(.semibold)
}
.frame(maxWidth: .infinity)
.padding(.vertical, 14)
.background(isLoading ? Color.gray : Color.accentColor)
.foregroundColor(.white)
.cornerRadius(12)
}
.disabled(isLoading)
}
}
Shimmer Loading Placeholder
struct ShimmerView: View {
@State private var phase: CGFloat = 0
var body: some View {
RoundedRectangle(cornerRadius: 8)
.fill(Color.gray.opacity(0.3))
.overlay(
RoundedRectangle(cornerRadius: 8)
.fill(
LinearGradient(
colors: [.clear, .white.opacity(0.4), .clear],
startPoint: .leading,
endPoint: .trailing
)
)
.offset(x: phase)
)
.clipped()
.onAppear {
withAnimation(.linear(duration: 1.5).repeatForever(autoreverses: false)) {
phase = 300
}
}
}
}
These aren't theoretical — they're pulled directly from production apps.
3. Xcode Snippets & Templates
I have custom Xcode snippets for everything I type more than twice:
ViewModel boilerplate —vmsetup
API endpoint definition —apiend
SwiftUI view with preview —sview
Published property with didSet —pubprop
The time saved per snippet is small. Multiplied by hundreds of uses per week, it's massive.
4. Git Workflow Automation
# Pre-commit hook that runs SwiftLint
# + checks for TODO/FIXME comments
# + validates no debug prints left in code
#!/bin/sh
swiftlint lint --strict
if grep -r "print(" --include="*.swift" Sources/; then
echo "Remove debug prints before committing"
exit 1
fi
5. CI/CD with GitHub Actions
Every push triggers:
SwiftLint check
Build verification- Unit tests
Screenshot tests for UI regression- Auto-increment build number on merge to main
I haven't manually uploaded a build to TestFlight in months.
6. Design-to-Code Pipeline
My process:
- Design in Figma using a component library that mirrors my SwiftUI components
- Export spacing/colors as design tokens
- Components in code match 1:1 with Figma components
This means going from design to implementation is mostly connecting existing pieces.
The ROI Breakdown
| Automation | Time saved/week |
|---|---|
| Project templates | 2-3 hours |
| Component library | 3-4 hours |
| Xcode snippets | 1-2 hours |
| Git hooks | 30 min |
| CI/CD | 2-3 hours |
| Design pipeline | 1-2 hours |
| Total | 10-15 hours |
That's essentially 2 extra working days per week. As a solo developer, this is the difference between shipping and drowning.
The Meta-Lesson
The best investment isn't learning a new framework every month. It's optimizing the workflow you already have.
Every template, every snippet, every automation compound over time. A 5-minute setup today saves you hours over the next year.
I package all of these templates, components, and workflow tools into ready-to-use resources for iOS developers. New stuff every week.
Want the full component library and project templates? Everything lives here:
t.me/SwiftUIDaily — production SwiftUI code, templates, and developer tools.
What's the biggest time sink in your development workflow? Let me know in the comments — maybe I've already automated it.
SOCIAL SHARE CARD GENERATOR