Skip to content

About

Evidence-driven technical portfolio for Hubert Ronald — Data & Cloud Architect, Data/ML Platform Engineer, and AI-native Builder. Projects, Technical Docs, and systems that turn complexity into clarity and action.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

hubertronald.dev

Node.js 20.x npm scripts VitePress GitHub Pages GitHub Actions JavaScript HTML5 CSS3 Markdown

Source repository for the public technical portfolio and documentation hub of Hubert Ronald.

Data & Cloud Architect · Data/ML Platform Engineer · AI-native Builder

I build evidence systems that turn complexity into clarity and action.

Live site:

https://hubertronald.dev/


What this site contains

  • English and Spanish landing pages.
  • Project Atlas, a curated map of projects, repositories and technical artifacts.
  • Builder Journey, connecting creative software roots with data, cloud and AI-native engineering.
  • Case studies and historical archive material.
  • A canonical Technical Docs hub for selected projects and technical field guides.
  • A standalone bridge to Liasoft, the creative archive at liasoft.hubertronald.dev.

Current Technical Docs publications:

  • VersoVector
  • LuaSF
  • GradientMesh
  • RelationalStats
  • RetainAI
  • FDE Roadmap

Public URL model

https://hubertronald.dev/
  Main landing page

https://hubertronald.dev/es/
  Spanish landing page

https://hubertronald.dev/projects/
  Project Atlas / Work

https://hubertronald.dev/journey/
  Builder Journey

https://hubertronald.dev/case-studies/
  Case-study index

https://hubertronald.dev/archive/
  Historical archive

https://hubertronald.dev/technical-docs/
  Canonical Technical Docs hub

https://hubertronald.dev/technical-docs/versovector/
  VersoVector documentation

https://hubertronald.dev/technical-docs/luasf/
  LuaSF documentation

https://hubertronald.dev/technical-docs/gradientmesh/
  GradientMesh documentation

https://hubertronald.dev/technical-docs/relationalstats/
  RelationalStats documentation

https://hubertronald.dev/technical-docs/retainai/
  RetainAI documentation

https://hubertronald.dev/technical-docs/fde-roadmap/
  Forward-deployed engineering field guide

https://liasoft.hubertronald.dev/
  Standalone Liasoft creative archive

The following root-level project routes remain as compatibility surfaces and are not the canonical documentation roots:

/versovector/
/luasf/
/gradientmesh/
/relationalstats/
/retainai/

New documentation should use the canonical /technical-docs/... namespace.


Repository structure

.
├── docs/
│   ├── index.md
│   ├── es/
│   ├── projects/
│   ├── journey/
│   ├── case-studies/
│   ├── archive/
│   ├── technical-docs/
│   │   ├── index.md
│   │   ├── versovector/
│   │   ├── luasf/
│   │   ├── gradientmesh/
│   │   ├── relationalstats/
│   │   ├── retainai/
│   │   └── fde-roadmap/
│   ├── versovector/          # compatibility route
│   ├── luasf/                # compatibility route
│   ├── gradientmesh/         # compatibility route
│   ├── relationalstats/      # compatibility route
│   ├── retainai/             # compatibility route
│   ├── public/
│   │   ├── icons/
│   │   └── images/
│   │       └── profile/
│   └── .vitepress/
│       ├── config.mts
│       └── theme/
│
├── static-sites/
│   ├── liasoft/
│   └── root-under-construction/
│
├── legacy/
│   └── under-construction-template/
│
├── scripts/
│   ├── audit/
│   ├── technical-docs/
│   └── copy-static-sites.mjs
│
├── technical_docs_source_locks/
│   ├── README.md
│   └── fde-roadmap.json
├── technical_docs_source_lock.schema.json
├── technical_docs_source_registry.json
│
├── .github/
│   └── workflows/
│       └── deploy.yml
├── package.json
├── package-lock.json
├── .nvmrc
└── README.md

Architecture

The main site is built with VitePress.

The public landing experience uses custom Vue components and a dedicated editorial visual system, while Technical Docs retain documentation-oriented navigation, sidebar and content behavior.

Landing

docs/index.md
  -> /

docs/es/index.md
  -> /es/

Both landing routes share the same component system with language-specific content.

Technical Docs

Canonical documentation lives under:

docs/technical-docs/
  -> /technical-docs/

The current publication set is:

/technical-docs/versovector/
/technical-docs/luasf/
/technical-docs/gradientmesh/
/technical-docs/relationalstats/
/technical-docs/retainai/
/technical-docs/fde-roadmap/

Technical Docs lifecycle and provenance are governed by:

