<?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: boaz-hwang</title>
    <description>The latest articles on DEV Community by boaz-hwang (@boaz-hwang).</description>
    <link>https://dev.to/boaz-hwang</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F584595%2F9a5e11d6-6d59-4df1-8472-7a43d12872c8.png</url>
      <title>DEV Community: boaz-hwang</title>
      <link>https://dev.to/boaz-hwang</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/boaz-hwang"/>
    <language>en</language>
    <item>
      <title>How I shipped 3 apps in a month and built the tool that made it possible</title>
      <dc:creator>boaz-hwang</dc:creator>
      <pubDate>Tue, 07 Apr 2026 06:36:59 +0000</pubDate>
      <link>https://dev.to/boaz-hwang/how-i-shipped-3-apps-in-a-month-and-built-the-tool-that-made-it-possible-59p1</link>
      <guid>https://dev.to/boaz-hwang/how-i-shipped-3-apps-in-a-month-and-built-the-tool-that-made-it-possible-59p1</guid>
      <description>&lt;p&gt;I quit my job in March. By the end of April, I had three native iOS/Android apps on the App Store.&lt;/p&gt;

&lt;p&gt;No team. No co-founder. No funding.&lt;/p&gt;

&lt;p&gt;I'm self-taught. No CS degree. 10 years of shipping fullstack — startups, large companies, everything in between. And I did the three apps alone.&lt;/p&gt;

&lt;p&gt;Here's what actually happened.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real bottleneck isn't coding
&lt;/h2&gt;

&lt;p&gt;Before I quit, I spent a week thinking about why solo projects take so long.&lt;/p&gt;

&lt;p&gt;Turns out it's not the coding. It's everything around it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setting up auth for the third time in two years&lt;/li&gt;
&lt;li&gt;Wiring in payments, push notifications, onboarding — from scratch again&lt;/li&gt;
&lt;li&gt;Spending half a day deciding between X and Y, then Googling the same thread you've read before&lt;/li&gt;
&lt;li&gt;Switching between building and debugging infrastructure that should just work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I had 10 years of experience. I was still losing weeks to setup.&lt;/p&gt;

&lt;p&gt;So before I wrote a single line of product code, I built a foundation. Auth. Payments. Push notifications. Navigation patterns. All the things I knew I'd need — done once, reusable everywhere.&lt;/p&gt;

&lt;p&gt;Week one was entirely infrastructure. Then the apps started going fast.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The timeline:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Week&lt;/th&gt;
&lt;th&gt;What happened&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Week 1&lt;/td&gt;
&lt;td&gt;Build the foundation — auth, payments, push, navigation. Done once.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Week 2&lt;/td&gt;
&lt;td&gt;App #1 submitted. Core feature: 3 days. Setup time: near zero.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Week 3&lt;/td&gt;
&lt;td&gt;App #2 submitted. Different problem. Same foundation. Faster.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Week 4&lt;/td&gt;
&lt;td&gt;App #3 submitted. Felt like a production line.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;After&lt;/td&gt;
&lt;td&gt;Productized the system → AI App Factory&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Why native apps
&lt;/h2&gt;

&lt;p&gt;I wanted to ship actual native apps to the App Store. Real iOS. Real Android. Not web apps wrapped in a shell.&lt;/p&gt;

&lt;p&gt;Web wrappers are fast to generate. But they feel like web apps. Scroll physics are off. Keyboard behavior is wrong. Animations don't match the platform. Users notice even if they can't articulate it.&lt;/p&gt;

&lt;p&gt;I was building things I planned to sell. That meant building things people would actually use. So I went native from the start — React Native 0.81 with Expo, a real NestJS backend, Supabase for the database.&lt;/p&gt;

&lt;p&gt;More setup upfront. But no compromises on what ships.&lt;/p&gt;

&lt;h2&gt;
  
  
  The revenue pipeline
&lt;/h2&gt;

&lt;p&gt;Here's the thing most people miss about side projects.&lt;/p&gt;

&lt;p&gt;The hard part isn't the app. The hard part is getting to the point where revenue is even &lt;em&gt;possible&lt;/em&gt;. Most solo builders never get there. Not because the idea is bad. Because the pipeline is incomplete.&lt;/p&gt;

&lt;p&gt;App built → but not submitted. Submitted → but no monetization. Monetization added → but the ad SDK isn't wired. Or the in-app purchase flow breaks on Android. Or the push notification setup was never finished so you can't re-engage users.&lt;/p&gt;

&lt;p&gt;Most side projects die in this gap. The app works on your simulator. It never makes it to a real user's phone with money flowing.&lt;/p&gt;

&lt;p&gt;So I built the system to close that gap completely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;App Store + Play Store&lt;/strong&gt;: Automated submission. One command.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AdMob&lt;/strong&gt;: Pre-installed and configured. Ads show up on day one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RevenueCat&lt;/strong&gt;: In-app purchases and subscriptions, wired from the start.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Push notifications&lt;/strong&gt;: Ready to send. Re-engagement from launch.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After I shipped those 3 apps, actual ad revenue started coming in. $0.35 on the first week. Tiny. But not zero. The pipeline worked.&lt;/p&gt;

