A terminal-inspired personal portfolio built with Flask, developed with AI-assisted tooling (Codex & Claude Code).
Visitors interact with a command-line interface to explore my work, download my CV, and learn more about me.
This project uses uv as the package manager.
# Clone and setup
git clone <repo-url> && cd personal-website
# Assumes uv is installed
make setup
# Edit .env with your configuration
# Then run the portfolio
make runOpen http://localhost:5000 and type help to get started.
Prefer a quick summary? Visit http://localhost:5000/summary.
- Python 3.12+
- UV package manager
| Command | Description |
|---|---|
make setup |
Install dev dependencies + seed .env |
make run |
Run the Flask portfolio locally |
make test |
Run pytest with coverage |
make lint |
Check code with Ruff |
make format |
Auto-format with Ruff |
make clean |
Remove caches and build artifacts |
- Bio: Edit
_about_handlerinpersonal_website/portfolio/commands.py - CV: Replace
personal_website/portfolio/static/files/cv.pdfwith your resume - Commands: Add new handlers in
commands.pyand register them in_register_default_commands()
- Add test coverage
- Add LLM chat integration
- Deploy to hosting platform