The Ubbin Labs journal
Writing
Architecture decisions, failure reports and lessons from building real products. Written by the people who did the work.
-
The tracking isn’t the problem. The secrecy is.
LinkedIn allegedly scanned over 6,000 browser extensions and fingerprinted devices without disclosing it anywhere in its privacy policy. Meta does something arguably larger in scale and says so openly. That difference is…
-
Skills data is not a taxonomy problem. It is a signal problem.
The dominant bet in 2025 is that better AI inference will solve the skills data problem. It won’t. Not because the inference is bad – because the question is probably wrong.
-
Your engagement model is not broken. It’s just not yours.
Europe has the lowest employee engagement scores in the world – 13% according to Gallup. But European employees also report lower stress, higher wellbeing, and comparable productivity. Either Europe runs healthy companies…
-
What happens when you train people AI on behaviour, not records
Every people analytics model trains on data. The question most implementations skip is which layer. Most HR AI runs on records – structured, auditable, quarterly. But there is a second layer, generated…
-
Ten years of multi-tenant SaaS: the decisions we made, and the ones we’d unmake
GFoundry. What held for ten years, what didn’t, and what a small team learns when decisions made in year two still cost you in year eight.
-
Stream mining in real time: what we built with Fraunhofer and what we learned
A €378,000 R&D project with Fraunhofer Portugal. MongoDB, ActiveMQ, FP-Growth, K-Means. What we built, what the data showed, and how it became GFoundry.