technical_docs_source_registry.json
technical_docs_source_lock.schema.json
technical_docs_source_locks/
scripts/technical-docs/

The registry defines publication and source behavior. Provenance locks are materialized only where required by the registered source policy.

Compatibility routes

The older project roots remain only for compatibility:

/versovector/
/luasf/
/gradientmesh/
/relationalstats/
/retainai/

They must not become the canonical source of future documentation.

Static sites

npm run docs:build builds VitePress and then runs the static-copy stage.

Current intentional static sources include:

static-sites/liasoft/
static-sites/root-under-construction/

Heavy local application exports under:

static-apps/liasoft/games/

are intentionally kept outside Git.


Liasoft

Liasoft is maintained as a standalone creative archive:

https://liasoft.hubertronald.dev/

The main portfolio links to it externally.

static-sites/liasoft/ provides only the lightweight bridge used by this repository and should not be treated as the canonical Liasoft application source.


Historical under-construction source

The original under-construction material is intentionally separated from the active landing.

Current retained sources are:

static-sites/root-under-construction/
legacy/under-construction-template/

The root / must remain the active portfolio landing and must not be overwritten by the historical template.


Local development

Node.js is defined by the repository .nvmrc.

nvm use
npm ci

Run the development server:

npm run docs:dev

Build

Build VitePress and copy intentional static sites into the generated output:

npm run docs:build

docs:build already includes the static-copy stage:

vitepress build docs
  -> npm run static:copy

Generated output lives under:

docs/.vitepress/dist/

and must not be committed.


Validation

Run the landing quality gate:

python3 scripts/audit/landing-quality-check.py

Run the current Technical Docs integration gate after building:

npm run technical-docs:validate-rtd6 -- --require-build

Check patch whitespace and malformed diff output:

git diff --check

A release candidate should pass all three checks after a clean build.


Clean local preview

When changing assets, navigation, static bridges or generated documentation, rebuild from a clean output directory:

rm -rf docs/.vitepress/dist
rm -rf docs/.vitepress/cache

npm run docs:build
npm run docs:preview

If an updated asset still appears stale in the browser, perform a hard refresh:

macOS: Cmd + Shift + R
Windows/Linux: Ctrl + Shift + R

Deployment

Deployment is handled by:

.github/workflows/deploy.yml

The workflow uses the Node.js version declared by .nvmrc.

For pull requests and pushes targeting master, relevant source changes trigger validation. The workflow:

checkout
  ↓
Node from .nvmrc
  ↓
npm ci
  ↓
npm run docs:build
  ↓
generated-output checks
  ↓
landing-quality-check.py
  ↓
technical-docs:validate-rtd6 -- --require-build

A normal push does not deploy the site automatically.

GitHub Pages deployment remains an explicit manual action through workflow_dispatch.

Validation-only run:

Actions
  -> Validate and Deploy Site
  -> Run workflow
  -> deploy: false

Validated deployment:

Actions
  -> Validate and Deploy Site
  -> Run workflow
  -> deploy: true

The deployment artifact is:

docs/.vitepress/dist/

Repository safety rules

Do not commit generated VitePress output:

docs/.vitepress/dist/
docs/.vitepress/cache/

Do not commit dependencies:

node_modules/

Do not reintroduce the historical under-construction page as /.

Do not move canonical Technical Docs back to root-level project routes.

Do not modify Technical Docs provenance declarations without validating the registry and applicable locks.

Do not create a local /kaggle/ route; Kaggle remains an external profile link.

Do not treat Liasoft as part of the RetainAI product identity.

Do not commit heavyweight local game exports under static-apps/liasoft/games/.

Do not use destructive deployment commands that overwrite the source branch with generated output.


Legacy deployment note

This repository previously used direct ghp-import deployment:

ghp-import -n -p -f _build/html -b master
git config --global http.postBuffer 524288000

That process is retained only as historical context.

The current model keeps source code in Git and publishes the generated docs/.vitepress/dist/ artifact through GitHub Actions and GitHub Pages.


Related projects


Author

Hubert Ronald

GitHub: HubertRonald


License

This repository uses the MIT License for the source code of the GitHub Pages site, unless otherwise noted.

Project names, personal branding, written content, logos, screenshots, third-party assets, datasets, external project documentation and generated artifacts may be subject to separate rights or licenses unless explicitly stated otherwise.

See LICENSE for details.

About

Evidence-driven technical portfolio for Hubert Ronald — Data & Cloud Architect, Data/ML Platform Engineer, and AI-native Builder. Projects, Technical Docs, and systems that turn complexity into clarity and action.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages