edmundyong

Untitled

Apr 24th, 2025 (edited)
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.61 KB | None | 0 0
  1. Title:
  2. How I Coded ANOTHER Profitable App SOLO (step by step / no bs / with AI)
  3.  
  4. Concept:
  5. A “challenge” type video where I take the viewers through the full process of creating & launching a full SaaS, with Tempo. It will be a filmed in a realistic “vlog” format where I give daily updates on the task and my thoughts on the progress of the app as I build it. The goals are to finish the app in a short period of time, and to get at least 1 paying customer post-launch. Ending with a reflection of the whole process and outcomes.
  6.  
  7. ✔ Intro/Hook @done(25-04-18 17:37)
  8. Another day... another startup.
  9.  
  10. Recently I moved to Malaysia and from there I've pretty much been spending most of my time coding my latest project.
  11.  
  12. It's been super fun hacking away at something new again, and luckily I've been documenting the whole journey.
  13.  
  14. From coming up with the idea, to building the app, to getting that first paying customer.
  15.  
  16. In this video, I'll show you every step of the process, so you get an idea of what it takes to build and ship a profitable app from scratch, completely solo.
  17.  
  18. And feel free to stick around until the end to see how much money my app actually made.
  19.  
  20. ✔ Disclaimer @done(25-04-18 18:04)
  21. A quick disclaimer, I am partnering with Tempo in this video.
  22.  
  23. As I will be using their platform to help me speed up the initial setup and development of my app.
  24.  
  25. What is Tempo?:
  26. "Tempo is an AI-powered visual editor for React which gives engineers, PMs, and designers the ability to collaborate visually on code.”
  27.  
  28. They specialize in
  29. Helping you rapidly build "production ready" web and mobile apps.
  30.  
  31. Providing pre-configured SaaS templates to handle all the annoying stuff such as: payments, authentication, and database setup.
  32.  
  33. And it does a great job in making app development more approachable for non-technical founders with their easy-to-use visual editor.
  34.  
  35. When I was approached with the opportunity to collab with Tempo, it was an easy "yes" as I was very impressed by their product.
  36.  
  37. And thought it would be a great way to demonstrate what a realistic workflow looks like for building profitable apps from scratch using their tools.
  38.  
  39. While Tempo isn't the only tool for this job, it's definitely a great option as you'll see throughout this video.
  40.  
  41. Now, let's get into the video!
  42.  
  43. ✔ Idea stage @done(25-04-19 16:18)
  44. Solving a real problem (scratching my own itch):
  45. Hook/Transition:
  46. My app idea is a simple tool that allows me to download video transcripts in bulk from YouTube channels or playlists.
  47.  
  48. You're probably asking, why do I want a tool like this?
  49.  
  50. Who it's for / use cases:
  51. Well, it's no secret that YouTube is a goldmine of knowledge and information, but it's all trapped in video format.
  52.  
  53. So I'm building this tool for one main reason
  54.  
  55. I want a quick and easy way to extract all this "gold" from YouTube videos in TEXT format.
  56.  
  57. SO THAT I can feed this data directly into my own custom AI models to help me with everyday tasks
  58.  
  59. Like writing better YouTube scripts or creating custom AI agents to help me with my startups.
  60.  
  61. Then after giving it some more thought, I know I'm not the only one who needs this.
  62.  
  63. Pretty much anyone wanting to train custom AI models with YouTube content is facing the same problem.
  64.  
  65. Manual transcript extraction from YouTube is painfully slow and tedious.
  66.  
  67. And currently, there aren't many good solutions out there. You either have to do it one by one or pay for a subscription service.
  68.  
  69. And if you're anything like me, I don't want to add another subscription to my list of expenses.
  70.  
  71. So then I thought, why not try building this tool myself?
  72.  
  73. It solves a real problem I am facing, and it could potentially be another stream of income if I execute and market it well to other users who are facing the same problem as me.
  74.  
  75. Brief market research — does the product exist already? If so, who are the competitors? What are the ways I can differentiate my app?:
  76. Hook/Transition:
  77. Before I start building, I need to do some quick market research to see what my competitors are offering and what I can do to differentiate my app.
  78.  
  79. Current solutions:
  80. First, there's youtube-transcript.io which offers bulk downloading, but requires a subscription with a credits system.
  81.  
  82. Truthfully as a customer, I don't want to pay a monthly subscription for something I might only use occasionally.
  83.  
  84. So I can definitely see an opportunity for my app to compete by offering a simpler pricing model.
  85.  
  86. And looking at their landing page, they report having over 350,000 users worldwide - a clear sign there's already real demand for this type of product.
  87.  
  88. This gave me even more confidence in my idea and extra motivation compete with them to take a slice of the market.
  89.  
  90. I also found youtubechanneltranscripts.com, but it's been discontinued and no longer works. Not helpful.
  91.  
  92. There are also sites like notegpt.io and tactiq.io which lets you download transcripts, but only one video at a time.
  93.  
  94. Not ideal for my use case as I need to download transcripts in bulk.
  95.  
  96. So my approach will be simple: create a tool with a simpler pricing model and a super clean interface that makes downloading YouTube transcripts in bulk cheap, quick and painless.
  97.  
  98. Forming an SLC:
  99. Hook/Transition:
  100. After scouting out my competitors, I was excited to jump into my code editor and start building.
  101.  
  102. But before I could write a single line of code, I had to plan out what the first version of my app would be like.
  103.  
  104. Otherwise, I'll either end up building something that's just not useful, or I'll get constantly distracted by adding shiny new features that don't actually solve the root problem.
  105.  
  106. Failure to plan is a plan for failure.
  107.  
  108. So, I prefer to use the SLC framework to plan the early versions of my app.
  109.  
  110. I'm not a fan of shipping "MVPs" that are buggy at launch and don't do the key 1-2 features they promise, just for the sake of speed and "shipping fast".
  111.  
  112. The SLC framework stands for Simple, Lovable, and Complete - and I think it's a much better approach than building something that's just "minimum" and "viable".
  113.  
  114. Simple:
  115. For my app to be simple, it needs to have one straightforward path to solving the root problem.
  116.  
  117. Extracting YouTube transcripts in bulk.
  118.  
  119. This means, users should be able to accomplish the task in as few clicks or steps as possible.
  120.  
  121. Enter a YouTube channel or playlist URL → Click one button → Get all transcripts → Download them
  122.  
  123. Easy as that.
  124.  
  125. Lovable:
  126. Nobody likes using a half-baked product.
  127.  
  128. So to make my app lovable, it needs to be immediately useful.
  129.  
  130. For V1 this means users should be able to download thousands of transcripts quickly, and the transcripts should be well-formatted so that they can be fed to AI for training straight away.
  131.  
  132. Your early adopters shouldn't be punished with bugs and crashes. They deserve a product that actually works and does what it promises.
  133.  
  134. Complete:
  135. My app won't be feature-packed at launch, but it will be complete.
  136.  
  137. This means users should be able to sign up, make a purchase, and immediately download transcripts.
  138.  
  139. This is the "leanest" version of my app, and the goal is to provide value from day one, and then iterate the product based on feedback from real users.
  140.  
  141. Like I've said before, I'm aiming to ship a V1 of something simple, instead of a V0.1 of something complex.
  142.  
  143. ✔ Build stage @done(25-04-22 14:53)
  144. Buying the domain:
  145. Hook/Transition:
  146. Now that I have a basic plan in place, it's time to commit and secure a domain for the app.
  147.  
  148. I decided to go with `youtubetranscripts.io` as it's short, descriptive, SEO friendly, and doesn't break the bank.
  149.  
  150. After the domain was secured, it was time to start building.
  151.  
  152. Project setup (using Next.js + Supabase + Stripe template):
  153. For this project, I am using the standard web tech stack - React & Next.js for my frontend and API, Supabase for database and authentication, and Stripe to handle payments.
  154.  
  155. Normally, setting up my projects would take me a few hours to get everything connected and working,
  156.  
  157. But this time, I am using Tempo to help me with the setup process, and I was able to get my auth, database, and payments all working in under 10 minutes.
  158.  
  159. All I had to do was click through their guided setup, paste in a few API keys, and within minutes I had a fully functioning project with all the annoying stuff correctly configured.
  160.  
  161. Then I gave a simple prompt to Tempo describing what my app does
  162.  
  163. `I want to create a web application that allows users to extract transcripts in bulk from YouTube channels or playlists, or from individual videos.`
  164.  
  165. And then it just starts generating the project files, documenting project requirements, and building out the UI.
  166.  
  167. Create the landing page w/ Tempo:
  168. And honestly, the first version of the landing page Tempo generated was pretty impressive.
  169.  
  170. It wasn't perfect, but it was a solid starting point with a clean layout and some decent copy.
  171.  
  172. From there, I just asked their AI to refine some sections.
  173.  
  174. Like updating the features section to better highlight what the app actually does.
  175.  
  176. Adding a use cases section
  177.  
  178. And a FAQs section to answer common questions or objections upfront.
  179.  
  180. Quick Tempo UI breakdown:
  181. Hook/Transition:
  182. Before we move on, let me give you a quick tour of the Tempo UI.
  183.  
  184. The interface is split up into 3 tabs: Product, Design, and Code.
  185.  
  186. Product Tab:
  187. In the product tab, you can write out your product requirements, features and even create a full user flow diagram of your app.
  188.  
  189. The most useful thing about this is that all this information gets fed directly to the AI as context, reducing hallucinations massively.
  190.  
  191. Design Tab:
  192. In the design tab, you can build out your UI by just clicking and dragging elements - pretty much just like using any other design tool like Figma or Webflow, but it generates actual React code behind the scenes.
  193.  
  194. They also support importing your existing Figma designs, so you can use them as a starting point and ask their AI to generate the React code for you based on your existing designs.
  195.  
  196. Demo: `https://www.youtube.com/watch?v=UogEFB53CUA&ab_channel=Tempo%28YCS23%29`
  197.  
  198. Code Tab:
  199. Finally, the Code tab is where you can open and edit any file in your project, just like you would in VS Code or Cursor.
  200.  
  201. It also integrates nicely with GitHub, so you can push your code directly to a repo and keep everything version controlled.
  202.  
  203. Continue developing core app logic w/ Cursor:
  204. Hook/Transition:
  205. With the initial setup all done.
  206.  
  207. I pushed the code to GitHub and fired up Cursor to start building out the core features of my app.
  208.  
  209. So here's a quick timelapse of me hacking away over the next couple of days getting it ready for launch. Enjoy!
  210.  
  211. ☐ [STILL WIP] Launch & Marketing stage
  212. My approach:
  213. Hook/Transition:
  214.  
  215. Marketing channels:
  216. Hook/Transition:
  217. - T-shape funnel, going "wide" to spread the word on all of the typical launch platforms
  218. - Going "deep" means to target where my ideal customers are and build a relationship with them directly
  219. - Either through responding to comments to let them know I launch a tool to solve their problems
  220.  
  221. My messaging:
  222. Hook/Transition:
  223. - When you're launching a new app, especially as a solo founder, you need to be able to communicate clearly what problem your app solves and why you spent your time building it.
  224.  
  225. Where are my users?
  226. Product Hunt
  227. HackerNews
  228. Reddit
  229. AI, Coding, Startups, Data subreddits
  230. r/DataHoarder
  231. r/SideProject
  232. r/Startups
  233. r/SaaS
  234. Twitter Cold outreach
  235. youtube-transcript (competitors Discord server)
  236. My YouTube channel
  237. My Discord server
  238.  
  239. ☐ [STILL WIP] Reflection / What I learned
  240. Quick showcase of first version of the app:
  241. - Right now it's just a basic extraction tool, but I have many updates and features I want to build on top of this. If you want to keep up with my progress feel free to subscribe!
  242.  
  243. Short recap of the whole process:
  244. * Idea — Scratching my own itch, creating a product that solved a problem I was facing and personally understood at the root level.
  245. * Building — Launching only the simplest and most functional version of my app, iterating as I use it more and receive feedback from real users.
  246. * Marketing — Know where to find my users
  247. * Wide & deep
  248. * You want to spread the word about your launch to as many people as possible, but you also want to reach the users who truly NEED your product
  249. * I found mine deep Reddit in post comments, a simple reply can make them aware of your product and potentially gain you one extra customer
  250. * Reflecting challenges during development
  251. * Total earnings since launch
  252. * I have to say, it feels good to be grinding on something new again
  253. * These times where I get to be creative and just hack away are the times where I have the most fun
  254. * A quick Tempo comparison with competitors, what I liked / could be improved
  255. * Mention active Tempo community
  256.  
Advertisement
Add Comment
Please, Sign In to add comment