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.
Top comments (0)