If you want to build software in a reasonable timeframe, you're likely going to need third-party services. Here are the technologies, services, and applications that I used to create Preview SMS.
The Stack:
- Analytics: Google Analytics
- Authentication/User Management: Clerk
- Branding: Custom
- Domains: Hover
- Email: Gmail
- Frontend: React, Next.js, Headless UI
- Hosting: Netlify
- Icons: Custom
- Payments: Stripe
- Typeface: Inter
- Version Control: GitHub
The Tools:
- Command Line: macOS Terminal
- Design: Figma
- Git: GitHub Desktop
- Product Management: Linear
- Text Editor: Sublime Text
There is a lot made of technology stacks, what to do/not do, and which product/service combinations will yield the best results. I had to rebuild the app a few times to accommodate integrating certain services. Ideally, I would have “just known” which technologies I was going to use at the project outset, but that’s just part of the learning process.
Reality is, I don’t know if I have the “right” technology stack. It will certainly evolve over time. Some technologies/services will be replaced by in-house built services or a competitor, while others will be removed altogether.
I’ll be candid: part of the reason I chose certain technologies when building Preview SMS is that I aim to sell the company at some point. Building a product using well-supported technologies means I have more potential customers that could acquire my company. Another benefit, of course, is that there is a wider support community when trying to build the product. Chances are very good that not only has someone else found a solution for the problem(s) I’m solving, but that several people have found a solution, which allows me to see the benefits of others’ different solutions when implementing my own.
There is also the rationale that some of these frameworks/services are industry-leading for a good reason. They’ve simply built the best product and using them is basically a default decision. I’m okay admitting that. Being an industry leader can actually be helpful.
As the product grows and features are added, additional services will likely be needed. I'll continue to update this post when changes are made, along with notes of which services that been added/replaced.