Here are the tech I used for my products:
BlackMagic.so Stack
- ReactJS for frontend
- Tailwind CSS + Tailwind UI for UI
- Charts & Visualization: the "recharts" npm package, and some custom made charts
- SharpJS: Server side image processing (profile image/banner)
- NextJS for static page generations
- ExpressJS for API, deploy on AWS EC2
- MySQL for database, deploy on AWS RDS
- Vercel for the main frontend app
- AWS for some other infrastructure setup
- Cloudflare Pages for frontend deployment
- Twitter API (Elevated Access): I use both V1 and V2 API
- Mailgun for transactional emails
- Some UI components I made are available for download here: https://tonydinh.gumroad.com/l/magic-components
- Some notable NPM packages I used on the frontend:
@dnd-kit
for drag/drop@reonomy/react-confetti-explosion
for the confettisreact-parallax-tilt
for the 3D effect in the landing page- The browser extensions: I use this template: (using manifest v2).
- iOS app: it's a native app (Swift/UIKit) with webview.
- Android app: it's a native app (Kotlin) with webview.
DevUtils.app Stack
- It's NOT Electron
- Swift
- AppKit
- Xcode
- AWS Lambda Serverless for License server (NodeJS)
- NextJS for frontend
- Deploy on S3
- ExpressJS
- AWS lambda function (via serverless.com)
- MySQL
- License Server is an in-house system that support the license model I’m running
Xnapper.com Stack
- It's NOT an electron app
- Swift
- AppKit
- Xcode
- Gumroad for payment & license key
- NextJS for web app
Why?
Most of the tech I choose are because I have experience in using and operating those, so I can focus more on building and less on googling.
Some exceptions are covered in the FAQs below.
FAQs:
Why ExpressJS server for the APIs if you're also using Vercel/NextJS?
→ I don't want to be bound by NextJS's limitations, and I have a good boilerplate setup for ExpressJS that I use for almost all of my apps.
Why MySQL and not MongoDB/PostgreSQL/SQL Server/etc?
→ I have more experience with MySQL.
Why not electron for DevUtils?
→ Because Electron apps are slow.
Why AWS but not GCP?
→ Because I have free AWS credits to spend.
👋 Like what you read here?
Hello there, I'm Tony Dinh.
I quit my high paying job to work on my side projects with a mission to make a living from my apps and live an independent life. 🌴
- 🛠️ I built a macOS app for developers: DevUtils.app
- 🎩 I built a browser extension for Twitter: BlackMagic.so
- 🏖️ Read my story → https://newsletter.tonydinh.com/
- 💻 Everything about me → https://tonydinh.com
❤️ Thanks for reading!