Notes
Type
Topic
20 notes
020Why Arabic-first software is more than translating an English UIDirection, typography, terminology and information hierarchy all change. Doing it at the end guarantees an interface that reads as a translation, and users notice.019Build logs are more valuable than founder motivation postsNobody has ever hired anyone because of a post about resilience. Showing what you built, what broke and what it cost is a different kind of signal.018Saudi Arabia is an interesting place to build enterprise AINot for the reasons usually given. The interesting parts are the constraints — data that will not move, Arabic as a first-class requirement, and buyers who ask hard questions early.017A CMS is only good if the person using it doesn't need a developerThe complaint was specific — uploading galleries and video was too complicated. That is a better brief than most product requirements.016cXML isn't REST: lessons from building a SAP Ariba integrationA protocol from a different era of enterprise software, with different assumptions — and REST habits actively work against you.015Why enterprise integrations are harder than the API documentation suggestsThe documentation describes the happy path against a system you do not control, cannot test against, and will be debugging weeks after the failure.014What I actually use AI for as a technical founderA practical list, including the parts where it does not help and the places I have decided not to let it near.013The best architecture is sometimes hybrid: local + cloud AIHybrid is usually the right answer and usually implemented badly — arrived at by accident rather than designed, which gives you the costs of both and the clarity of neither.012Why internal tools deserve better UXEmployees use internal software for eight hours a day and never get to choose it. That is an argument for more design attention, not less.011Local AI vs cloud AI: what actually makes sense for Saudi companies?The comparison usually gets made on price, which is the least interesting axis. Here is how the decision actually breaks down, including when the honest answer is cloud.010Why I'm interested in Mac minis for local AI deploymentsA small machine on a shelf is a genuinely viable AI deployment target now. Here is what that is good for, and the parts people leave out.009Building software for receptionists, guards, hosts and admins at the same timeMulti-role UX is a data-modelling problem before it is an interface problem. Get the shared object right and the screens follow; get it wrong and no design rescues it.008"No source, no claim" should be the default for high-stakes AIIn legal, compliance and finance, a confident wrong answer costs more than a refusal — and unlike a refusal, it does not announce itself.007AI agents are easy to demo. Production agents are different.The demo works because you chose the input. Production is where an agent meets a permissions model, a flaky API and someone who will not read the output carefully.006What I learned rebuilding a Framer site in codeA faithful rebuild is not a pixel copy. The judgement is deciding which details are the design and which are artefacts of the tool.005How I think about SEO for AI search enginesThe honest version: most of it is old advice done properly, plus being an entity a machine can identify with confidence.004The architecture behind a source-grounded legal AI assistantRetrieval as a gate rather than a hint, citations carried as data rather than text, and why corpus preparation matters more than model choice.003Why every technical founder should understand their production stackNot so you can do everything yourself. So you can tell the difference between a two-hour problem and a two-week one while somebody is telling you it is fine.002SEO is not just titles and keywords anymoreThe work that matters now is making a machine understand what an entity is — connected structured data, consistent identity, and content that can be cited.001What building visitor management software taught me about physical operationsSoftware that touches a physical space has a constraint most products never meet — there is a queue, and the queue does not wait for your loading state.