Wabi-Sabi and Whitespace: Eastern Philosophy for Web Design What I learned from studying traditional aesthetics that completely changed how I build interfaces Last year, I spent three weeks in Kyoto. Temples everywhere. One rainy afternoon, I ducked into a small museum dedicated to traditional craftwork. I wasn't expecting much. I'm a web developer, not an art historian. But something clicked. T
Introduction Building a mobile application that handles sensitive financial data — crypto transactions, KYC verification, gift cards — means security is not an afterthought. It is a core deliverable. During the development of a cross-platform fintech application, one of the non-negotiables on the security checklist was runtime application self-protection (RASP). After evaluating our options, we
I’m going on a short vacation this week, so this post is coming out a bit earlier than usual. I actually had a different, more “useful” topic in mind — something educational, something responsible. But then I came across this fascinating article: I don’t like Tailwind. Sorry not sorry written by @freshcaffeine , and I couldn’t get it out of my head. So I decided to write a response instead. I actu
React Native's New Architecture — JSI, Fabric, and TurboModules — has been "coming soon" for long enough that some teams wrote it off as vaporware. It shipped. It is now default in new React Native projects. And it meaningfully changes how the framework works at the performance-critical boundaries between JavaScript and native code. This post is not a getting-started guide. It is an honest account
Originally published on rohitraj.tech UPI fraud hit ₹805 cr in India last year. Cloud APIs leak data. So I built ScamRakshak — fully on-device scam detection. 3-tier inference engine: Gemma 4 LLM — context-aware classification LiteRT — fast pattern model Regex fallback — when battery low Full architecture write-up: https://rohitraj.tech/en/notes/build-on-device-ai-scam-detector-android-gemma Read
It's a one-line item on the roadmap. "Send a push notification when X happens." Estimate is two days, three if the backend doesn't have FCM credentials yet. There's a library for it. The library is the visible part. The other 90% is platform lifecycle, registration state machines, race conditions with navigation, payload archaeology, and a half-dozen iOS and Android quirks. Nobody writes them down
I have been building web apps for 12 years. In that time I never wrote a single line of mobile code. Not Swift, not Kotlin, not even a basic React Native hello world. That changed last month because of my wife. She has been using Synapse, the AI companion I built for her, every day from her phone browser. If you are new here, Synapse is a personal AI that uses a temporal knowledge graph instead of
Dark Mode in Firefox Extensions: Respecting System Preferences Firefox users who prefer dark mode shouldn't have to manually toggle it in every extension. Here's how to automatically respect the system preference. /* Default: light mode */ :root { --bg: #ffffff; --text: #1a1a1a; --card-bg: #f5f5f5; --border: #e0e0e0; } /* Auto dark mode from system */ @media (prefers-color-scheme: dark)