Back Home

Building SaaS from Scratch

3 minutes read

Startups sound exciting, right?  Coming up with a new idea or finding a unique problem to solve is a challenge - especially today, when nearly every concept seems to already exist somewhere in the world. And if you're building a startup in this competitive market, hats off to you!

Anyway, let me take you behind the scenes of my journey building a full-stack SaaS application for a startup - from scratch, as a solo developer, and all the way to production. 

What is Tapify

Tapify redefines networking with digital business cards for modern teams. Unlike traditional cards, Tapify cards use NFC and QR technology, allowing users to instantly share contact details without needing an app.

It’s as simple as “tap and share,” much like tap-to-pay services.

You can also store your Tapify card in Apple or Google Wallet for easy access.

Tapify combines innovation with environmental impact, replacing paper cards with a professional, eco-friendly solution.

Learn more at tapify.io

Process of Building

For me, it's not just about contributing - it's about taking full ownership of the project. At Tapify, I received the Figma design files, and as a solo developer, I was responsible for creating the logic and finding solutions.

I took on the task of building the entire user-facing web application. I handled everything from frontend to backend, as well as security and performance. Every issue was something I debugged and fixed on my own.

Here's a glimpse of my work:

screenshorts
screenshorts
screenshorts
screenshorts
screenshorts
screenshorts
screenshorts
screenshorts
screenshorts

Tech Stack

Building Tapify from the ground up as the sole developer on the team, while working closely with the founder, was an incredibly exciting experience. Every single line of code was written by me, enabling me to quickly identify and resolve any bugs or issues that occurred.

I used a cutting-edge tech stack and followed industry best practices to keep the code type-safe and maintainable for future updates and changes.

Frontend Framework: Next.js
Styling: Tailwind CSS
UI Components: Shadcn
ORM: Drizzle ORM
Deployment: Vercel
Payment Integration: Stripe
Email Services: Resend
Query Handling: TanStack Queries
Wallets: Apple Wallet and Google Wallet
Database: Supabase PostgreSQL
Storage: Supabase Storage
Authentication: Supabase Auth
Enterprise SSO and SCIM: WorkOS
Validations: Zod and React Hook Form
State Management: Zustand
Rate Limiting: Upstash

The mentioned tech stack and best practices I implemented played a key role in achieving outstanding performance. Take a look at these speed insights that highlight the platform's efficiency :

screenshorts
screenshorts
screenshorts
screenshorts
screenshorts

Launch Day Story

Launch day was both exciting and challenging! We faced an issue with data migration because of changes in the schema. It took a bit of time to fix, but once it was done, we quickly switched the domain and the web app started getting real user interactions.

Everything went smoothly - no issues were reported by Tapify’s customers.

The only minor issue was with certain customers email providers, which caused problems with magic link logins. I resolved it within a day by adding a verification route, similar to Vercel’s approach.

Here’s the midnight message I got from the founder on launch day:

ScreenShort

Learnings

Ideas don't come out fully formed, they only become clearer as you work on them. - Mark Zuckerberg

To be honest, I learned a lot at Tapify. I gained a deeper understanding of databases and database modeling, as well as how to write clean, maintainable, and type-safe code.

When I started, I was a bit nervous about handling everything on my own, but over time I realized that no one is perfect from the beginning. You don’t need to be perfect to start, you just need a willingness to learn along the way.

Image Preview