(29 tools)
Tech stack
What I build with, and why. Each tool links to the projects where it runs in production.
(01)
Frontend
Fast, accessible interfaces that are easy to change later.
TypeScript
Types across the whole app catch mistakes before users do, and make big refactors safe.
Used inTrueTerra Oils AI ChatbotETHOSBD Bank RoutingHotel D'moreMobile apps
React
Components that the next developer can read. My default for any interactive UI.
Used inInsurance Task CRMCrypto Gift CardsMeana RaptorTrueTerra Oils AI ChatbotETHOSHotel D'morePosh Celebration
Next.js
Server rendering, routing and SEO out of the box — this site runs on it.
Tailwind CSS
Design tokens in one place and no dead CSS piling up over time.
Used inInsurance Task CRMCrypto Gift CardsMeana RaptorSupport AI BotTrueTerra Oils AI ChatbotETHOSHotel D'morePosh Celebration
Inertia.js
React screens on top of a Laravel backend without building a separate API.
Used inPosh Celebration
(02)
Mobile
One codebase for iOS and Android, sharing logic with the web.
React Native
Native apps for both stores from one TypeScript codebase — and the same skills as the web app.
Used inMobile apps
Expo
Builds, over-the-air updates and store releases without fighting native tooling.
Used inMobile apps
(03)
Backend
APIs that stay predictable as traffic and features grow.
Node.js
The same language front to back, so features ship without a hand-off.
Used inInsurance Task CRMCrypto Gift CardsMeana RaptorSupport AI BotTrueTerra Oils AI ChatbotHotel D'more
Express
Small and unopinionated — right for focused APIs and services.
Used inInsurance Task CRMMeana RaptorSupport AI BotTrueTerra Oils AI ChatbotHotel D'more
NestJS
Structure for larger APIs: modules, validation and testing built in.
Python & FastAPI
Data work, automation and AI features, with typed request validation.
Used inBD Bank Routing
OpenAI API
AI features inside the product — summaries, search and assistants.
Socket.IO
Real-time updates — live dashboards, chats and notifications.
Used inInsurance Task CRM
(04)
Data
The right database for the shape of the data, with safe migrations.
PostgreSQL
What I reach for when the data is relational — bookings, payments, users — and needs to stay consistent.
MySQL
Common on existing client systems; I work with it as easily as Postgres.
Used inHotel D'more
MongoDB
Flexible documents for content-heavy and fast-changing data.
Used inInsurance Task CRMCrypto Gift CardsMeana RaptorSupport AI BotTrueTerra Oils AI Chatbot
Redis
Caching, queues and rate limits when speed matters.
Used inCrypto Gift Cards
Prisma
Typed queries and reviewed, additive migrations — no surprises in production.
Used inHotel D'more
(05)
Web3
Wallets, tokens and payments that behave like normal products.
Solidity
Smart contracts for tokens, staking and NFTs.
Used inETHOS
Web3.js, Ethers.js & Wagmi
Wallet connection and on-chain reads and writes from the app.
TronWeb
Payments and wallets on the Tron network.
Used inCrypto Gift Cards
(06)
Delivery
Getting it live, and keeping it live.
Docker
The same environment on my machine, in CI and on the server.
Nginx & Linux VPS
Self-hosting when a client needs control over cost or data.
Vercel
Preview links for every change, so clients click through progress each week.
CI/CD
Tests and checks run on every push before anything reaches production.
(07)
Design & workflow
Working well with designers — and moving fast without cutting corners.
Figma
Where the screens come from. I build pixel-close from design files.
Used inOpseek
Webflow
Marketing sites the client's team can edit themselves.
Used inOpseek
GSAP
Motion when CSS alone isn't enough.
Used inOpseek
AI-assisted workflow
AI for the repetitive parts, with every change reviewed and tested by me.
Not sure which stack fits your project? That's what the first call is for.