My portfolio built with Next.js, MDX and TailwindCSS to showcase my experience, projects and interests.
- Framework: Next.js & TypeScript
- Content management: MDX
- Styling: TailwindCSS
- Deployment: Vercel
The way I manage written content for this site is quite unique. I wanted to an easy way to separate the writing from the intricacies of my React components. I finally settled on using MDX to write my content in markdown and keep it separate from the React components. This was I had the simplicity of not using a CMS or a database and the ease of integration to use it.
At compile time, the MDX content is converted to rich text, passed as a prop to the respective server components (h1, h2, a, p, ...) and the site is built using Next and its static site generation.
More structured forms of content (like the list of projects) have content stored in a more conventional TS object. See projects-content.ts
.
I was inspired by a variety of sources in building this and want to credit the following projects.