<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Guide on Mohammad Jashem — Senior Full-Stack Mobile Engineer</title><link>https://mjashem.com/categories/guide/</link><description>Recent content in Guide 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/categories/guide/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>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 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>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>Flutter State Management: What I'd Actually Pick in 2026</title><link>https://mjashem.com/blog/flutter-state-management/</link><pubDate>Wed, 17 Jan 2024 00:00:00 +0600</pubDate><author>mjashem@hotmail.com (Mohammad Jashem)</author><guid>https://mjashem.com/blog/flutter-state-management/</guid><description>&lt;p&gt;I&amp;rsquo;ve shipped three production Flutter apps — the &lt;a
href="https://mjashem.com/projects/ncc-mobile-app/"&gt;NCC App&lt;/a&gt; (seven years and counting), &lt;a
href="https://mjashem.com/projects/kahfkids-flutter-app-deep-dive/"&gt;Kahf Kids&lt;/a&gt;, and &lt;a
href="https://mjashem.com/projects/crewlix-hr-app/"&gt;Crewlix&lt;/a&gt; — and every one of them runs on Riverpod. Not because Riverpod is objectively best. Because after a decade of &lt;code&gt;setState&lt;/code&gt; sprawl, Provider, Bloc, and Riverpod across real codebases, it&amp;rsquo;s the one that stopped costing me time.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://mjashem.com/blog/flutter-state-management/featured.png"/></item></channel></rss>