Colophon
jefftriplett.com is a Django site. Posts, pages, and every other collection on the site are Markdown stored in PostgreSQL, and I write and edit them in the site's own staff editor or through an AI assistant over MCP.
Stack
- Python 3.13 and Django 6.0
- PostgreSQL 17, via psycopg 3
- uvicorn serving the site over ASGI, with WhiteNoise for static files
- Docker images built with uv, which also manages the dependencies
Django packages
- django-ninja: the JSON API at /apis/
- django-mcpz: the MCP server, with OAuth, so AI assistants can read and write content
- django-q2: background tasks and scheduled jobs
- django-prodserver: runs the web and worker processes
- django-tailwind-cli: builds the CSS with the standalone Tailwind CLI, no Node required
- django-simple-nav: the site navigation
- django-health-check: the health check endpoint
- django-click: management commands
- django-crawl: crawls the site to catch broken pages
- django-browser-reload: live reload while developing
- environs: settings from environment variables
Content
Markdown is rendered with Python-Markdown and code is highlighted with Pygments. python-frontmatter handles frontmatter, and httpx2 fetches covers and metadata from outside services.
Design
The theme is hand-written with Tailwind CSS 4 and Tailwind Typography. Text is set in Inter, and the icons come from Font Awesome.