- Added /health endpoint for more reliable health checks
- Increased health check timeout from 2s to 10s with 15s grace period
- Fixed cache preloading to run only once using file locking mechanism
- Prevents multiple Gunicorn workers from running cache preloading simultaneously
- Restored blue-green deployment strategy for zero-downtime deployments
- Deployment now completes successfully with all health checks passing
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Created interactive D3.js network graph showing connections between essays
- Added external links index showing all outbound references by article
- Moved content guide to base template footer for site-wide access
- Optimized startup: background cache preloading, sequential for lower RAM usage
- Fixed duplicate images issue in growing open source seeds essay
- Updated archive page with new index links and improved browse-by-type styling
- Removed saved-customizations.css file
- Changed Fly.io deployment strategy from bluegreen to rolling
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Create new homepage template displaying live download counters for
Requests and Cerifi packages with animated statistics and personal
introduction content.