Six weeks ago, UluP Spaces shipped without account-free access, without a real calendar, without GitHub integration, without Community Templates,without UluP Share, without UluPy (MCP), without present mode, without nodes groups. On September 10th, we relaunched with all of that in place. Today wasn't a launch day — it was a day of quietly fixing what a launch day doesn't have time to catch.
Solving cross-device data loss
UluP Spaces works with zero signup by default. Great for reducing friction — until you start on your phone, forget you never made an account, and open your laptop to find nothing there.
The naive fix — silently merge everything on login — is dangerous. It risks attaching someone's projects to the wrong account, or losing them without asking.
What we built instead: a single-use "claim ticket." While still anonymous, the client requests a ticket; the server verifies the session is genuinely anonymous and generates a random, time-limited token. That ticket survives the login redirect. After the real login completes, the client presents it back — the server checks it's unexpired and unused, locks the row to prevent a double-claim, and only then transfers ownership.
The result: no one can claim projects that aren't theirs by guessing an ID, and you get an explicit choice — bring your projects along, or leave them behind — instead of silent magic or silent loss.
Cleaning up after ourselves
Anonymous sessions that are genuinely abandoned — no projects, weeks old — get removed automatically every night. Anonymous accounts with projects get a much longer runway: six months of real inactivity before cleanup, tracked through actual activity (not just creation date — opening and viewing a project counts too). Anyone with real, ongoing use is never touched, no matter how old the account is.
Listening to actual feedback
A Reddit comment flagged our notification permission prompt as "a clear spam signal" for firing immediately on page load. They were right. It now only asks when there's something real to notify about, plus a proper opt-in button in settings for anyone who wants it on from the start.
A real design pass
Monospace, used everywhere, reads as "built for developers" — and quietly narrows who the product feels like it's for. Regular text now uses a proper sans-serif (Geist); monospace stays only for real accents and identity. The "new project" modal was cramped with seven templates in two columns — now three columns, larger text, more room to breathe. Project cards got more compact and visually consistent, with cover photos now supported for anyone who wants their projects to feel more like their own.
None of this is flashy. All of it is the kind of work that makes a product feel cared for, not just shipped.
Still solo. Still bootstrapped. Relaunching on Product Hunt this Tuesday.