Eduardo Toledo.

iOS engineer · based in the EU · open to remote

etoledom@icloud.com · github.com/etoledom · linkedin.com/in/etoledom

Profile

I care deeply about correctness and quality, and building software that's a delight to use. Under the hood: testability, readability, maintainability. In what users see: the look and feel each product deserves, polished until it shines.

I've worked closely with designers and product teams for most of my career, comfortable giving feedback and proposing ideas of my own.

Semi-pro beach tennis. Training is as satisfying as competing: physical conditioning, drilling the same shots until they're automatic, then refining the details.

Music composition and production. The engineering side of music: recording, mixing, mastering tracks. Taking a raw idea and refining it until the output is exactly right.

Skills

iOS & Swift
Swift 6, structured concurrency, Swift Testing, macros, etc. Older stack: Obj-C, UIKit, Core Data. Also: Rust on iOS.
Android
Kotlin, Jetpack Compose, Kotlin Multiplatform
Backend
Swift Vapor, Rust Axum
Design
Sketch, Figma
Languages
Spanish (native), English (fluent)

Currently exploring: Agentic AI development (Python). Real-time systems and WebAssembly frontends, both in Rust.

Experience

iOS Engineer · Remote automattic.com
2018-2025
iOS Engineer · Santiago, Chile sosafe.app
2015-2017

Projects

apsis-rs

Flight controller and physics sim, in Rust

Built from first principles, following aerospace conventions (NED/FRD frames, cascaded PID architecture). A deep-dive learning project written in idiomatic Rust, exploring quaternion kinematics, real-time control, and a type system that enforces physics units at compile time. Written by hand. No AI access to the source.

Stack: cascaded PID · compile-time unit types · egui

The Beach Tennis App

Solo product: iOS, Android, backend, design

A companion app for players and fans of beach tennis: tournaments, draws, results, player profiles, and rankings. Free for the community. I built it because I love the sport, there was no usable way to search ITF tournaments and rankings, and I wanted to try Swift on the server. Beyond the iOS work, the project took me deep into Vapor on the backend, Jetpack Compose on Android, CI/CD (GitHub Actions, Xcode Cloud, Docker), and ops on Fly.io with managed PostgreSQL and Redis. Android version currently in beta.

Stack: iOS (UIKit, SwiftUI, SPM) · Android (Kotlin, beta) · Backend (Swift Vapor, PostgreSQL) · Design (Sketch)

1v1 multiplayer Minesweeper, in Rust

1v1 real-time multiplayer Minesweeper, built entirely in Rust across three crates: a core engine (rules and board, also playable solo), a multiplayer layer (1v1 logic, offline), and the online layer (Axum server, WebSocket matchmaking). The egui frontend compiles to WebAssembly with no JavaScript, and the same UI runs as a native desktop client. Deployed on Fly.io with Docker.

Stack: egui · WASM · Axum · WebSockets · Docker · Fly.io