Skip to main content
Journal

The iOS widget memory limit is the real design constraint

A home screen widget on iOS is not a small version of your app. It is a separate process with its own hard memory ceiling, and the fastest way to find that ceiling is to cache a photo at the wrong size. Pulso, my watch collection app, now has six widget faces on the home screen, and most of the…
Yeison Ospina
August 20, 2026
Journal

From single user to multi user: Pulso’s Postgres cutover

Turning a single-user app into a multi-user one is mostly not an authentication problem. Pulso, my watch collection tracker, had working accounts, magic-link sign-in and real sessions for days before I noticed that every route behind that login still read and wrote one shared file. The gate was real. Everything behind it was not. The practical version of that sentence:…
Yeison Ospina
August 10, 2026
Journal

Getting CPadel ready to launch

Getting CPadel ready to launch CPadel has been sitting in pre-launch mode for a while -- brand assets decided, a deposit paid, a tracker retired in favour of Orbit. This stretch was mostly the unglamorous work of getting the details right before anything goes live: deciding which of two near-identical logo files is actually canonical, reconciling exactly when the deposit…
Yeison Ospina
August 7, 2026
Journal

Per-User AI Limits: Making a Personal App Multi-User

Pulso, my watch collection app, had an AI budget that any one user could spend on behalf of everyone else. I found it on 30 July while wiring up the chat advisor, and fixing it turned into the actual work of the week: making an app I built for exactly one person safe for a second one. The bug was…
Yeison Ospina
August 5, 2026
Pluma command hub showing the agent pipeline and review queueJournal

I Built an AI Content Pipeline That Refuses to Fake Data

For about two months I shipped things and wrote about none of them. Orbit got a payments engine, Pulso became a native iOS app, the website got a real intake form. Writing it up was always the last item on the list, which is another way of saying it was never the item. So I built Pluma, an AI content…
Yeison Ospina
August 2, 2026
JARVIS command panel interfaceJournal

What I learned building JARVIS’s daily voice briefing

What I learned building JARVIS's daily voice briefing JARVIS is my personal AI chief-of-staff -- a voice-first HUD that's supposed to tell me what actually matters about my day without me having to go looking for it. Most of this stretch was about making that briefing trustworthy rather than just present. The email triage loop was re-judging the same roughly…
Yeison Ospina
August 2, 2026