<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hugo Rus</title>
    <description>The latest articles on DEV Community by Hugo Rus (@hugo_rus_630dd942fcf7cc62).</description>
    <link>https://dev.to/hugo_rus_630dd942fcf7cc62</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4004016%2F5d302419-e375-4c77-b600-eeb065755471.png</url>
      <title>DEV Community: Hugo Rus</title>
      <link>https://dev.to/hugo_rus_630dd942fcf7cc62</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hugo_rus_630dd942fcf7cc62"/>
    <language>en</language>
    <item>
      <title>A Freelance React Native Workflow That Cuts MVP Delivery From 4 Weeks to 1</title>
      <dc:creator>Hugo Rus</dc:creator>
      <pubDate>Mon, 29 Jun 2026 13:22:57 +0000</pubDate>
      <link>https://dev.to/hugo_rus_630dd942fcf7cc62/a-freelance-react-native-workflow-that-cuts-mvp-delivery-from-4-weeks-to-1-5cin</link>
      <guid>https://dev.to/hugo_rus_630dd942fcf7cc62/a-freelance-react-native-workflow-that-cuts-mvp-delivery-from-4-weeks-to-1-5cin</guid>
      <description>&lt;h1&gt;
  
  
  A Freelance React Native Workflow That Cuts MVP Delivery From 4 Weeks to 1
&lt;/h1&gt;

&lt;p&gt;If you freelance on React Native, your build time isn't where you think it is. It's not in component code — it's in the workflow loop around it: pre-kickoff scaffolding, Figma-to-real-app translation, scope-change re-quotes. This post walks through a freelance delivery workflow I've been running with an AI app builder (RapidNative) and the actual tradeoffs I've hit shipping client projects with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The starting state: where freelance React Native time actually goes
&lt;/h2&gt;

&lt;p&gt;Real numbers from my last 12 client projects (solo, $80/h blended, 4-week MVPs):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Phase&lt;/th&gt;
&lt;th&gt;Avg hours&lt;/th&gt;
&lt;th&gt;What I was actually doing&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Pre-kickoff scaffolding&lt;/td&gt;
&lt;td&gt;18h&lt;/td&gt;
&lt;td&gt;Expo init, navigation, theme, auth screens, basic state&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Discovery + design alignment&lt;/td&gt;
&lt;td&gt;14h&lt;/td&gt;
&lt;td&gt;Figma walkthroughs, "what does this look like on a phone" debates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Initial screen build&lt;/td&gt;
&lt;td&gt;35h&lt;/td&gt;
&lt;td&gt;6–8 screens, basic CRUD, mock data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Revisions round 1&lt;/td&gt;
&lt;td&gt;10h&lt;/td&gt;
&lt;td&gt;Translating Figma feedback into code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mid-project scope change&lt;/td&gt;
&lt;td&gt;14h&lt;/td&gt;
&lt;td&gt;Re-quoted, sometimes absorbed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API wiring + polish&lt;/td&gt;
&lt;td&gt;18h&lt;/td&gt;
&lt;td&gt;The actually interesting work&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~109h&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The boring 70% is the first three rows. AI is genuinely good at those.&lt;/p&gt;

&lt;h2&gt;
  
  
  The workflow I run now
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Pre-kickoff: paste the brief, get a working app
&lt;/h3&gt;

&lt;p&gt;Before the kickoff call, I paste the client's brief into RapidNative. ~10 minutes later there's a working Expo project on a QR code. No npx create-expo-app, no theme tokens, no navigation wiring. The generated project includes Expo Router navigation, a basic design system, screens implied by the brief, and realistic mock data.&lt;/p&gt;

&lt;p&gt;This is the step that costs me 18 hours on a traditional project. It now costs me 10 minutes plus a coffee.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Kickoff call: demo on the client's phone, iterate live
&lt;/h3&gt;

&lt;p&gt;The QR code matters more than the build itself. The client scans, the app opens on their phone, they tap through their own app during the call. When they want a change — "this button should be green," "remove this onboarding screen" — I use the point-and-edit mode. Click the element, type the change, watch it update on their phone in real time.&lt;/p&gt;

&lt;p&gt;This compresses what used to be a week of feedback loops into one call. The technical reason: feedback against a real interactive app is concrete. Feedback against Figma is theoretical.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Async iteration via team collaboration
&lt;/h3&gt;

&lt;p&gt;Between calls, I invite the client into the project as a collaborator. They can comment on specific screens or drop their own prompts for small changes. I wake up to a punch list with screenshots attached to the specific screen.&lt;/p&gt;

&lt;p&gt;If they're non-technical, point-and-edit is dangerous to give them write access on — but a comment-only role is fine.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Mid-project scope change: absorbed in an afternoon
&lt;/h3&gt;

