Skills

Here are some of the skills and tools I've acquired over the years.

Back-end Development

My objective lies in crafting robust, efficient, and scalable solutions. For that purpose, I'm currently working with the following technologies:

Programming Languages

Node (TypeScript)

JavaScript was my programming mother tongue. As it was my first language, I'm very comfortable with it. Yes, it has its quirks, but TypeScript is here to help with that.

Golang

My choice for backend development. Currently learning it, but I'm already in love with it. Go is a language that really caught my attention because of its simplicity and performance.

Frameworks & Libraries

Express

A minimal and flexible Node.js web application framework. I like it because it provides a robust set of features for web and mobile applications.

Databases

MongoDB

The one I really like to work with. It's a NoSQL database program that uses JSON-like documents with optional schemas.

PostgreSQL

Talking about relational databases, PostgreSQL is my go-to. It's a powerful open-source object-relational database system. PostgreSQL was used to build this website.

SQLite

For small projects and testing purposes, SQLite is my choice. Fast, self-contained, high-reliability, and full-featured database engine.

ORMs & ODMs

Prisma

For both SQL and NoSQL databases, Prisma is my go-to. It's easy to use, powerful, and provides a type-safe database client. Prisma was used to build this website.

Mongoose

Occasionally, when not using Prisma, I use Mongoose. It's simple, easy, and provides a straightforward schema-based solution.

Auth

JWT

Because of its simplicity, I use JWT for authentication. It's a compact, URL-safe means of representing claims to be transferred between two parties.

OAuth2

Talking about third-party authentication, OAuth2 is my choice. Straightforward, secure, and widely used for authorization.


Front-end Development

My favorite part of development. I love kicking my creativity into high gear and crafting beautiful and interactive user interfaces. Here are the technologies I'm currently working with:

Markup, Styles & Scripts

HTML and CSS

The standard markup language and style sheet language for the web. It's the base of almost every web page and application on the internet.

JavaScript (TypeScript)

The programming language that enables interactive web pages and is an essential technology for modern web development.

Libraries & Frameworks

React

React is the most used for a reason. It's a JavaScript library for building user interfaces. It's declarative, efficient, and flexible.

Next

The framework that this website is built on. It's a React framework that enables functionalities such as server-side rendering and generating static websites.

Tailwind

My favorite approach for styling web applications, including this website. It allows me to create beautiful and responsive designs with minimal effort.


Tools

As a developer, I use a lot of tools to make my life easier. Here are some of the tools I use on a daily basis:

Productivity

Obsidian

About note-taking and knowledge management, I use Obsidian. It's a powerful knowledge base that is widely customizable. I use it to keep track of my projects, ideas, and notes.

Notion

Notion works as my task management tool. It's an all-in-one workspace, but I use it mainly to keep track of my routines.

Visual Studio Code Insiders

The code editor I use for development. Visual Studio Code is pretty lightweight while still powerful. I use it for basically everything related to coding.

Design

Figma

When designing user interfaces, I use Figma. Versatile, powerful, and easy to use, Figma allows me to create wireframes, mockups, and prototypes.

Photoshop and Illustrator

Image and vector editing, respectively. I use them for creating and editing images, illustrations, and other graphic content.

Operating Systems

Windows

My main operating system. I use it for everything: development, design, gaming, and more. It's a versatile and powerful operating system.

Windows Subsystem for Linux

For development purposes, I use WSL. It's easy to set up and use, allowing me to run a Linux distribution on Windows. Best of both worlds.