class Jasocami:
role = "Full-Stack Lead"
experience = "12+ years in the trenches"
superpower = "Turning chaos into clean, scalable architecture"
daily_bread = ["Django", "DRF", "Vue 3", "PostgreSQL", "Celery", "Redis", "Docker", "GCP"]
side_quests = ["GNOME extensions", "scrapers", "computer vision", "Arduino"]
also_writes = "Hands-on guides for the problems I had to solve the hard way"
def approach(self, problem):
return problem.find_root_cause().fix_it_properly().ship() # no duct tapeI take products from a napkin sketch to a robust production environment β and I'm the person you call when the system is slow, the bug only happens on Fridays and nobody remembers why that cron job exists. Pragmatic, results-first, allergic to over-engineering.
| Project | What it does | |
|---|---|---|
| π | jcm-gnome-jira-indicator | GNOME top-bar counter of the Jira issues that still need you. Highlights what changed, one-click open, one-line install. |
| π§ͺ | realistic-test-data | Synthetic test data in CSV, JSON, SQLite, PDF, PNG & JPEG β foreign keys resolve, totals reconcile to the cent, check digits validate. |
| β‘ | pretty-json-viewer | Virtual-scroll JSON viewer: 600k+ lines, ~87 DOM nodes, zero freezes. Vue 3 component or zero-dependency vanilla JS. |
| π₯ | cprofile-and-dashboard | Profile Django API endpoints and explore the hot paths in a browser dashboard. Find the bottleneck, not a guess. |
| π³ | django-full-stack-template | docker compose up and you have Django, Celery, Beat, Flower, Redis, PostgreSQL, Mailpit and a DB UI. |
| π₯ | django-csvfixtures | Plug-and-play Django admin add-on: populate any model from a CSV like a fixture, straight from the admin. |
| π | django-vue-otp-2fa | Email OTP two-factor login with Django REST Framework, JWT and a Vue front end. |
| π· | mask-detector | Real-time video stream classifier that detects whether people wear a face mask. |
β¦plus scrapers, Arduino experiments and a Kotlin time tracker I used every single workday β browse everything β
Lessons I learned the hard way, written so you don't have to:
- π Git cherry-pick: a step-by-step guide
- π Using a work and a personal GitHub account on the same PC
- π§Ή Testing Django migrations in throwaway databases and containers
- π₯¬ Django + Celery: making tests work when Redis is not running
- π§± DRF custom pagination, permissions and exception handling
- π Generic Axios client with refresh-token interceptor
- π€ Claude Code: core engineering principles & workflow rules
- Root cause over quick fix. A patch that hides the bug is a bug with a delay.
- Simple beats clever. The best architecture is the one the next developer understands on a Monday morning.
- Measure, then optimise. Profilers before opinions (yes, I built one).
- Ship it, then make it better. Production is where products start, not where they end.
If one of my tools, guides or snippets saved you a day of debugging, keep the coffee flowing β it turns directly into more open-source.
