OLIVA_JS / Skills

Skills & Tech Stack

An overview of the technologies and tools I use every day as a freelance full-stack web developer. I've grouped them by category to give a clear picture of how I handle a project end-to-end: from frontend and backend development to design, from versioning to production deployment.

This is not an exhaustive list of everything I've touched over the years, but a real snapshot of my current stack and what I bring to client projects.

Development

Frontend

On the frontend I work mainly with Next.js and React, always writing in TypeScript to keep my code solid, type-safe and maintainable over time.

My default styling stack is Tailwind CSS paired with ShadCN/UI, which lets me start from accessible, well-structured components and customize them without being locked into an imposed design system.

When an interface needs a richer user experience I use GSAP for complex animations, scroll-driven effects and advanced timelines, or lighter alternatives for simple micro-interactions where they're a better fit.

For form handling I rely on React Hook Form combined with Zod for type-safe validation, both client- and server-side.

Backend

On the server side I use Node.js when I want lightweight, fine-grained control and a custom structure, and I switch to NestJS when the project requires a more organized, scalable architecture based on dependency injection, decorators and modules.

I expose REST APIs or, when it makes sense, GraphQL endpoints, and I handle the full stack of authentication, authorization, error handling and business logic for the application.

Database & ORM

I know and use different database solutions, both SQL and NoSQL, picking the right one for each project:

  • SQL: PostgreSQL, MySQL, SQLite, Neon
  • NoSQL: MongoDB

To interact with the database in a TypeScript environment I use Prisma when I want a polished developer experience and a good level of abstraction, or Drizzle ORM when I need to stay closer to SQL and squeeze out better performance. On MongoDB-based projects I work with Mongoose.

To inspect and manage data during development I use DBeaver for SQL databases and Drizzle Studio on projects that use Drizzle.