Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Fully customizable personal portfolio and blog website made with Spring Boot

A retro pixel-art developer portfolio theme for Astro 7 with MDX blog, case-study projects, and a JavaScript-free contact form.

A refined Astro theme for academic portfolios, research profiles, and personal scholar websites.

A ReactJS portfolio template that presents personal info inside a draggable, resizable MacOS-style terminal window.

Newspaper theme is based on black, white, and red colors. Main menu includes drop down sub-menus. Homepage is integrated with XML Flash Grid Slider.
jasonpyau.com is a self-hosted personal portfolio and blog template built with Spring Boot (Java) that renders all content — blog posts, experiences, projects, and skills — from a MariaDB database, so you can update your site through an Admin Panel without editing any code.
jasonpyau.com is an open-source portfolio and blog website project created by Jason Pyau, using Java and Spring Boot for the backend and a separate Java Admin Panel for content management. The website dynamically loads blog posts, experiences, projects, and skills stored in a MariaDB database, and every component is customizable through the Admin Panel. It is designed to be self-hosted; the author runs it on a Raspberry Pi with Cloudflare protection and GitHub Actions to synchronize the main branch and server.
./admin) lets you modify all website content and settings; it is configured via AdminPanel.properties and runs alongside the Spring Boot backend../backend directory uses the Maven Wrapper (mvnw) to run both the frontend and backend with a single spring-boot:run command; requires Java JDK 17 or later.secrets.properties.https://app.swaggerhub.com/apis-docs/jasonpyau-com/jasonpyau.com/1.0.0.secrets.properties with your database credentials, Spring profile, email sender/receiver, and admin password; fill in AdminPanel.properties with the server URL and same admin password.sudo bash ./mvnw spring-boot:run from the ./backend directory.sudo bash ./runAdmin.sh from the ./admin directory.The project is publicly available on GitHub and is free to use; no paid tiers or licenses are mentioned in the README.
Yes, the source code is publicly hosted on GitHub under the jasonpyau/jasonpyau.com repository and can be used at no cost. The README lists no commercial licensing or payment requirements.
You need a server with Java JDK 17 or later, MariaDB installed with a database created, and optionally a Gmail account with an app password for contact form notifications. Both secrets.properties and AdminPanel.properties must be configured with your environment values.
Yes, all site content is stored in the MariaDB database. The Admin Panel provides an interface to change blog posts, experiences, projects, and skills, and the website reflects those changes immediately without any code edits.
Yes, there is a separate Java Admin Panel in the ./admin directory. It is compiled and run independently from the backend, and it uses the same admin password to let you manage the website's content and settings.
