Esta foi a primeira vez que tentei construir algo que me representasse online, e não tinha uma direção clara. Sabia apenas que queria um portfólio, e queria que parecesse diferente das típicas páginas de developer limpas e minimalistas que continuava a ver. Por isso fui na direção oposta e construí algo escuro, um pouco agressivo, e visualmente mais pesado do que provavelmente devia ter sido.
Na altura, estava principalmente focado no sentimento. Queria que parecesse fixe na minha cabeça, não necessariamente comunicar algo estruturado. Isso levou-me a gastar mais tempo nos visuais do que a pensar em como alguém iria realmente ler ou entender o conteúdo. Não havia uma narrativa real por trás, apenas secções que achei que fazia sentido incluir.
Stack tecnológica e como a usei
Do ponto de vista técnico, já estava a trabalhar com Next.js, TypeScript e Tailwind CSS, por isso a implementação em si não foi a parte difícil. O Next.js foi principalmente o que usei para estruturar o projeto e fazê-lo deployar rapidamente, especialmente com o Vercel, que se tornou a minha forma padrão de lançar coisas. Pelo menos... projetos pequenos como este. O fluxo de trabalho de fazer push para o Git e ver o site live quase instantaneamente tornava muito fácil iterar.
O Tailwind CSS foi usado principalmente para empurrar a estética escura que tinha em mente na altura. Não estava a pensar muito em sistemas de design ou consistência ainda, estava apenas a usar classes utilitárias para fazer as coisas parecerem como eu queria. O TypeScript estava lá porque já o usava noutros projetos, mas não o estava a aproveitar de forma profunda para esta construção específica.
A stack em si era sólida, mas não a estava a usar com muita intenção. Era mais sobre conseguir algo visualmente completo do que arquitetá-lo adequadamente.
O que faltava
O problema principal não eram as ferramentas. Era como abordei o projeto. Estava a construí-lo como uma experiência de UI em vez de algo que precisava de comunicar quem sou como developer. Não havia estrutura por trás do conteúdo, nenhum fluxo claro, e nenhuma explicação real do meu trabalho ou decisões. Eram apenas secções colocadas de uma forma que parecia visualmente equilibrada.
Olhando para trás, não respondia a nenhuma pergunta real sobre mim. Mostrava que conseguia construir e deployar algo, mas não mostrava como penso, como abordo problemas ou como estruturo sistemas. Era mais como uma página estática do que um portfólio no sentido real.
O que ainda importou
Mesmo com tudo isso, ainda tinha valor. Foi a primeira vez que usei a minha stack atual num projeto pessoal e o lancei adequadamente. Next.js a lidar com a estrutura, Tailwind a lidar com o estilo, TypeScript a manter a consistência, e Vercel a tornar o deployment sem atrito. Essa combinação começou a parecer natural, e tornou-se a base para tudo o que construí a seguir.
Mais importante ainda, mudou como abordo o trabalho pessoal. Antes disto, construía coisas e deixava-as locais ou inacabadas. Esta foi a primeira vez que coloquei algo publicamente, mesmo sabendo que não era perfeito. Essa mudança importou mais do que o resultado em si.
O que aprendi com isso
Também tornou algo muito claro. Um bom design sozinho não faz um bom portfólio. Pode criar algo visualmente forte, mas se não comunicar pensamento ou contexto, torna-se vazio muito rapidamente. Essa perceção foi o que me empurrou a repensar tudo mais tarde e a reconstruí-lo com mais intenção em vez de apenas melhorar os visuais.
Tecnicamente, ainda foi um bom passo de aprendizagem. Percebi melhor como gosto de estruturar projetos Next.js, até onde posso empurrar o Tailwind antes de as coisas ficarem confusas, e quão suave é realmente o deployment com o Vercel quando tudo está configurado corretamente. Mas conceptualmente, estava incompleto. Faltava contexto, que é a parte que realmente importa.
Mesmo com as suas falhas, não o removeria do meu caminho. Foi a primeira versão real de algo que lancei com o meu nome, e sem ele provavelmente teria passado muito mais tempo a pensar demais em vez de realmente construir a próxima iteração.
