Sobre mim

Um pouco mais sobre a minha trajetória

Olá! Sou um desenvolvedor web full stack, especializado no ecossistema JavaScript, com foco em Next.js para o frontend e Node.js para o backend. Minha jornada na tecnologia começou com minha formação em Análise e Desenvolvimento de Sistemas, onde tive a oportunidade de explorar diversas vertentes da área e decidir seguir na direção do desenvolvimento web.

Além da minha formação acadêmica, concluí o curso online CS50 da Universidade de Harvard, onde aprendi os fundamentos da programação. Este curso abrangeu desde dados simples como binário, caracteres e strings até estruturas de dados mais complexas como listas, listas ligadas e árvores binárias. Também estudei algoritmos de ordenação, como insertion sort, selection sort e merge sort, além de algoritmos de busca, SQL, funcionamento da memória e criptografia. Esta experiência me proporcionou uma compreensão profunda dos conceitos básicos da ciência da computação e da programação.

Um dos maiores desafios que enfrentei foi o design de interfaces. Para superá-lo, recorro a plataformas como Dribbble e Pinterest para buscar inspirações, além de analisar sites com objetivos e funcionalidades semelhantes. Utilizo o Figma para criar protótipos antes de iniciar qualquer projeto, e o ChatGPT tem sido uma ferramenta valiosa na estilização de componentes.

Em um dos meus projetos mais desafiadores, desenvolvi um sistema de ponto eletrônico utilizando Node.js no backend. Este projeto me ensinou sobre padrões de projeto multicamadas e a importância de utilizar classes e contratos para desacoplar bibliotecas ou frameworks.

Costumo utilizar diversas ferramentas e bibliotecas para melhorar a qualidade do meu trabalho, como Zod para validação de inputs, Bootstrap para estilização e ESLint para garantir a consistência do código. Na gestão de estado das minhas aplicações React/Next.js, utilizo a função useState ou crio hooks personalizados para componentes client-side e cacheio dados em componentes server-side.

Adoto práticas de desenvolvimento que garantem a qualidade e a manutenção do meu código, como a separação de responsabilidades e a criação de nomes claros e descritivos para funções. Embora eu ainda não tenha experiência com integração e entrega contínua (CI/CD), estou ansioso para adquirir essas habilidades.

Um dos projetos que mais me orgulho é o sistema de ponto eletrônico que mencionei anteriormente. Nele, utilizei a API Geolocation nativa do JavaScript para verificar se os funcionários estão dentro de um raio específico da empresa e integrei o SDK do Google Maps para exibir suas localizações de forma intuitiva e eficiente.

Meu principal objetivo atualmente é conseguir minha primeira oportunidade como desenvolvedor web em uma empresa. Estou ansioso para aprender como funciona todo o processo de desenvolvimento de software, desde a elicitação de requisitos até a produção e melhorias contínuas. Acredito que essa experiência será fundamental para meu crescimento profissional e para contribuir de forma significativa em projetos futuros.

Obrigado por visitar meu portfólio e conhecer um pouco mais sobre minha trajetória. Se tiver interesse em saber mais ou discutir possíveis colaborações, não hesite em entrar em contato!

Habilidades

Icon

Coolify

Coolify é uma plataforma de implantação e gerenciamento de aplicações em nuvem, que facilita o deploy automático de serviços, como APIs, bancos de dados e frontends, utilizando contêineres Docker.

Icon

VPS

Uma VPS (Servidor Virtual Privado) é um ambiente de hospedagem isolado em um servidor físico, que oferece controle total, desempenho dedicado e flexibilidade para aplicações web.

Icon

CI/CD

CI/CD (Integração Contínua e Entrega Contínua) é uma prática de desenvolvimento que automatiza testes, builds e deploys, garantindo entregas rápidas, seguras e frequentes de software.

Icon

PWA

PWA (Progressive Web App) é um tipo de aplicação web que oferece experiência similar à de apps nativos, com suporte offline, instalação no dispositivo e desempenho otimizado.

Icon

Git

Git é um sistema de controle de versão que registra mudanças no código, permitindo colaboração, rastreamento de histórico e reversão de alterações com eficiência.

Icon

Vitest

Vitest é um framework de testes moderno para aplicações JavaScript e TypeScript, projetado para ser rápido, integrado ao Vite e com suporte a testes unitários, mocks e snapshots.

Icon

Docker

Docker é uma plataforma que permite empacotar, distribuir e executar aplicações em containers isolados, garantindo portabilidade e consistência em qualquer ambiente.

Icon

PostgresSQL

PostgreSQL é um banco de dados relacional robusto, open source e altamente escalável, ideal para aplicações modernas.

Icon

NextJS

Um framework para desenvolvimento de interfaces, baseada no react. Permite renderizar HTML do lado do servidor e o cacheamento de dados, proporcionando uma maior eficiência, segurança, melhor SEO.

Icon

NodeJS

Um runtime que permite executar a linguagem javascript do lado do servidor

Icon

Typescript

Um superset da linguamgem javascript, que adiciona tipagens em tempo de compilação. O código final é convertido para javascript puro.

Icon

React

Biblioteca para construção de interface gráficas, mais dinâmicas. Permite componentização, passagem de dados por parâmetros e estados.

Icon

Tailwind

Um conjunto de classes utilitárias para estilização rápida e eficiente, amplamente utilizado com frameworks de componentização.

Icon

Dato CMS

Um headless CMS que permite que você gerêncie estrutura de dados como tabelas, e registros, através da interface deles, e disponibilizam uma api em GraphQL para consumo desses dados no frontend.

Icon

Google maps

Api da empresa google para implementação de mapas iterativos no software

Icon

CSS

CSS é uma linguagem de estilo usada para definir a aparência e o layout de páginas web. Funciona em conjunto com o HTML.

Icon

HTML

Uma linguagem de marcação utilizada para criar interfaces e posicionar elementos, baseada em caixas e hierarquias.

Icon

Styled Componets

Uma biblioteca para React que permite escrever CSS dentro de componentes JavaScript, proporcionando escopo local e estilos únicos. Ela facilita a criação de temas dinâmicos e estilização condicional

Icon

Zod

Uma biblioteca para válidação de dados, focada em typescript.

Icon

PrismaORM

Um gerenciador de banco de dados moderno que facilita o acesso e a manipulação de dados em aplicativos Node.js e TypeScript, oferecendo uma interface intuitiva e suporte a vários bancos de dados.