Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
188 lines (172 loc) · 10.4 KB
/
Copy pathindex.html
File metadata and controls
188 lines (172 loc) · 10.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Kuba Reinhard — iOS Engineer · Portfolio</title>
<meta name="description" content="Portfolio of Kuba Reinhard — Senior Software Engineer, Apple Platforms. 12+ years shipping iOS apps: connected fitness, digital banking, AI photo editing.">
<style>
:root {
--bg: #fafafa; --card: #ffffff; --text: #16181d; --muted: #5a6270;
--accent: #0b5fff; --border: #e5e8ee; --tag-bg: #eef2f8; --tag-text: #33405a;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #0f1115; --card: #171a21; --text: #e8eaf0; --muted: #99a1b0;
--accent: #6da3ff; --border: #262b36; --tag-bg: #1f2530; --tag-text: #aebad0;
}
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
background: var(--bg); color: var(--text); line-height: 1.55;
-webkit-font-smoothing: antialiased;
}
.wrap { max-width: 980px; margin: 0 auto; padding: 0 24px; }
header { padding: 72px 0 40px; }
h1 { font-size: 2.4rem; letter-spacing: -0.02em; }
.tagline { font-size: 1.15rem; color: var(--muted); margin-top: 8px; max-width: 640px; }
.links { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 12px; }
.links a {
color: var(--accent); text-decoration: none; font-weight: 600; font-size: 0.95rem;
border: 1px solid var(--border); border-radius: 999px; padding: 6px 16px; background: var(--card);
}
.links a:hover { border-color: var(--accent); }
h2 { font-size: 1.05rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); margin: 48px 0 20px; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.card {
background: var(--card); border: 1px solid var(--border); border-radius: 16px;
padding: 24px; display: flex; flex-direction: column; gap: 10px;
}
.card h3 { font-size: 1.15rem; letter-spacing: -0.01em; }
.role { font-size: 0.85rem; color: var(--accent); font-weight: 600; }
.card p { font-size: 0.95rem; color: var(--muted); flex: 1; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tag {
font-size: 0.72rem; font-weight: 600; color: var(--tag-text); background: var(--tag-bg);
border-radius: 6px; padding: 3px 8px; white-space: nowrap;
}
.store { margin-top: 4px; }
.store a { color: var(--accent); text-decoration: none; font-weight: 600; font-size: 0.9rem; }
.store a:hover { text-decoration: underline; }
.store .retired { color: var(--muted); font-size: 0.9rem; }
footer { margin: 64px 0 48px; padding-top: 32px; border-top: 1px solid var(--border); color: var(--muted); font-size: 0.9rem; }
footer a { color: var(--accent); text-decoration: none; }
</style>
</head>
<body>
<div class="wrap">
<header>
<h1>Kuba Reinhard</h1>
<p class="tagline">Senior Software Engineer — Apple Platforms. 12+ years shipping iOS apps across connected fitness hardware, digital banking, AI tooling, and marketplaces. AI-first: agentic coding is part of my daily engineering loop.</p>
<div class="links">
<a href="mailto:kuba@codehansa.co">kuba@codehansa.co</a>
<a href="https://www.linkedin.com/in/kubareinhard">LinkedIn</a>
</div>
</header>
<h2>Selected Work</h2>
<div class="grid">
<div class="card">
<div class="role">Senior Software Engineer (iOS Lead) · 2023–2026</div>
<h3>AMP: Workouts & Fitness</h3>
<p>Companion app for the AMP connected strength-training machine. Top contributor and architecture lead of a 61-module SwiftUI codebase — watchOS app, Live Activities (full-stack with AWS backend), 3D muscle-body visualization, BLE device & firmware updates, CI/CD.</p>
<div class="tags">
<span class="tag">SwiftUI</span><span class="tag">Swift Concurrency</span><span class="tag">watchOS</span><span class="tag">Live Activities</span><span class="tag">SceneKit/Metal</span><span class="tag">CoreBluetooth</span><span class="tag">Tuist</span><span class="tag">AWS</span>
</div>
<div class="store"><a href="https://apps.apple.com/us/app/amp-workouts-fitness/id6450743527">View on the App Store →</a></div>
</div>
<div class="card">
<div class="role">Senior Software Engineer · 2023–2026</div>
<h3>AMP — Engineering Platform & AI Tooling</h3>
<p>The engineering system behind the AMP app: Tuist build caching, Xcode Cloud + Fastlane release pipeline, a self-healing GitHub Actions merge queue, snapshot/Swift Testing/Maestro test infrastructure — and AI-first workflows with Claude Code and the Claude Agent SDK, including contributions to the internal multi-repo agent platform.</p>
<div class="tags">
<span class="tag">CI/CD</span><span class="tag">GitHub Actions</span><span class="tag">Xcode Cloud</span><span class="tag">Tuist</span><span class="tag">Claude Agent SDK</span><span class="tag">TypeScript</span>
</div>
</div>
<div class="card">
<div class="role">Senior iOS Engineer · 2022–2023</div>
<h3>Pixelcut: AI Photo Editor (Circular)</h3>
<p>AI-powered design tool. Shipped AI editing features — Magic Eraser, AI Photo Shoot, AI Avatars, AI Copywriter, rebuilt Remove Background — plus Teams subscription tiers in a heavily modularized UIKit codebase.</p>
<div class="tags">
<span class="tag">UIKit</span><span class="tag">AI/ML features</span><span class="tag">RevenueCat</span><span class="tag">XcodeGen</span><span class="tag">GRDB</span>
</div>
<div class="store"><a href="https://apps.apple.com/us/app/pixelcut-ai-photo-editor/id1534785237">View on the App Store →</a></div>
</div>
<div class="card">
<div class="role">Senior → Lead iOS Engineer · 2019–2021</div>
<h3>Aion Bank (Vodeno)</h3>
<p>Digital-only bank on a white-label Banking-as-a-Service platform — one codebase shipping 8+ branded bank apps across Europe. Apple Wallet in-app card provisioning, KYC with NFC passport reading, mobile security (mutual TLS, anti-tamper, fraud profiling), full release pipeline.</p>
<div class="tags">
<span class="tag">Swift</span><span class="tag">PassKit</span><span class="tag">Security</span><span class="tag">PSD2</span><span class="tag">C++ core</span><span class="tag">fastlane</span>
</div>
<div class="store"><a href="https://apps.apple.com/pl/app/aion-bank/id1488299047">View on the App Store →</a></div>
</div>
<div class="card">
<div class="role">Senior iOS Engineer · 2021–2022</div>
<h3>Booksy</h3>
<p>Leading beauty-booking marketplace. Platform engineering across the Customer and Biz apps and shared core packages: performance tracing, deep linking, Adyen payments, SwiftUI design system, build tooling.</p>
<div class="tags">
<span class="tag">UIKit</span><span class="tag">SwiftUI</span><span class="tag">SPM</span><span class="tag">Adyen</span><span class="tag">Firebase</span>
</div>
<div class="store"><a href="https://apps.apple.com/us/app/booksy-for-customers/id723961236">View on the App Store →</a></div>
</div>
<div class="card">
<div class="role">Lead iOS Engineer · 2022</div>
<h3>Elis</h3>
<p>Social-audio platform. Built the Feed and community Spaces from scratch in a SwiftUI-first, GraphQL-backed codebase; owned the Instagram/Facebook Stories sharing pipeline with audio-preview video export.</p>
<div class="tags">
<span class="tag">SwiftUI</span><span class="tag">GraphQL</span><span class="tag">AVFoundation</span><span class="tag">CircleCI</span>
</div>
<div class="store"><span class="retired">No longer on the App Store</span></div>
</div>
<div class="card">
<div class="role">Senior iOS Engineer · 2017–2019</div>
<h3>Pawscout Pet Community</h3>
<p>Bluetooth pet-tag safety app: tag pairing and over-the-air firmware updates, walk tracking, plus an in-app pet store with Shopify Buy SDK, Apple Pay, and card scanning.</p>
<div class="tags">
<span class="tag">CoreBluetooth</span><span class="tag">Firmware OTA</span><span class="tag">Apple Pay</span><span class="tag">Mapbox</span><span class="tag">Shopify</span>
</div>
<div class="store"><a href="https://apps.apple.com/us/app/id807811799">View on the App Store →</a></div>
</div>
<div class="card">
<div class="role">Lead iOS Engineer · 2018–2019</div>
<h3>The New Bēkən (Medea / TechCentrix)</h3>
<p>White-label platform shipping 8+ branded apps from one codebase for wearable Bluetooth LED devices — full BLE stack, personalized message programming, silent-push delivery.</p>
<div class="tags">
<span class="tag">Swift</span><span class="tag">BLE</span><span class="tag">White-label</span><span class="tag">Snapshot tests</span>
</div>
<div class="store"><a href="https://apps.apple.com/us/app/id1447391038">View on the App Store →</a></div>
</div>
<div class="card">
<div class="role">iOS Developer · 2016–2017</div>
<h3>Scouts (World Scouting)</h3>
<p>Official app of the World Organization of the Scout Movement: news and project publishing, Stripe/PayPal donations, offline-first Core Data layer, clustered maps with geofencing.</p>
<div class="tags">
<span class="tag">UIKit</span><span class="tag">Core Data</span><span class="tag">Stripe</span><span class="tag">MapKit</span>
</div>
<div class="store"><span class="retired">No longer on the App Store</span></div>
</div>
<div class="card">
<div class="role">Own product · 2016–2021</div>
<h3>Lenny Keyboard</h3>
<p>Unicode-face keyboard built and maintained solo for five years: custom keyboard extension, iMessage stickers, watchOS app with complication, Siri Shortcuts, StoreKit in-app purchases.</p>
<div class="tags">
<span class="tag">Keyboard extension</span><span class="tag">watchOS</span><span class="tag">StoreKit</span><span class="tag">iMessage</span>
</div>
<div class="store"><span class="retired">Retired from the App Store</span></div>
</div>
</div>
<h2>Recognition</h2>
<div class="grid">
<div class="card">
<h3>Awards</h3>
<p>Apple WWDC Student Scholarship winner (2014 & 2015) · Microsoft Imagine Cup Poland — 2nd place · "Aplikacje bez barier" accessibility award laureate.</p>
<div class="tags"><span class="tag">Awards</span></div>
</div>
</div>
<footer>
<p>Kuba Reinhard · Warsaw, Poland · <a href="mailto:kuba@codehansa.co">kuba@codehansa.co</a> · <a href="https://www.linkedin.com/in/kubareinhard">LinkedIn</a></p>
</footer>
</div>
</body>
</html>