Games & apps · Quito
pablin.me is a one-person studio making games and apps for Apple devices, one at a time.
Mathematics and physics, on the web
Twenty courses in the browser, from geometry and calculus to complex analysis. Every lesson has a lab beside it: drag a point, slide a parameter, predict what happens, then check. Answers are graded as mathematics, and practice comes back when it is due.
A weekly series
One new Metal shader every week. A short video builds it from nothing; a page has the full source, every parameter explained, and the sound it makes, which the shader generates too. Open source.
What we won't trade away
Four commitments every project here is built on — decided before a single feature, not adjusted for one.
Where an app uses AI, it runs on-device through Apple's own Foundation Models, next to the data it reads.
We draw interfaces from actual shapes and native components, not pictures of them. If it's on screen, it's the same geometry the code collides against.
We write Swift, SwiftUI, and Apple's own frameworks end to end. No cross-platform runtime stands between an app and the OS it ships on.
We treat a third-party package as a liability until it proves otherwise — one more thing a user trusts with their data without ever agreeing to it.
Longer technical write-ups, grouped by topic.
How Sharp 1.2 was built and measured: the first runs on a real iPad, rotation in the aligner, choosing the detail size by eye, exposure blending, stacking in slabs, and retouches that can be reopened.
1 posts · SwiftHow Tick Again runs a mechanical watch: the gear train, the escapement stepping beat by beat, the three sounds in every tick, the timegrapher, winding, the order a movement comes apart, and faults as physics.
7 posts · SwiftHow relighting a photograph works: the depth a Portrait photo carries, turning it into surfaces, and lighting them with three lights that cast real shadows.
7 posts · Photography & renderingThe calculation engine behind Tally: running balances, savings rate, runway, recurring projections, debt payoff, and goal pacing.
7 posts · SwiftFive small C# programs from 2019 on making threads work together: signals, a parallel search, matrix products, a producer and its consumers, and prioritised groups.
5 posts · C#OpenCL and OpenMP from a first kernel to an LU decomposition, then the same decomposition with SSE intrinsics, each version timed.
7 posts · OpenCL · OpenMPTwelve C# and Windows Forms programs from 2020: random events, Poisson and Wiener processes, Markov chains, the chi-square test and a bank simulated event by event.
12 posts · C#The person behind it
A software engineer based in Quito, Ecuador, working mostly in Swift and C#. pablin.me is where that work ships. Outside of it: books, music, and more podcasts than is reasonable.