&lt;p&gt;The point isn't "$0.35 will change your life." The point is: &lt;strong&gt;the money pipeline was complete in a weekend.&lt;/strong&gt; App live on the store, ads connected, users coming in, revenue flowing. Most people spend months and never reach this state.&lt;/p&gt;

&lt;p&gt;I'm not selling "you'll make money." I'm selling the pipeline that makes revenue possible. What you earn depends on your idea and your execution. But the infrastructure — the part that stops 90% of side projects from ever generating a dollar — that's handled.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"App launch → Ad connection → First revenue. This pipeline, done in a weekend."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  About AI
&lt;/h2&gt;

&lt;p&gt;AI didn't make me fast. A good system made me fast. AI made the system faster to operate.&lt;/p&gt;

&lt;p&gt;I think of it like an Iron Man suit. The suit amplifies what you can already do. Put it on someone who knows exactly what they're building — they become much more capable. But if you don't know what you're building, the suit just lets you move in the wrong direction faster.&lt;/p&gt;

&lt;p&gt;The thing that actually mattered was being clear about the problem before writing any code. Every hour I spent on that saved ten hours of building the wrong thing. That's been true my whole career. AI didn't change it.&lt;/p&gt;

&lt;p&gt;What AI changed: execution got cheaper. The thinking part is still on you.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Common take&lt;/th&gt;
&lt;th&gt;What I actually found&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AI makes it so you don't need to think&lt;/td&gt;
&lt;td&gt;AI amplifies thinking people. It doesn't replace thinking.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The bottleneck is writing code faster&lt;/td&gt;
&lt;td&gt;The bottleneck is setup, decisions, and problem definition.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ship fast = cut corners on the product&lt;/td&gt;
&lt;td&gt;Ship fast = eliminate everything except the actual problem.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What the system looks like now
&lt;/h2&gt;

&lt;p&gt;After those three apps, I kept refining. The boilerplate grew. I added AI agents for specific tasks — generating screens from specs, writing API endpoints, scaffolding test cases. I added automation scripts for the tedious parts — App Store metadata, environment setup, icon generation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The stack:&lt;/strong&gt; React Native 0.81, Expo ~54, NestJS 11, Supabase, 11 AI agents, 8 automation scripts.&lt;/p&gt;

&lt;p&gt;Everything is production-ready from day one. Auth flows. Payment integration. Push notification setup. AdMob. RevenueCat. The things that cost weeks when you start from zero — already built and connected.&lt;/p&gt;

&lt;p&gt;It's a one-time purchase. You get the code. You own it. No subscription eating into your margins every month.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;Three apps in one month is fast. Honestly, the month was exhausting. I wouldn't recommend the pace as a lifestyle.&lt;/p&gt;

&lt;p&gt;But a few things from it have stuck:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write down what you're building before you build it.&lt;/strong&gt; One paragraph. What problem, for who, how you'll know it worked. Every shortcut here costs double later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Complete the pipeline, not just the app.&lt;/strong&gt; An app without monetization, without store presence, without push notifications — that's a demo, not a product. Close every gap before you launch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem definition matters more than technology.&lt;/strong&gt; I've believed this for 10 years. AI hasn't changed it. It's just made it more obvious — because now the execution gap between people who think clearly and people who don't is immediate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ship something real.&lt;/strong&gt; Not a prototype you're privately embarrassed about. Something you'd actually pay for. Something that can pay you back.&lt;/p&gt;




&lt;p&gt;The system I used to ship those three apps is now &lt;a href="https://productengineer.info/camp/en/ai-app-factory" rel="noopener noreferrer"&gt;AI App Factory&lt;/a&gt;. Same boilerplate. Same agents. Same revenue pipeline.&lt;/p&gt;

&lt;p&gt;If you're building native mobile — or thinking about it — and you're tired of losing weeks to setup before you can even start earning: this is what solved it for me.&lt;/p&gt;

&lt;p&gt;Happy to answer any questions about the build in the comments.&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>ai</category>
      <category>buildinpublic</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Steep Slopes Ahead: Navigating AI's Rapid Changes as a Product Engineer</title>
      <dc:creator>boaz-hwang</dc:creator>
      <pubDate>Fri, 28 Mar 2025 05:50:19 +0000</pubDate>
      <link>https://dev.to/boaz-hwang/steep-slopes-ahead-navigating-ais-rapid-changes-as-a-product-engineer-2g4i</link>
      <guid>https://dev.to/boaz-hwang/steep-slopes-ahead-navigating-ais-rapid-changes-as-a-product-engineer-2g4i</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdkietoquydmdhs4gm5bz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdkietoquydmdhs4gm5bz.png" alt=" " width="322" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today's story is about the steep slope of rapid changes in the AI era and how Product Engineers can adapt. To illustrate what's necessary for adaptation, I’m using the analogy of riding a bicycle.&lt;/p&gt;

&lt;h1&gt;
  
  
  A Steep Slope
&lt;/h1&gt;

