Skip to content

landerox/landerox.github.io

landerox.com

Website Last commit Deploy Lint Links OpenSSF Scorecard OpenSSF Best Practices OpenSSF Baseline Python uv Zensical pre-commit Conventional Commits Code License: MIT Content License: CC BY 4.0

Welcome to the source code of my personal and professional digital space.

This repository powers landerox.com (and its Spanish version), a bilingual platform dedicated to Data Platforms, Cloud Architecture, and Data & AI Engineering.

My goal in making this repository public is to provide transparency into my engineering practices. You are welcome to explore the codebase to review the CI/CD pipelines, understand the site's architecture, or use my workflows as a reference for your own projects.


What's Inside

The site's content is structured to provide value on both technical and strategic levels:

  1. Personal Positioning: An overview of my professional background, technical focus areas, and how I collaborate with engineering teams to build scalable architectures.
  2. Engineering Projects: Detailed breakdowns of reference implementations, architectural patterns, and real-world solutions I have developed.
  3. Technology Radar: A curated, opinionated tracking of tools, ecosystems, and frameworks, categorized by their current maturity and adoption level.

Architecture & Tech Stack

This project is built with a focus on speed, strict dependency management, and long-term maintainability, leveraging modern tools from the Python ecosystem:

  • Static Generation: Zensical — A highly extensible and minimalist Python static site generator.
  • Environment Management: uv — Used for deterministic and exceptionally fast dependency resolution.
  • Task Automation: just — Serves as the central command runner for local development workflows.
  • Infrastructure: Continuous deployment to GitHub Pages orchestrated via GitHub Actions.

Note on Architecture: I maintain a detailed log of my architectural choices. If you are curious about the reasoning behind this stack, please refer to docs/decisions.md and docs/tooling.md.

Local Development

If you wish to explore the development environment or run the site locally, the setup is designed to be frictionless.

Option A: Dev Container (Recommended)

This is the cleanest approach, ensuring your local environment remains isolated:

  1. Open this repository in VS Code with the Dev Containers extension installed (or use GitHub Codespaces).
  2. The environment will automatically provision Python 3.13, uv, just, and all necessary linting/validation tools.

Option B: Bare-Metal Installation

If you prefer running it directly on your machine, ensure you have Python 3.13+, uv, and just installed:

# 1. Clone the repository
git clone https://github.com/landerox/landerox.github.io.git
cd landerox.github.io

# 2. Install dependencies via uv
just sync

# 3. Start the development server
just serve               # English server (http://127.0.0.1:8000)
just serve-es            # Spanish server (http://127.0.0.1:8001)

Tip: Running just in your terminal with no arguments will display a full list of available automated tasks (e.g., building, linting, link validation).

Repository Structure

Key directories and files to help you navigate the codebase:

  • content/en/ & content/es/ — The markdown source files containing the bilingual content.
  • zensical*.toml — The core configuration files for the static site generator.
  • .github/workflows/ — CI/CD pipelines governing deployments, security scans (OpenSSF), and code quality.
  • docs/ — Internal documentation, including style guidelines, repository structure, and maintenance runbooks.
  • CHANGELOG.md — Manually curated release notes following the Keep a Changelog standard.

Contributing

While this is a personal site, technical corrections, bug reports, or suggestions are highly appreciated. Please refer to the Contributing Guidelines before opening an Issue or submitting a Pull Request.

License

To maintain a clear boundary between the open-source engine and my personal intellectual property, this repository operates under a dual-license model: