The Testimonial Blog
The Testimonial Blog
All the tools we're using to build our SaaS
All the tools we're using to build our SaaS

Written by Wilson Wilson
Cofounder of Senja

One of the biggest mistakes an startup can make is spending way too much time picking their tech stack instead of actually building their product.
Admittedly, I almost made this mistake when I started building Senja all the way back in January this year. If I hadn't set aside 30-days to get an MVP out, I'm sure I would've spent much longer 😅
Fast-forward 11 months, and we now have 1K users, and Senja's testimonial embeds are viewed almost a million times each month 🤯
In this post, I'll show you the tools we're using to build a SaaS that serves this many people, and why we chose these tools.
The Frontend
Speed is extremely important to us. It's the biggest advantage we have over the kingpins of the testimonial collection and sharing industry.

I needed to build with tech that wouldn't slow me down, but help me move fast enough to overwhelm our competition.
I chose Sveltekit for my frontend framework over Nuxt and Next because it allows me to do just that.
When I started building with it though, it was a pain to work with, reason being that there was always one breaking change after the other. At one point, I almost rewrote my entire codebase with VueJS.
Now I'm really damn happy that I didn't.
Now that Sveltekit is approaching its first stable release, I've had zero problems using it in the last few months.
As for CSS, I'm building with the magnificent TailwindCSS.
The Backend
I wanted to share as much code as possible between my frontend and backend, so I chose to use Node + Express for my backend framework.
Senja's using a mix of many services under the hood.
Firebase: Powers authentication and storage. I also have a firebase function that synchronizes authentication states with our database.
Postgres: Our data is highly relational, so I'm really, really happy I chose to use SQL over NoSql for Senja's database.
Hasura: Hasura helps me work quickly with Postgres. It provides an out of the box GraphQL API around my database as well as authentication and webhooks. 10/10 would recommend.
Mux: Our video streaming provider. Completely painless to set up and worth every penny.
Hosting
We host all of our websites on Vercel. That includes our marketing site, our app, user-generated pages and embeds.
Vercel has been nothing short of amazing to use, though I'm really disappointed that you can only have one concurrent plan for free ($50/mo per extra concurrent build ☹️).
As for our backend, and database, we use Railway, and it's been a joy to use. We also have an on-demand image generation server hosted there.
Marketing & Customer Success Tools
Senja! Our own testimonial collection software, to help us collect social proof and share it on our website.
Logsnag: Event tracking and notifications built by my good friend Shayan. It sends us notifications for every event performed inside the app.

Pirsch: Open-source and privacy-friendly web analytics. They have the most beautiful analytics in the market IMO.
Helpkit: We write our support articles in Notion. Helpkit creates a beautiful support site from our Notion docs.
Crisp: We're far too broke to afford Intercom, so we use Crisp instead :P
Rewardful: Affiliate programs for Senja! (Psst! Want to earn a 30% recurring commission for every person you refer to Senja? Join our affiliate program!)
Postmark: Transactional emails made easy!
Encharge: Marketing automation on steroids.
Summary & Breakdown
We have a Notion doc with a summary of all the tools we use and a breakdown of their costs. And yes, we keep it updated regularly 😉

One of the biggest mistakes an startup can make is spending way too much time picking their tech stack instead of actually building their product.
Admittedly, I almost made this mistake when I started building Senja all the way back in January this year. If I hadn't set aside 30-days to get an MVP out, I'm sure I would've spent much longer 😅
Fast-forward 11 months, and we now have 1K users, and Senja's testimonial embeds are viewed almost a million times each month 🤯
In this post, I'll show you the tools we're using to build a SaaS that serves this many people, and why we chose these tools.
The Frontend
Speed is extremely important to us. It's the biggest advantage we have over the kingpins of the testimonial collection and sharing industry.

I needed to build with tech that wouldn't slow me down, but help me move fast enough to overwhelm our competition.
I chose Sveltekit for my frontend framework over Nuxt and Next because it allows me to do just that.
When I started building with it though, it was a pain to work with, reason being that there was always one breaking change after the other. At one point, I almost rewrote my entire codebase with VueJS.
Now I'm really damn happy that I didn't.
Now that Sveltekit is approaching its first stable release, I've had zero problems using it in the last few months.
As for CSS, I'm building with the magnificent TailwindCSS.
The Backend
I wanted to share as much code as possible between my frontend and backend, so I chose to use Node + Express for my backend framework.
Senja's using a mix of many services under the hood.
Firebase: Powers authentication and storage. I also have a firebase function that synchronizes authentication states with our database.
Postgres: Our data is highly relational, so I'm really, really happy I chose to use SQL over NoSql for Senja's database.
Hasura: Hasura helps me work quickly with Postgres. It provides an out of the box GraphQL API around my database as well as authentication and webhooks. 10/10 would recommend.
Mux: Our video streaming provider. Completely painless to set up and worth every penny.
Hosting
We host all of our websites on Vercel. That includes our marketing site, our app, user-generated pages and embeds.
Vercel has been nothing short of amazing to use, though I'm really disappointed that you can only have one concurrent plan for free ($50/mo per extra concurrent build ☹️).
As for our backend, and database, we use Railway, and it's been a joy to use. We also have an on-demand image generation server hosted there.
Marketing & Customer Success Tools
Senja! Our own testimonial collection software, to help us collect social proof and share it on our website.
Logsnag: Event tracking and notifications built by my good friend Shayan. It sends us notifications for every event performed inside the app.

