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.