iOS Engineer · Lisbon, Portugal
Ivo Vilas Boas
I build iOS apps end to end: from the first SwiftUI screen through release, crash monitoring and the fixes that follow. Four years in health-tech, and my own apps on the side.

Mangura
Manga, comic and webtoon reader for iPhone and iPad
Bring-your-own-content reader. Import CBZ, CBR and EPUB files, connect Komga, Kavita or Suwayomi servers, or describe any site in a JSON source config and let the built-in engine read it.
- 64k
- lines of Swift
- 65
- test files
- 22
- SwiftPM modules
- Declarative scraping engine: versioned JSON source configs, a parsing ops pipeline, and captured requests replayed through WKWebView for JavaScript-heavy sites.
- iCloud sync built directly on CKSyncEngine with an outbox, instead of relying on SwiftData’s CloudKit integration.
- Offline downloads with progress on the Lock Screen and Dynamic Island via Live Activities.
- AniList and MyAnimeList tracking, reading statistics and streaks, background new-chapter checks.
- Swift 6
- SwiftUI
- Liquid Glass
- TCA
- SwiftData
- CloudKit
- Live Activities
- RevenueCat

Parta
Shared money and home admin for couples
Accounts, budgets, planned and recurring expenses, shared shopping lists and reminders. Each person owns their data and shares specific pieces with full, read-only or balance-only access.
- Offline-first sync written by hand: an outbox table, idempotent upserts, exponential backoff and cursor-based incremental pulls.
- Security enforced in Postgres: row-level security policies, security-definer helpers and triggers that guard immutable columns.
- Reducers never touch UUID or Date directly, so every feature is testable with TestStore.
- SwiftUI
- Swift 6 concurrency
- TCA
- SQLiteData
- GRDB
- Supabase
- Sign in with Apple
- Realtime

MOVE+
Elderly-care and fall-risk management platform
Master’s thesis built for the BiRD Lab at Universidade do Minho. A full-stack platform for care homes: residents, caregivers, clinicians and admins each get their own workflows, with fall detection running on the resident’s phone.
- On-device fall detection from the accelerometer at 50 Hz: an impact above 2.5 g followed by three seconds of stillness, plus inactivity alerts, all in background tasks.
- Incident flow with push alerts to caregivers, who confirm or dismiss and record injuries.
- Five roles with invitation-based onboarding, clinician data-access approvals and a rule-based fall-risk score.
- Shared TypeScript package with Zod schemas used by both the app and the server.
- React Native
- Expo
- TypeScript
- Zustand
- Node
- Express
- Prisma
- PostgreSQL
- Zod
Code private · built in collaboration with the lab
Experience
Where I have shipped
Mar 2025 – Present · Porto & Lisbon
Sword HealthMid-Level iOS Developer
Features across established and new iOS projects, production crash monitoring, code reviews and technical decisions in a cross-functional team.
- Swift
- SwiftUI
- TCA
- SQLiteData
Shipped features inSword Health
Jan 2022 – Mar 2025 · Braga
NutriumMobile Developer
Grew from intern to one of two iOS engineers. Delivered features from implementation to release, handled testing and production issues, and built backend integrations for the app.
- Swift
- UIKit
- SwiftUI
- Core Data
- CI/CD
Shipped features inNutrium
Skills
What I work with
iOS
- Swift
- SwiftUI
- UIKit
- SwiftData
- Core Data
- SQLiteData
- TCA
- CloudKit
- Background Tasks
- StoreKit
- WidgetKit
- Swift Testing
Cross-platform
- React Native
- TypeScript
- Kotlin
- KMP
Backend & infra
- REST
- Supabase
- PostgreSQL
- Node
- SQLite
- Firebase
- AWS
- GCP
- Ansible
- Git
- CI/CD
Education
Education
2022 – 2026
MSc Software Engineering
Universidade do Minho
2018 – 2021
BSc Software Engineering
Universidade do Minho
Studio
Suti Apps
The label I ship my own apps under. Small, focused tools I use every day.
Contact
Let's talk
Questions about the apps, an iOS project, or just to say hi. One address, and I read everything.
Lisbon, Portugal · Portuguese & English