Pirsch: Open-source and privacy-friendly web analytics. They have the most beautiful analytics in the market IMO.
Helpkit: We write our support articles in Notion. Helpkit creates a beautiful support site from our Notion docs.
Crisp: We're far too broke to afford Intercom, so we use Crisp instead :P
Rewardful: Affiliate programs for Senja! (Psst! Want to earn a 30% recurring commission for every person you refer to Senja? Join our affiliate program!)
Postmark: Transactional emails made easy!
Encharge: Marketing automation on steroids.
Summary & Breakdown
We have a Notion doc with a summary of all the tools we use and a breakdown of their costs. And yes, we keep it updated regularly 😉

One of the biggest mistakes an startup can make is spending way too much time picking their tech stack instead of actually building their product.
Admittedly, I almost made this mistake when I started building Senja all the way back in January this year. If I hadn't set aside 30-days to get an MVP out, I'm sure I would've spent much longer 😅
Fast-forward 11 months, and we now have 1K users, and Senja's testimonial embeds are viewed almost a million times each month 🤯
In this post, I'll show you the tools we're using to build a SaaS that serves this many people, and why we chose these tools.
The Frontend
Speed is extremely important to us. It's the biggest advantage we have over the kingpins of the testimonial collection and sharing industry.

I needed to build with tech that wouldn't slow me down, but help me move fast enough to overwhelm our competition.
I chose Sveltekit for my frontend framework over Nuxt and Next because it allows me to do just that.
When I started building with it though, it was a pain to work with, reason being that there was always one breaking change after the other. At one point, I almost rewrote my entire codebase with VueJS.
Now I'm really damn happy that I didn't.
Now that Sveltekit is approaching its first stable release, I've had zero problems using it in the last few months.
As for CSS, I'm building with the magnificent TailwindCSS.
The Backend
I wanted to share as much code as possible between my frontend and backend, so I chose to use Node + Express for my backend framework.
Senja's using a mix of many services under the hood.
Firebase: Powers authentication and storage. I also have a firebase function that synchronizes authentication states with our database.
Postgres: Our data is highly relational, so I'm really, really happy I chose to use SQL over NoSql for Senja's database.
Hasura: Hasura helps me work quickly with Postgres. It provides an out of the box GraphQL API around my database as well as authentication and webhooks. 10/10 would recommend.
Mux: Our video streaming provider. Completely painless to set up and worth every penny.
Hosting
We host all of our websites on Vercel. That includes our marketing site, our app, user-generated pages and embeds.
Vercel has been nothing short of amazing to use, though I'm really disappointed that you can only have one concurrent plan for free ($50/mo per extra concurrent build ☹️).
As for our backend, and database, we use Railway, and it's been a joy to use. We also have an on-demand image generation server hosted there.
Marketing & Customer Success Tools
Senja! Our own testimonial collection software, to help us collect social proof and share it on our website.
Logsnag: Event tracking and notifications built by my good friend Shayan. It sends us notifications for every event performed inside the app.

Pirsch: Open-source and privacy-friendly web analytics. They have the most beautiful analytics in the market IMO.
Helpkit: We write our support articles in Notion. Helpkit creates a beautiful support site from our Notion docs.
Crisp: We're far too broke to afford Intercom, so we use Crisp instead :P
Rewardful: Affiliate programs for Senja! (Psst! Want to earn a 30% recurring commission for every person you refer to Senja? Join our affiliate program!)
Postmark: Transactional emails made easy!
Encharge: Marketing automation on steroids.
Summary & Breakdown
We have a Notion doc with a summary of all the tools we use and a breakdown of their costs. And yes, we keep it updated regularly 😉


Collecting testimonials doesn't get much easier
Collect text and video testimonials — Share them everywhere!
Sign up for free
Testimonials Made Easy
The faster, easier way to collect testimonials
Jump in today and see how easy it is to collect testimonials with Senja.

Testimonials Made Easy
The faster, easier way to collect testimonials
Jump in today and see how easy it is to collect testimonials with Senja.
Testimonials Made Easy
The faster, easier way to collect testimonials
Jump in today and see how easy it is to collect testimonials with Senja.