Personal GitHub Pages site for Alphaeus Ng.
Live site: https://alphaeusng.github.io
This site exists to communicate two integrated realities clearly:
- Professional work at the frontier of applied AI, computer vision, language models, and real-world systems.
- A serious Christian pursuit of Biblical truth, including the public
Seeking-Biblical-Truthvault viewer.
The design should remain restrained, professional, and easy to share. It should help recruiters, collaborators, friends, and thoughtful readers quickly find the resume, projects, GitHub, LinkedIn, and faith-related work without wading through implementation clutter.
index.html: main portfolio page served from the GitHub Pages root.pages/: secondary public pages.pages/conviction.html: conviction page.pages/kobo-forge.html: KoboForge EPUB/device-preview/image-converter page.pages/seeking-biblical-truth/: graph viewer generated from the separate vault repo.
data/: root-level public data payloads.data/conviction_tsla_history.json: TSLA transaction history plus the benchmark comparison used bypages/conviction.html.
css/: grouped site styles (main.cssshared foundations plus route-specifichome.css,404.css,conviction.css, andkobo-forge.css).js/: grouped site applications (main.js,modals.js,conviction.js,kobo-forge.js, and the sharedversion.jsdeployment stamp).pages/seeking-biblical-truth/css/andpages/seeking-biblical-truth/js/: feature-local viewer assets, including the documented Firebase runtime files.assets/: images and share assets referenced by public pages (prefer compressed JPEG web assets; keep originals only when needed).robots.txt/sitemap.xml: basic crawl hints for the public site.tools/: scripts grouped by domain.tools/koboforge/: KoboForge tests and notes (web converter is underpages/).tools/finance/: local-only financial data helpers, including the TSLA-versus-SPY benchmark generator, the legacy benchmark snapshot, and the anonymized trade ledger.
.nojekyll: required so GitHub Pages serves this as static files.
cd /home/alph/projects/alphaeusng.github.io # local workspace path
python3 -m http.server 8000Open:
- http://127.0.0.1:8000/
- http://127.0.0.1:8000/pages/conviction.html
- http://127.0.0.1:8000/pages/kobo-forge.html
- http://127.0.0.1:8000/pages/seeking-biblical-truth/
The conviction page reads from data/conviction_tsla_history.json, which is committed directly in this repo.
To regenerate the older benchmark-only dataset:
python3 tools/finance/generate_tsla_vs_spy.pyThe generator reads tools/finance/tsla_trades_anonymized.csv and writes the legacy monthly TSLA/SPY snapshot to tools/finance/tsla-vs-spy.json.
The public viewer is served from pages/seeking-biblical-truth/. It uses vault-data.json, generated from the separate source repo:
/home/alph/projects/Seeking-Biblical-Truth
When the vault changes:
cd /home/alph/projects/Seeking-Biblical-Truth
python3 tools/generate_vault_data.py
cp pages/vault-data.json /home/alph/projects/alphaeusng.github.io/pages/seeking-biblical-truth/vault-data.jsonThe viewer includes obsidian://open?vault=Seeking-Biblical-Truth links for users who cloned and opened the vault in Obsidian.
It also defaults to rendered Markdown previews with a raw-source toggle in the note panel.
Run before pushing:
python3 tools/check_site.py
python3 -m compileall tools
node tools/koboforge/test_logic.mjs
while IFS= read -r file; do node --check "$file"; done < <(rg --files -g '*.js' | sort)
python3 -m http.server 8000Then check:
curl -I http://127.0.0.1:8000/
curl -I http://127.0.0.1:8000/pages/seeking-biblical-truth/
curl -I http://127.0.0.1:8000/pages/seeking-biblical-truth/vault-data.json- Preserve
index.htmlat the repo root; GitHub Pages expects it. - Keep
index.htmlas the only root-level HTML entry point for the portfolio home. - Put secondary public pages under
pages/and keep the site links aligned with that structure. - Keep local CSS and application JavaScript out of HTML entry points. Put
site-wide/standalone-page assets in root
css/andjs/, and colocate feature-only assets beneath the feature directory. - Put public page data in the location actually used by the served page; do not leave duplicate active datasets with divergent outcomes.
- Put scripts under
tools/<domain>/; do not leave one-off scripts in the root. - Keep
pages/seeking-biblical-truth/reachable from the portfolio Explore menu and project card. - Do not add a build system unless there is a clear reason. This repo is intentionally zero-build static HTML/CSS/JS.
- Do not commit private financial spreadsheets, raw private notes, generated caches, or editor state.
- The conviction page intentionally uses a public JSON export instead of loading private spreadsheets client-side.
- The embedded benchmark comparison on
pages/conviction.htmlis monthly-close and uses the same dated trade path against a public SPY proxy series. - Before deleting files, prove they are not referenced by served pages using
rgand local route checks. - Do not keep duplicate root-level and
pages/copies of the same public page once one canonical route has been chosen.