loftusa.github.io
loftusa.github.io
Personal website for Alex Loftus. Jekyll (Minimal Mistakes theme) on GitHub Pages + FastAPI chat API on Fly.io.
Build & Serve
bundle exec jekyll serve # Local dev server (localhost:4000)
bundle exec jekyll serve --config _config.yml,_config.dev.yml # With dev overrides
bundle exec jekyll build # Static build → _site/
Chat API (experiments/)
experiments/chat_api.py— FastAPI app, Cerebraszai-glm-4.7model, ChromaDB RAG- Fly.io app:
llm-resume-restless-thunder-9259 - Deploy:
cd experiments && fly deploy - Endpoints:
POST /chat(streaming),POST /reset,GET /logs/download - $2 USD cost cap per conversation
Key Structure
_config.yml / _config.dev.yml Jekyll config (prod / dev overrides)
_data/navigation.yml Nav menu
_pages/ Site pages (about.md = homepage)
_posts/ Blog posts (YYYY-MM-DD-title.md)
_drafts/ Unpublished posts
assets/js/chat.js Chat frontend
experiments/ Chat API, RAG, evals
red-teaming/ Mangrove experiment (has own CLAUDE.md)
Blog Posts
- Format:
_posts/YYYY-MM-DD-title.md - MathJax: add
mathjax: trueto front matter - Markdown: kramdown with GFM, rouge syntax highlighting
Config
_config.yml— production (url: https://alex-loftus.com)_config.dev.yml— local overrides (url: localhost:4000, analytics off)_data/navigation.yml— top nav links
Package Management
- Ruby/Jekyll:
bundle install/bundle exec - Python:
uv(useuv run <script>.py) - JS:
npm
