From: gregisenberg
This episode explores an accessible approach to generating online income through “vibe coding” and selling AI services on Upwork [00:00:00]. This method has enabled solo developers and small teams to earn significant monthly incomes by leveraging prompting apps found on Upwork [00:00:19].

Strategy: Finding a Buyer Before Building

A core strategy discussed is to find a buyer for an app before it is built [00:02:24]. This approach makes it easier to sell and gain users, rather than building first and then seeking validation [00:02:26]. Upwork serves as a valuable platform to discover what businesses need and what software solutions they are willing to purchase [00:00:42].

The process often involves identifying existing technologies or services that can be replaced or improved upon with a custom app [00:03:52]. For example, replacing an AirTable-based system due to its per-seat cost [00:03:08].

Identifying Opportunities on Upwork

When scouring Upwork, look for:

  • Technologies to Replace Keywords like “AirTable” or “HubSpot” can reveal opportunities to build custom solutions that are better or cheaper [00:02:49].
  • Simple CRUD Apps Prioritize “CRUD apps” (Create, Read, Update, Delete) that involve putting data into a database, pulling it, and visualizing it, as these are typically easier to build with vibe coding [00:05:22].
  • Avoid Overly Complex Integrations Initially While AI can handle many integrations, some can be time-consuming to debug. Initial focus should be on less complex integrations [00:04:48].
  • “Automations” as a Keyword Many automations can be converted into apps with a front end [00:09:33].

Pricing and Monetization

Job postings on Upwork can be priced low [00:06:52]. It’s possible to submit a proposal priced higher than the stated budget and hope the client accepts [00:07:03]. Upwork uses “connects” (credits) to apply for jobs and “boost” proposals to appear higher in client inboxes [00:07:11].

Projects can start around $750 [00:07:40]. Beyond the initial project fee, there’s potential for recurring revenue by adding on future features and charging for hosting [00:07:53].

The “Vibe Coding” Process with Replit AI

The process involves leveraging AI tools to rapidly prototype and build applications.

Requirements to Prototype

  1. Transform Requirements into a PRD: Take a job description from Upwork and feed it into a tool like ChatGPT, asking it to format the requirements as a Product Requirements Document (PRD) for an AI coding assistant [00:11:12].
  2. AI Agnostic Tech Stack: Instruct the AI to be agnostic about the tech stack, allowing the chosen AI development environment to determine the best framework [00:12:08].
  3. Feed into Replit: Paste the PRD into Replit and instruct it to “build me this app” [00:13:50]. You can specify UI libraries like Shad CN for pre-built React components [00:14:03].
  4. UI Enhancement with VO: For a specific UI upgrade, describe the page’s function in VO (a tool for generating UI mockups) and pull the front-end code into Replit [00:14:22]. This is particularly useful for client wireframes [00:14:55].
  5. Replit V2 and Cloud 3.7: Replit V2, powered by Cloud 3.7, autonomously scaffolds the app, asks questions about features (e.g., Postgress database), and helps set up the app for future additions [00:15:21].
    • Benefits of Replit: It allows development from idea to MVP with minimal friction, handles package management, and offers easy deployment and testing [00:12:45]. It consistently produces a runnable starting point, overcoming initial “writer’s block” for code [00:18:16].

Addressing Complexity and Pitfalls

While AI-generated apps are solid, they require some “TLC” (Tender Loving Care) for production [00:19:24]. Developers should anticipate how users might break the app [00:19:33].

Complex Features to Watch Out For:

  • Payments [00:20:05]
  • DocuSign [00:20:05]
  • Anything involving calendars, date formatting, and time zones, as AI can get mixed up [00:20:19]
  • POST requests where data is changed on other apps or servers [00:21:01]

For the final 15% of development, especially for complex integrations or “kicking the tires,” it’s recommended to hire a specialized developer, potentially through Replit bounties [00:21:15].

Replit Bounties

Replit offers a “Get Help” feature with bounties, allowing users to pay developers (using “cycles” or credits) to troubleshoot or add specific features [00:22:07]. This can be a cost-effective way to get past frustrating coding blocks [00:23:01].

Business Models and Scaling

This approach is essentially a form of “vibe consulting,” where AI is used to build and deliver services [00:28:48]. Solo developers can potentially clear 10K per month without outside help [00:24:54].

Consulting vs. SaaS:

  • Vibe Consulting/Service (Easy Mode): Getting paid for a service by building custom apps for specific clients is considered “easy mode.” It’s derisked because a price is secured upfront [00:34:09]. It allows for continuous learning across various projects and fosters serendipity [00:30:35].
  • B2B SaaS (Medium Mode): Building software for other businesses is a viable option, even with a small number of high-paying clients [00:34:16].
  • B2C Viral App (Hard Mode): Building a multi-million dollar annual revenue SaaS business is deemed a “nightmare” and a “money pit” due to high marketing costs and the significant challenge of distribution [00:29:29]. It carries higher risk [00:34:48].

One exciting aspect of finding problems on Upwork is the potential to identify a “burning hot problem” that can be resolved for multiple clients in the same industry, effectively creating a repeatable solution or even an “unbundled” SaaS [00:31:05]. The idea of “unbundling existing SaaS” involves using AI to replicate or build a cheaper version of an existing product (like Ahrefs) using public APIs, or targeting a specific niche [00:35:43].

Post-Development and Delivery

  • Proposals: Create a one-minute Loom video demoing the prototyped app, flattering the client by including their company name [00:40:12].
  • IP Ownership: For smaller projects, a standard boilerplate agreement is generally sufficient; complex IP negotiations are often unnecessary [00:42:42].
  • Deployment: Apps can be deployed to a custom domain directly from Replit, or the code can be pushed to GitHub for local deployment elsewhere [00:43:04]. Replit also offers data buckets for object storage [00:43:27]. Replit can store API keys for services like Stripe, making future integrations easier [00:44:03].

The overall advice for aspiring developers is to “vibe code” and build many apps, gaining experience and getting paid to learn [00:45:06].