&lt;p&gt;The week-3 "can we add a referral flow?" used to cost me 14 hours of build + 2 hours of awkward emails. Now it's a prompt — "add a referral flow with a share button on the profile screen, a stats screen, and a redemption screen" — and an afternoon of polish. I usually absorb it. The math works because the cost is now hours, not days.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Export → VS Code → ship
&lt;/h3&gt;

&lt;p&gt;When the prototype is signed off, I export to a real React Native + Expo repo and continue in VS Code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Replace mock data with real API calls&lt;/li&gt;
&lt;li&gt;Wire auth properly (the AI scaffolds the screens but I always rewrite the actual flow)&lt;/li&gt;
&lt;li&gt;Add the custom business logic the brief mentioned but the AI guessed at&lt;/li&gt;
&lt;li&gt;Run on a device, fix the inevitable native quirks&lt;/li&gt;
&lt;li&gt;Submit to App Store / Google Play&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The export is a normal Expo project. npx expo start runs it locally. No vendor lock-in.&lt;/p&gt;

&lt;h2&gt;
  
  
  What AI does well, what it doesn't
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Well:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scaffolding: navigation, theme, layouts, screens&lt;/li&gt;
&lt;li&gt;Standard UI patterns: list/detail, forms, settings, onboarding&lt;/li&gt;
&lt;li&gt;Stylistic iteration: "make this look like X"&lt;/li&gt;
&lt;li&gt;Mock data and basic state management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Not well:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Payments (Stripe / RevenueCat / IAP) — always rewrite by hand&lt;/li&gt;
&lt;li&gt;Custom auth flows with edge cases — scaffolds the screens, you write the actual flow&lt;/li&gt;
&lt;li&gt;Real-time / WebSocket-heavy features&lt;/li&gt;
&lt;li&gt;Anything with non-obvious business logic — the AI guesses, and the guess is usually wrong in subtle ways&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The split is convenient: the "well" column is the part of freelance projects that's hardest to bill for. The "not well" column is the part you should be billing premium rates on anyway.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical tips after ~10 projects on this workflow
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Export early.&lt;/strong&gt; First day of the project, export the code and run it locally. Catches any environment issues before the demo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't generate, then edit, then regenerate.&lt;/strong&gt; Once you've started hand-editing in VS Code, treat the AI builder as a prototype tool, not a continued source of truth. Mixing both creates merge pain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use point-and-edit for visual changes, prompts for structural changes.&lt;/strong&gt; Trying to do structural changes through point-and-edit produces inconsistent results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;For complex flows, scaffold them as separate small prompts, not one big prompt.&lt;/strong&gt; Asking the AI to "build a complete e-commerce checkout with payment, shipping, tax, and confirmation" produces worse output than asking for each screen individually.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep a client-notes.md in the project root.&lt;/strong&gt; AI builders don't preserve the "why" behind decisions; you do.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The economics question every freelancer asks
&lt;/h2&gt;

&lt;p&gt;If a 4-week MVP becomes a 1-week sprint, do you cut your price 75%? No. You either:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hold the price and shorten the timeline (clients love this)&lt;/li&gt;
&lt;li&gt;Hold the price and run 3–4× more projects per year&lt;/li&gt;
&lt;li&gt;Productize: "Mobile MVP in 7 days for $X" as a fixed offer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The speed itself is the value. Most clients pay for outcome, not hours.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it on your next brief
&lt;/h2&gt;

&lt;p&gt;The fastest test: take your next client brief, paste it into &lt;a href="https://www.rapidnative.com/?utm_source=devto&amp;amp;utm_medium=content&amp;amp;utm_campaign=ai-app-builder-for-freelancers-deliver-mobile-apps-10x-faster" rel="noopener noreferrer"&gt;RapidNative&lt;/a&gt;, and see what comes back in 10 minutes. If it's useful, you saved 2 days of scaffolding. If it's not, you spent 10 minutes.&lt;/p&gt;

&lt;p&gt;I've found it's reliably useful for the 70% of freelance work that's the same on every project. Your mileage with the other 30% — the custom business logic that's why the client hired you — is up to you.&lt;/p&gt;

&lt;p&gt;If you've already explored this space, the &lt;a href="https://www.rapidnative.com/blogs/inside-the-export-pipeline-from-ai-generated-react-native-code-to-the-app-store?utm_source=devto&amp;amp;utm_medium=content&amp;amp;utm_campaign=ai-app-builder-for-freelancers-deliver-mobile-apps-10x-faster" rel="noopener noreferrer"&gt;export pipeline post&lt;/a&gt; goes deeper on what the output actually looks like.&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>ai</category>
      <category>freelance</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
