#LSPPDay51 — Added API key authentication today! Generate a key from your dashboard, use it with Authorization: Bearer header to call the API without a session. Keys are hashed before storage — never stored in plaintext
@lftechnology#60DaysOfLearning2026#LearningWithLeapfrog
#LSPPDay48 — Replaced Flask's dev server with Gunicorn in production! Multiple worker processes, request limits, graceful restarts, and proper production hardening. No more "WARNING: This is a development server"
@lftechnology#60DaysOfLearning2026#LearningWithLeapfrog
#LSPPDay44 — Set up Nginx as a reverse proxy in front of my Flask app today! App is now live at https://t.co/KCdeXVI5Ui on port 80.
Fought with Let's Encrypt rate limits trying to get HTTPS — finishing that tomorrow
@lftechnology#60DaysOfLearning2026#LearningWithLeapfrog
#LSPPDay40 — Two thirds done! Published my Days 21–40 recap: exploiting XSS and SQLi myself, hardening Docker containers, and building a real auth system from scratch.
Full writeup: https://t.co/cvWOP9bMnT
@lftechnology#60DaysOfLearning2026#LearningWithLeapfrog
#LSPPDay39 — Full security audit day! Added username format validation (regex), account deletion with password confirmation, a stats API, fixed 34 Gitleaks false positives with an allowlist, and brought test count to 30+
@lftechnology#60DaysOfLearning2026#LearningWithLeapfrog
#LSPPDay38 — Found and fixed a silent bug today: my Docker image built fine but crashed because https://t.co/nlO9fvUsii wasn't being copied in. Added a container smoke test to the pipeline so this can never slip happen
@lftechnology#60DaysOfLearning2026#LearningWithLeapfrog
#LSPPDay37 — Built my first real JSON API today! GET and PUT /api/profile endpoints, authentication required, email validation, bio length limits, and 5 new pytest tests. The app is actually doing something now @lftechnology#60DaysOfLearning2026#LearningWithLeapfrog
#LSPPDay36 — Built secure password change today! Requires current password verification, forces re-login after change, and rate limited to 5 attempts per hour. Session hijacking can't lead to silent password takeover @lftechnology#60DaysOfLearning2026#LearningWithLeapfrog