Skip to main content
Build Log

Pulso learned to answer a question, and finally charged for it

Pulso's Ask feature could not answer a general question at all, and the reason was structural rather than a bug: the schema behind every answer had no prose field, only a list of watch suggestions, so "is this a sensible first automatic" had nowhere to go. That is now two endpoints, /api/ask for prose answers carrying their own unknowns, references…
Yeison Ospina
August 14, 2026
Two phone screens side by side: the old Pulso account panel as one long sheet of nine sections, and the proposed hub of eight rows each opening its own screen.Build Log

Pulso shipped Friends, then found two switches that gated nothing

Pulso's Friends feature went live on 9 August, and the two bugs worth writing down are the same shape: a control that looked like it worked and enforced nothing. Sharing itself shipped the way the design review said it had to. Wear history goes out as month buckets rather than dates, because a first-wear date reconstructs a purchase date to…
Yeison Ospina
August 12, 2026
A table of Pulso's sharing surfaces: watches, shortlist, roadmap, wear history and values all default to off, with insights never shared at all.Build Log

I designed a social feature, then tried to break it before building it

Pulso is a watch collection tracker, and the obvious next feature is letting a friend see your collection. It is also the first feature I have built where getting it wrong means publishing somebody else's private data rather than showing them a wrong number. So before writing any of it, I had three different permission models designed independently, one enforcing…
Yeison Ospina
August 10, 2026
Build Log

Pulso got an Android app in a day

Pulso now has a native Android app. It signs in against the live API, reads the real collection, and carries the same five tabs as iOS, Collection, Shortlist, Wear, Roadmap and Insights, built from an empty scaffold on a Pixel 9 emulator in a single day. Parity was the whole brief, and most of the day went on places where…
Yeison Ospina
August 10, 2026
Build Log

Pulso got a ceiling, an outbox and a delete button

Pulso now runs under a global monthly AI spend ceiling of $50, sends its own transactional email through Resend, and lets anyone delete their account and everything in it without asking me. Those were the three things that had to exist before I invited a single person off the waitlist. The ceiling is the one I care about. Credits already…
Yeison Ospina
August 7, 2026
Build Log

Pulso’s iOS tab bar was fighting the system

Pulso's iOS app now uses a stock SwiftUI TabView instead of the custom tab bar it shipped with, which is what finally let Liquid Glass read the way it is supposed to. I had assumed the glass was missing. It was not. It was there and smothered, under an opaque pill, a hard white rim and a heavy shadow, and…
Yeison Ospina
August 5, 2026
Build Log

Pulso got a price, and your own collection is not part of it

Pulso now runs on a credits ledger: 25 one-time lookups when you first use it, and adding watches you already own is free, however many you have. The app moved onto per-user Postgres on 3 August, every route scoped to the signed-in user, and that unlocked the part that had been waiting behind it: deciding what actually costs something. Research…
Yeison Ospina
August 5, 2026