Hi! I'm Marx, a senior student at NTU majoring in Information Management, and just started my side hustle, toVoice, a SaaS that turns text to talk in minutes with AI. I'm excited to share my journey of building toVoice from scratch, including the idea, tech stack, and focus on the launch process.
Check out the toVoice website to see it in action!
Launched it before you made it. 🚀
The Idea
I always wanted to start an online SaaS business. The inspiration for toVoice came from my passion for leveraging AI to solve everyday problems and the increasing demand for accessible content. As a student who always loses focus while reading, I found it a game-changer to listen to the content instead. Also, I noticed that many people prefer consuming information through audio while multitasking, whether during commutes, workouts, or household chores. The GPT-4o just came out, and text-to-speech technology has become more advanced and realistic than ever (they can even sing now!).
This trend sparked the idea of creating a simple yet powerful tool that can convert written content into natural-sounding speech.
Building the Tech Stack
Choosing the right technology stack was crucial for the success of toVoice. I launched it in a week, btw, so picking the right tools to get the MVP done quickly is important. Here's the tech stack I used:
-
Frontend: I built the frontend using Next.js, a React framework that offers server-side rendering and static site generation. The choice of Next.js is pretty straightforward, as it provided predefined patterns for us, average JS developers ✨, to follow and optimize the performance.
-
Backend: For the data storage and authentication, I used Supabase, a Backend as a Service (BaaS) platform built on top of PostgreSQL. Supabase made it easy to set up all the stuff you needed for zero cost. As a solo entrepreneur, this is a huge win for me, as I do not need to hire another costly backend developer. 👉 The truth of Cloud.
-
AI Integration: I integrated text-to-speech (TTS) APIs from OpenAI's cutting-edge TTS models just published when GPT-4o came out. I simply containerized the module and deployed it on AWS EC2. Although the file transfer is some kind of bottleneck, it's still a good start for me to test the waters. DSPy, LLM Scraper, and LangChain covered the rest of the AI part. Very beautiful, very powerful.
-
Payment Gateway: For handling payments, I used PayPal as a non-American business owner. The integration experience is not that good, though. Help Stripe come to Taiwan, please 🙏.
-
Other Tools: I used Excalidraw for showcasing the app flow on my landing page and the cookbooks for helping users onboard quickly and easily. Also, a shoutout to Onborda for the onboarding flow experience. I also used Resend for email integration. Last but not least, Vercel for automatic deployment.
Focus on the Launch Process
Launching toVoice was both exciting and challenging. Here are the key steps I followed:
1. Market Research
Before diving into development, I conducted thorough market research to understand the target audience, their pain points, and existing solutions. This helped me validate the demand for toVoice and refine my value proposition. For example, the text-to-speech tech is always there and satisfying enough, to be honest, but the user experience and real-world application still have a big gap to fill.
Think of this: if you are an introvert like me, it's a game-changer to have a tool that can convert all kinds of content (blogs, YouTube videos), customize the voice and script, and listen to it while you are doing other stuff.
The key is to find the gap and fill it.
2. MVP Development
I focused on developing a Minimum Viable Product (MVP) that only included essential features to achieve POC (Proof of Concept). You might want to think of
- what your potential users' persona is, like how they use the tool, what they expect from the tool, and what they are willing to pay for the tool. And then, you need to figure out
- the activity flow, like how they onboard, how they use the tool, and how they pay for the tool.
- User stories and
- the key features.
Thus, I want to make sure the MVP can convert text to speech (supporting zero-config translation and multiple tracks), customize the voice and script, and use AI for content assistance.
3. Development and Testing
I followed an agile development approach, breaking down the development process into sprints and continuously testing the product to ensure it met user requirements. I also conducted beta testing with a small group of users to gather feedback and identify areas for improvement.
I found out showcasing with a cookbook is a good way to onboard users and test your product.
4. Before Launch
Before the launch, there are A LOT of things to do as follows:
- Buy a domain and set up a custom domain (GoDaddy for me) for email service and frontend and backend.
- Set up the payment gateway and test the payment flow. (PayPal Sandbox)
- Privacy Policy and Terms of Service (ChatGPT helped)
- Google Search Console and Consent Page Verification
- Prepare the launch content and marketing materials (Shootout to Excalidraw again)
- Set up metadata, PWA, sitemap, robots.txt, etc. (Next.js and NextPWA are well documented)
5. Official Launch
On the launch day, I went to ProductHunt and clicked the launch button. It was a very exciting moment for me.
Lessons Learned
Building and launching toVoice taught me several valuable lessons:
-
User Feedback is Crucial: Listening to users and iterating based on their feedback is key to creating a product that truly meets their needs.
-
Keep It Simple: Start with a simple MVP, and gradually add features based on user demands and feedback.
-
Stay Resilient: Building a SaaS from scratch is challenging, but staying resilient and focused on the goal makes the journey rewarding.
What's Next?
The journey doesn't end here. I'm continuously working on improving toVoice, adding new features, and exploring opportunities to expand its reach. Your feedback and support are crucial, and I'm excited to see where this journey takes us.
Thank you for reading, and I hope you find toVoice as useful and exciting as I do! 🚀 Visit our website toVoice.