Logo, una animación de memoji sonriendo

Project: Personal portfolio and blog

Introduction

Although it is recommended 'not to include' the same portfolio, the reason it is included is that this project is not a simple Squarespace template, but the next step in my learning and I would like to show it. The most important thing I am going to learn is NEXT.js, SSR rendering, APP Router and next-mdx-remote to load markdown files from the Node server.

Type:

  • Web App
  • Optimised for mobile
  • Portfolio & Blog

Tools:

  • CSS & HTML
  • React 18
  • NEXT.js
  • Next-mdx-remote
  • Framer-motion
  • Git & GitHub
  • Vercel

Live:

Purpose of the project

Create a personal space on the internet, controlled by myself and outside commercial silos, a place where I can showcase my programming skills and write about what interests me.

To present myself properly for potential job opportunities.

It is also a blog, to write about things that interest me and share it with the world.

My role in the project

Using the Figma application, I created the design and user interface.

Some ideas come from the React course 'Joy of React' by Joshua Comeau. The course gave me a good foundation to start with NEXT.js and SSR rendering.

Except for that and the CSS reset part, all the code has been written by me. Reading the documentation and figuring things out on my own. Surely that's why there are beginner mistakes, but the website works well and I have learned a lot.

Tres tarjetas de ofertas

Web stack and explanation

Workspace: Visual Studio Code. Framework NEXT.js.

Figma: UI and UX design.

CSS: The transformation of the design into a real application was done using modern CSS APIs. For the layout, I used flexbox, grid, and container query, which was really fun to learn and use.

NEXT APP Router: Relative routes, nested routes, etc.

React: Reusable components, props. Use of conditional rendering. Form control with state through value and onChange. useEffect for some other opportunities. useState, useRef.

Next-mdx-remote: To be implemented for the blog as the next step, the idea is to read markdown files from the same server.

Vercel: Continuous deployment through GitHub.

Extras: Framer Motion for animations, React-Icons for icons.

Git: Commits, Branches, Merge, Restore, Push.