Personal portfolio website with my background, skills, studies, publications and projects, in Portuguese and English, with light and dark themes.
Live site: https://itswillian.github.io/
There is no build step. The browser loads index.html, which runs app.js:
| File | Role |
|---|---|
src/template.html |
The page markup, with {{ placeholders }} for the content |
src/portfolio.js |
The component: all content (PT/EN), state and interactions |
src/dc-lite.js |
Small runtime that fills the template and updates only what changed |
styles.css |
All styles, including the light and dark themes |
assets/ |
Images, icons and the resume PDFs |
favicon.svg |
Loomis mark, light and dark variants |
Modules and fetch need an HTTP server, so opening index.html directly does not work:
python3 -m http.server 8080Then open http://localhost:8080.
GitHub Pages publishes the main branch from the repository root.

