Automated Technical Portfolio
Modern, self-updating technical portfolio showcasing expertise in Full-Stack Python/Django development, cross-platform ecosystems, and open-source contributions.
aixandrolab.github.io — modern, self-updating technical portfolio showcasing expertise in Full-Stack Python/Django development, cross-platform ecosystems, and open-source contributions.
This isn't just a static site — it's a fully automated ecosystem that fetches live data and builds itself daily.
How It Works:
1. Every day at midnight UTC, GitHub Actions wakes up 2. Fetches live data from GitHub, PyPI & Dev.to APIs 3. Generates 30+ HTML pages in a temporary directory 4. Creates fresh sitemap.xml with all URLs 5. If ALL pages generate successfully — replaces old site atomically 6. If ANY error occurs — keeps old site untouched 7. Deploys to GitHub Pages automatically
| Feature | How It Works | Benefit |
|---|---|---|
| Fully Automated | GitHub Actions cron job runs daily | Always up-to-date, zero manual work |
| Dynamic Content | Fetches live data from GitHub, PyPI & Dev.to APIs | Shows real repository, package, and article stats |
| Atomic Deployment | Generates all pages in temp directory first | Never broken site — all or nothing |
| Auto Sitemap | Dynamically includes all pages | Perfect SEO, always current |
| Zero Cost | Hosted on GitHub Pages | Only pay for domain name |
| Secure | No database, no backend | Static = unhackable |
| Component | Count |
|---|---|
| Repository Pages | 20+ (and growing) |
| Package Pages | 1+ PyPI packages (outputdecorator) |
| Ecosystem Pages | 1 dedicated ecosystem (ToDo) |
| Static Pages | 7 core pages |
| Updates | Daily automatic |
| Hosting Cost | $0 (only domain) |
Frontend — The User Experience:
Build System & Automation — The Engine:
Data Sources:
| Source | API Endpoint | Data Fetched |
|---|---|---|
| GitHub | api.github.com/users/aixandrolab/repos | Repo names, descriptions, stars, forks, languages, topics, dates |
| PyPI | pypi.org/pypi/{package_name}/json | Version, summary, full description, project URLs |
| Dev.to | dev.to/api/articles?username=aixandrolab | Titles, descriptions, tags, reactions, comments, reading time |
projects.html) — Grid of GitHub repos with live statspackages.html) — Grid of PyPI packages with descriptionsapplications.html) — Desktop (PyQt), Web (Django), Mobile (Kotlin), and CLI toolsPrerequisites: Python 3.8+, Git
Setup & Build:
# 1. Clone the repository git clone https://github.com/aixandrolab/aixandrolab.github.io.git cd aixandrolab.github.io # 2. Install Python dependencies pip install requests beautifulsoup4 jinja2 markdown pygments # 3. Run the full build pipeline python scripts/fetch_github.py python scripts/fetch_devto.py python scripts/fetch_pypi.py python scripts/generate_pages.py python scripts/generate_repo_pages.py # 4. Preview the site locally python -m http.server 8000
Open your browser to http://localhost:8000
"Build once, deploy manually" is so 2010.
"Build automatically, host for free" is 2026.
This architecture demonstrates that you can run a professional, dynamic-looking website with zero infrastructure costs, zero maintenance, and zero security headaches — just smart automation and free tier services.
Zero Cost • Zero Maintenance • Maximum Automation
By using this software, you agree to the full disclaimer terms.
Software provided "AS IS" without warranty. You assume all risks.
Full legal disclaimer: See DISCLAIMER.md
License: BSD 3-Clause License