Friday Feature: The Discipline of Deployment
I wanted to start a Friday Feature as a new ritual. In karate, as in life, consistency is everything. We have to sometimes force ourselves to train when we don't want to and by forcing myself to make a commitment to deliver a Friday Feature every week, I force myself to continue to train.
Today's feature is based on a personal project. I'm moving euloth.com from a plain HTML site to one that can be the focal point for wherever life leads. This version is for demo purposes only - I'm showing my work. The next production version will still look much like the demo as I liked some of the random changes that occurred through the debug session and decided to keep them. 😀
Please, please don't look at the complexity of this post and think "I can never do that!" and give up. When I started at the karate dojo in 1986, I couldn't throw a decent punch and some would say I still can't.😉 Everything gets better with practice and time, or is it time and practice?
I'm showing you my Sensei level kata in IT and you may not be there…yet! Or you may be way beyond me…it's a pretty big world with a lot of people.
I purposefully started this "upgrade" with a detailed, yet vague prompt; the type of thing you get off the Internet with hope that it's going to work exactly as you had imagined - the silver bullet solution. From a karate perspective, think of it like sparring with a partner to increase your skill in a particular area and in this case it was software engineering and debugging silver bullets that missed the target.
The Technical Specs of the Demo
Specs: (as created by the silver bullet)
- Backend: FastAPI (Python 3.11) using SQLModel.
- Database: SQLite.
- Frontend: Jinja2 templates combined with HTMX 2.0.
- Styling: Vanilla CSS.
- Auth: JSON Web Tokens (JWT)
- Deployment: Docker on DigitalOcean App Platform.
Key Dependencies:
- FastAPI 0.109.0
- SQLModel 0.0.14
- HTMX 2.0
- Python-Markdown
- Python-Jose (for JWT handling)
- Passlib (for password hashing)
Last, but not least…
I also Gemini 3 and @NanoBanana to generate the new YouTube video on the demo's home page as a way to test out the latest version of Gemini. The demo site is just a demo, but I'm keeping the video! 😀
View the demo site: https://euloth-dot-com-v2-mqoki.ondigitalocean.app/
View current production: https://euloth.com
Have a great weekend everyone! Take a break, but don't forget to train.
Join my Discord server to discuss web development, AI tools, and training techniques.