Overview
This project is my personal website and online portfolio, designed to share information about my background as a developer, showcase the projects I have worked on, and publish articles on my blog. It features a minimalist design, native dark mode, and fully bilingual support (Spanish and English), making it accessible to a wider audience.
In addition to hosting my articles, the site serves as a centralized hub for all my contact links, code repositories, social networks, and other multimedia content I produce. It is built with a strong focus on fast loading times, visual simplicity, and ease of maintenance.
Technical details
The backend of the website is built with Python using the Flask micro-framework, utilizing Jinja2 as the templating engine and Flask-Babel to handle internationalization (i18n). On the client side, it avoids heavy frontend frameworks, relying exclusively on semantic HTML5, pure modular CSS3, and Vanilla JavaScript, ensuring optimal browser performance.
Its most notable architectural feature is its Content Management System (CMS). Rather than using a traditional database, the site consumes the GitHub GraphQL API to turn GitHub Discussions into a custom headless CMS. Content is written in Markdown format (containing frontmatter and metadata) directly on GitHub. The backend fetches this data, stores it in an in-memory cache, and renders it to HTML with advanced markdown extensions for code blocks, tables, admonitions, and mathematical equations. Additionally, the commenting system for each post is powered by Giscus, seamlessly linking the website’s discussions back to the repository. The application is configured to be easily deployed as serverless functions on Vercel.