&lt;p&gt;Thanks to advancements in AI, makers can now move as swiftly as if racing downhill. Even those without coding knowledge can easily create simple apps, provided they have problem awareness and creativity. This development will likely lead to a surge of diverse apps aimed at addressing inefficiencies across society. Moreover, those with development knowledge can now build richer functionalities more swiftly than ever. Some apps might stay at a prototype level, but many will achieve significantly higher quality.&lt;/p&gt;

&lt;p&gt;In the U.S., even before AI’s rapid advancement, some developers were already earning a living from simple apps. For instance, a developer featured recently on Geeknews runs a wedding seating arrangement web app and makes a comfortable monthly income. As AI evolves further, I expect more of such examples—people solving real problems around them with technology, creating tangible business value, and sustaining themselves financially.&lt;/p&gt;

&lt;p&gt;However, as more apps emerge to solve various problems, it might become challenging to find the perfect app tailored to an individual's specific needs. With too many apps available, and an inability to know them all, finding the right app could be tough. Yet, this challenge itself could be solved by AI. I imagine AI will evolve toward directly finding suitable apps for us.&lt;/p&gt;

&lt;p&gt;One of the reasons I think this way is due to OpenAI's recent announcement of a new feature called Operator. To briefly describe the demo, when a user inputs a request like "Make a restaurant reservation for two at 7 pm" into Operator and selects an appropriate web app, the AI directly controls the computer, accesses the chosen web app, and completes the reservation. During this process, the human never touches the mouse or keyboard. The cursor clicks autonomously, inputs the necessary information, and completes the booking. Though a web app was used, there was zero human involvement in the interaction.&lt;/p&gt;

&lt;p&gt;Currently, humans still choose the appropriate app within Operator, but soon even that selection might be handled by AI. It's an entirely plausible scenario if the AI learns human preferences.&lt;/p&gt;

&lt;p&gt;The idea of AI selecting services on our behalf leads to another, perhaps even more shocking, shift: people may no longer be the primary users of digital services. Instead, making services user-friendly for AI could become a new competitive edge. We might need to consider developing interfaces tailored specifically for AI rather than humans.&lt;/p&gt;

&lt;h1&gt;
  
  
  Riding a Bicycle
&lt;/h1&gt;

&lt;p&gt;When facing steep, rapid changes, new tools seem essential for adaptation. With advancements in AI affecting the very concept of user interfaces and more, the role of frontend engineers must evolve accordingly. Although there are many ways to evolve, I see expanding the role into Product Engineering as a compelling direction.&lt;/p&gt;

&lt;p&gt;The core of a Product Engineer's role is Product Engineering. But what exactly is Product Engineering? To clarify, I've divided Product Engineering into three phases: Discovery, Architecture, and Development. To simplify understanding, I'll use the analogy of riding a bicycle.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1k0qw1d8jsh5f4w5bskk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1k0qw1d8jsh5f4w5bskk.png" alt=" " width="800" height="636"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Discovery (Handlebars)
&lt;/h2&gt;

&lt;p&gt;Discovery acts like bicycle handlebars, setting the direction for Product Engineering. It involves recognizing real-world problems and translating them into solvable technical challenges. This stage includes user interviews to pinpoint users' genuine problems. Analyzing and reflecting on interview results helps define the true issue—not creating problems from thin air, but recognizing existing ones. Finally, systematic thinking is crucial, as it influences the next phase, Architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture (Front Wheel)
&lt;/h2&gt;

&lt;p&gt;Architecture guides the direction set by Discovery, just as a front wheel follows the handlebars. It concretizes the path forward for Product Engineering, notably through system design. This stage outlines specifics about how Development will proceed. The more detailed context we provide AI Editors, the higher quality code they produce. With flexible, scalable architecture, developing complex apps becomes achievable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Development (Rear Wheel and Gears)
&lt;/h2&gt;

&lt;p&gt;Development propels Product Engineering forward, much like the rear wheel of a bicycle. The big gear provides substantial power but moves slowly, analogous to foundational skills (Computational Thinking, Algorithms &amp;amp; Data Structures). The small gear offers less power but moves quickly, similar to practical technical skills (Framework Knowledge, AI Editors). Just as climbing uphill requires the big gear and moving fast demands the small gear, both foundational and practical skills are crucial for effective development. These elements combine with the rear wheel (implementation) to drive Product Engineering forward.&lt;/p&gt;

&lt;h1&gt;
  
  
  Navigating the Steep Slope
&lt;/h1&gt;

&lt;p&gt;As frontend engineers, we inevitably encounter steep slopes—such as rapid AI advancements. For those equipped with the right tools, such changes can become incredible opportunities. By preparing tools that suit us personally—like having the essential skills needed by frontend engineers to leverage AI advancements—we can lead rather than follow changes.&lt;/p&gt;

&lt;p&gt;At the end of March, I'm launching the Product Engineer Community, a gathering of people riding bicycles together, navigating steep slopes with ease. Why not join us and enjoy the ride?&lt;/p&gt;

&lt;p&gt;If you’d like to join the Product Engineer Community and ride along, please click the link below to subscribe :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pecwithboazglobal.substack.com/" rel="noopener noreferrer"&gt;https://pecwithboazglobal.substack.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>career</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
