<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Insights on Mohammad Jashem — Senior Full-Stack Mobile Engineer</title><link>https://mjashem.com/insights/</link><description>Recent content in Insights on Mohammad Jashem — Senior Full-Stack Mobile Engineer</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>mjashem@hotmail.com (Mohammad Jashem)</managingEditor><webMaster>mjashem@hotmail.com (Mohammad Jashem)</webMaster><lastBuildDate>Sun, 19 Jul 2026 00:00:00 +0600</lastBuildDate><atom:link href="https://mjashem.com/insights/index.xml" rel="self" type="application/rss+xml"/><item><title>Self-Hosted Coder on Docker: Dev Workspaces with Subdomains</title><link>https://mjashem.com/insights/self-hosted-coder-dev-workspaces/</link><pubDate>Sun, 19 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/self-hosted-coder-dev-workspaces/</guid><description>&lt;p&gt;Open a browser tab, get a fully-loaded dev environment. Close it, it&amp;rsquo;s gone. Open it tomorrow, it&amp;rsquo;s identical — same tools, same shell history, same checkout on the same branch.&lt;/p&gt;</description></item><item><title>Self-Hosted Hugo CI/CD: Drone + Cloudflare Tunnel</title><link>https://mjashem.com/insights/hugo-cicd-self-hosted-drone/</link><pubDate>Sun, 19 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/hugo-cicd-self-hosted-drone/</guid><description>&lt;p&gt;Push to &lt;code&gt;main&lt;/code&gt;. Hugo rebuilds in CI, the built site ships to the server over SCP, the container force-recreates, and the new content is live in well under a minute, in practice. No port ever opens on the server. That last part is the whole point — and once you&amp;rsquo;ve run a static site this way, the idea of exposing a box to the internet to serve HTML feels archaic.&lt;/p&gt;</description></item><item><title>Zero-Trust Homelab: Cloudflare Tunnel, Traefik, No Ports</title><link>https://mjashem.com/insights/self-hosted-zero-trust-homelab/</link><pubDate>Sun, 19 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/self-hosted-zero-trust-homelab/</guid><description>&lt;p&gt;Most homelab guides tell you to forward ports 80 and 443 on your router and put your home IP in DNS. This one opens zero inbound ports. The whole fleet — photos, passwords, CI, dev environments, this site — sits behind a single outbound tunnel that terminates on the router itself. No port to forward, no public IP to leak.&lt;/p&gt;</description></item><item><title>Kahf Kids Flutter Clean Architecture: Riverpod, Auto Route</title><link>https://mjashem.com/insights/kahfkids-flutter-clean-architecture/</link><pubDate>Sat, 18 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/kahfkids-flutter-clean-architecture/</guid><description>&lt;p&gt;I&amp;rsquo;m Mohammad Jashem — a Senior Mobile Architect. &lt;a
href="https://mjashem.com/projects/kahfkids-flutter-app-deep-dive/"&gt;Kahf Kids&lt;/a&gt; is an Islamic kids&amp;rsquo; education app I built in Flutter and ran in production for about eighteen months across Android, iOS, and Web: curated YouTube videos, Quran, books, games, courses — all behind a parent-controlled PIN. This is the architecture write-up. Not the marketing page — the engineering one.&lt;/p&gt;</description></item><item><title>Kahf Kids React Native / Expo Architecture: Mobile, Web, TV</title><link>https://mjashem.com/insights/building-kahfkids-rn-expo-architecture/</link><pubDate>Sat, 18 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/building-kahfkids-rn-expo-architecture/</guid><description>&lt;p&gt;I&amp;rsquo;m Mohammad Jashem — a Senior Mobile Architect. This is the architecture deep dive for the React Native / Expo rebuild of &lt;a
href="https://mjashem.com/projects/kahfkids-flutter-app-deep-dive/"&gt;Kahf Kids&lt;/a&gt;, the Islamic kids&amp;rsquo; education app I migrated off Flutter after roughly eighteen months in production. The product is the same — curated video, Quran, books, games, courses, and a doctor-consultation feature (Healthcare / DocTime), all behind a parent-controlled PIN — and the device matrix is the same: low-end Android handsets with Mali and PowerVR GPUs that the Flutter platform-view hot path was ANR-ing on. The architecture underneath is new. This piece is the engineering write-up of that new shape: one React Native / Expo codebase and a shared monorepo package set targeting five platforms — Android, iOS, Web, Android TV, and web TV.&lt;/p&gt;</description></item><item><title>Kahf Kids SEO Architecture: Meta Injection + Sitemaps</title><link>https://mjashem.com/insights/kahfkids-seo-architecture/</link><pubDate>Sat, 18 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/kahfkids-seo-architecture/</guid><description>&lt;p&gt;I&amp;rsquo;m Mohammad Jashem — a Senior Mobile Architect. This is the SEO spoke for &lt;a
href="https://mjashem.com/projects/kahfkids-flutter-app-deep-dive/"&gt;Kahf Kids&lt;/a&gt;, the Islamic kids&amp;rsquo; education app I migrated from Flutter to React Native / Expo after about eighteen months in production. The product runs curated video, Quran, books, games, and courses behind a parent-controlled PIN, and the web build ships out of the same React Native / Expo codebase as the mobile apps — &lt;a
href="https://mjashem.com/insights/building-kahfkids-rn-expo-architecture/"&gt;documented across the cluster&lt;/a&gt;. This piece is narrow on purpose: the engineering decision that got a client-rendered kids&amp;rsquo; video app actually indexed by Google — meta-injection into the SPA shell, not full server-side rendering.&lt;/p&gt;</description></item><item><title>Crewlix Flutter Clean Architecture: HR App Deep Dive</title><link>https://mjashem.com/insights/building-crewlix-flutter-clean-architecture/</link><pubDate>Fri, 17 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/building-crewlix-flutter-clean-architecture/</guid><description>&lt;p&gt;I&amp;rsquo;m Mohammad Jashem — a Senior Mobile Architect. &lt;a
href="https://mjashem.com/projects/crewlix-hr-app/"&gt;Crewlix&lt;/a&gt; is an HR management app I built in Flutter and shipped to Google Play and the App Store: attendance, leave, employee profiles, and a social feed. This is the architecture write-up — not the marketing version, the engineering one.&lt;/p&gt;</description></item><item><title>AI Code Review in CI/CD: From Slow Reviews to Instant</title><link>https://mjashem.com/insights/ai-code-review-in-ci-cd/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/ai-code-review-in-ci-cd/</guid><description>&lt;p&gt;Review latency is the quietest killer of release cadence on a long-running app. The build ships in minutes, the pipeline promotes in minutes, and then a PR sits for a day and a half waiting for a human to look at it. I&amp;rsquo;m a senior mobile architect — I&amp;rsquo;ve maintained the &lt;a
href="https://mjashem.com/projects/ncc-mobile-app/"&gt;NCC App&lt;/a&gt; for seven-plus years across three stores — and for a long stretch the bottleneck on my own pipeline was me. Adding AI code review to CI/CD is the single change that collapsed that latency. This is the write-up on how it&amp;rsquo;s wired, what it catches, what it misses, and why a human still signs off on every merge.&lt;/p&gt;</description></item><item><title>AI-Assisted Mobile Development — How It Actually Works</title><link>https://mjashem.com/insights/ai-assisted-mobile-development/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/ai-assisted-mobile-development/</guid><description>&lt;p&gt;I&amp;rsquo;m Mohammad Jashem — a Senior Mobile Architect with 7+ years shipping Flutter, React Native, and Expo in production. I delivered the redesigned &lt;a
href="https://mjashem.com/projects/kahfkids-flutter-app-deep-dive/"&gt;Kahf Kids&lt;/a&gt; React Native/Expo app in three months, 100% AI-assisted, and I run AI code review on every merge in my CI/CD pipelines. So when founders ask me what &amp;ldquo;AI-assisted mobile development&amp;rdquo; means in practice, my answer isn&amp;rsquo;t a hype pitch. It&amp;rsquo;s a workflow description.&lt;/p&gt;</description></item><item><title>Flutter Platform-View ANRs on Mali/PowerVR GPUs</title><link>https://mjashem.com/insights/flutter-platform-view-anr-mali-powervr/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/flutter-platform-view-anr-mali-powervr/</guid><description>&lt;p&gt;This is the investigation I wish someone had handed me before I spent six weeks patching a Flutter platform-view ANR I couldn&amp;rsquo;t fix in app code. It&amp;rsquo;s the engineering detail behind &lt;a
href="https://mjashem.com/insights/flutter-vs-react-native-vs-expo/"&gt;our full comparison of Flutter vs React Native vs Expo&lt;/a&gt; and the failure mode that ended in &lt;a
href="https://mjashem.com/insights/migrating-kahf-kids-flutter-to-react-native-expo/"&gt;migrating Kahf Kids off Flutter&lt;/a&gt;. Dev forums are full of &lt;em&gt;&amp;ldquo;Flutter WebView ANR on Redmi Note&amp;rdquo;&lt;/em&gt; threads with no real answers — most blame the WebView, tell you to enable hybrid composition, or say clear the cache. None of that fixes this.&lt;/p&gt;</description></item><item><title>Flutter vs React Native vs Expo for MVPs</title><link>https://mjashem.com/insights/flutter-vs-react-native-vs-expo/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/flutter-vs-react-native-vs-expo/</guid><description>&lt;p&gt;I&amp;rsquo;m Mohammad Jashem — a Senior Mobile Architect with 7+ years shipping Flutter, React Native, and Expo in production. I&amp;rsquo;ve kept &lt;a
href="https://mjashem.com/projects/ncc-mobile-app/"&gt;one Flutter app alive for seven years across three stores&lt;/a&gt;, I&amp;rsquo;ve &lt;a
href="https://mjashem.com/projects/crewlix-hr-app/"&gt;built an HR platform in Flutter&lt;/a&gt; because Flutter was the right call for that product, and I&amp;rsquo;ve also &lt;a
href="https://mjashem.com/projects/kahfkids-flutter-app-deep-dive/"&gt;migrated a Flutter app off Flutter&lt;/a&gt; when the architecture stopped fitting. So when founders ask me &amp;ldquo;Flutter or React Native or Expo for the MVP,&amp;rdquo; my answer is never &amp;ldquo;it depends.&amp;rdquo; It depends on &lt;em&gt;what&lt;/em&gt; — and I can tell you the what in about ten minutes if you describe the product.&lt;/p&gt;</description></item><item><title>Hire a Flutter Developer in 2026</title><link>https://mjashem.com/insights/hire-flutter-developer-2026/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/hire-flutter-developer-2026/</guid><description>&lt;p&gt;If you&amp;rsquo;re hiring a Flutter developer in 2026, you&amp;rsquo;re doing it for one of two reasons: you want one codebase shipping to iOS and Android simultaneously, or you have a Flutter app that needs to stay alive. Both are sound decisions — the hire that goes wrong is the one where the buyer couldn&amp;rsquo;t tell a senior architect from a junior who&amp;rsquo;d shipped one tutorial app.&lt;/p&gt;</description></item><item><title>Maintaining a Flutter App for 7 Years</title><link>https://mjashem.com/insights/maintaining-flutter-app-long-term/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/maintaining-flutter-app-long-term/</guid><description>&lt;p&gt;I&amp;rsquo;m Mohammad Jashem — a Senior Mobile Architect, and for the last 7+ years I&amp;rsquo;ve been the maintainer of the &lt;a
href="https://mjashem.com/projects/ncc-mobile-app/"&gt;NCC App&lt;/a&gt;, the student-assistance app for Northwest Career College. It started on Flutter 1.x in 2019. The current build runs on Flutter 3.41.x stable, with Dart 3, Impeller, and Material 3. Same codebase. Same store listings — Google Play, App Store, Amazon Appstore. Zero major production incidents across the entire window.&lt;/p&gt;</description></item><item><title>Mobile CI/CD &amp; Release Automation — The Complete Stack</title><link>https://mjashem.com/insights/mobile-ci-cd-release-automation/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/mobile-ci-cd-release-automation/</guid><description>&lt;p&gt;I&amp;rsquo;m Mohammad Jashem — a Senior Mobile Architect shipping Flutter, React Native, and Expo to production for 7+ years. I maintain the &lt;a
href="https://mjashem.com/projects/ncc-mobile-app/"&gt;NCC App&lt;/a&gt; across Google Play, the App Store, and Amazon Appstore, and I haven&amp;rsquo;t cut a release by hand in years. Three stores, three review processes, three device matrices — all on a pipeline I built once and have kept shippable since.&lt;/p&gt;</description></item><item><title>Why I Migrated Kahf Kids from Flutter to React Native/Expo</title><link>https://mjashem.com/insights/migrating-kahf-kids-flutter-to-react-native-expo/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/insights/migrating-kahf-kids-flutter-to-react-native-expo/</guid><description>&lt;p&gt;I&amp;rsquo;m Mohammad Jashem — a Senior Mobile Architect. This is the story of moving &lt;a
href="https://mjashem.com/projects/kahfkids-flutter-app-deep-dive/"&gt;Kahf Kids&lt;/a&gt; off Flutter after roughly eighteen months in production: why the call was forced, what I rebuilt, and how it shipped in three months with an AI-assisted workflow. Not the marketing version — the engineering one.&lt;/p&gt;</description></item></channel></rss>