:
:
- CEST

Alessio Tortora

Developer + (Designer)

My Stack

This setup helps me stay focused, build real things in my limited free time, and continuously learn in the process. The tools I use help me stay focused, build fast, and understand what I'm working on without getting stuck in unnecessary complexity.

Framework: React & Next.js

Most of my projects start with React or Next.js. They're fast to spin up, come with battle-tested patterns, and have a thriving community. I prefer tools that remove friction, and both of these make the development process smooth without being overly opinionated.

Database: PostgreSQL with Supabase

I stick with Postgres for most of my data needs, and Supabase adds just the right amount of magic:

The out-of-the-box features are great for building full-stack apps without maintaining a ton of infrastructure.

Auth: better-auth

I recently discovered better-auth, and the developer experience is excellent. It’s simple to integrate, plays nicely with modern frameworks, and keeps the setup light while still giving you the flexibility you need for real-world auth flows.

ORM: Drizzle

I use Drizzle ORM to work with Postgres. It’s built with TypeScript in mind and makes schema management straightforward. It offers:

This makes it easy to evolve your schema as the app grows without losing confidence in your data layer.

Styling: Tailwind CSS + shadcn/ui

My UI workflow revolves around Tailwind CSS and shadcn/ui. Tailwind gives me utility-first styling that keeps my code expressive but lean. When I need components that are already accessible and well-designed, shadcn/ui has me covered.

Together, they let me build UIs quickly without sacrificing flexibility or maintainability.

AI Tools: v0, Cursor, ChatGPT

AI tools have become a core part of my workflow, especially for side projects. Since they're trained on many of the tools I use (like React, Next.js, Drizzle, and Tailwind), they help me:

I use v0 for UI scaffolding, Cursor as my editor with AI assistance built-in, and ChatGPT when I need to dive deeper into a concept. These tools don’t just help me move faster—they help me understand the why behind the code.