<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>technabit blog</title><description>Writing on mobile, backend, AI integration, and engineering trade-offs from the team that ships the work.</description><link>https://technabit.com/</link><language>en</language><item><title>Our phone was getting hot from doing nothing</title><link>https://technabit.com/blog/our-phone-was-hot-from-doing-nothing/</link><guid isPermaLink="true">https://technabit.com/blog/our-phone-was-hot-from-doing-nothing/</guid><description>Users said the app made their phone hot when they weren&apos;t even using it. The forensics turned up four always-on polling intervals stacking into a permanent CPU baseline. The fix, the patterns that replaced them, and why polling is the wrong default.</description><pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate><category>React Native</category><category>performance</category><category>iOS</category><category>battery</category><category>React Query</category><author>Danijel Dedić</author></item><item><title>Weighing a truck by loading it onto a scale: a 10× React Native performance regression</title><link>https://technabit.com/blog/weighing-a-truck-by-loading-it-onto-a-scale/</link><guid isPermaLink="true">https://technabit.com/blog/weighing-a-truck-by-loading-it-onto-a-scale/</guid><description>A &apos;feat: Improve photo analysis&apos; commit silently turned a 0.001s synchronous metadata read into a 2-second async image load. A photo library that scanned in 90 seconds now took 17 minutes. The fix, the root cause, and the lesson on reading manifests before lifting cargo.</description><pubDate>Tue, 25 Nov 2025 00:00:00 GMT</pubDate><category>React Native</category><category>Swift</category><category>performance</category><category>Expo Modules</category><category>PhotoKit</category><author>Danijel Dedić</author></item></channel></rss>