Skip to content
View jasocami's full-sized avatar
πŸ—Ώ
πŸ—Ώ

Block or report jasocami

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jasocami/README.md

$ whoami

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 tape

I 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.


πŸš€ Things I've built

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 β†’


πŸ“ Field notes

Lessons I learned the hard way, written so you don't have to:

All gists β†’


🧰 Toolbox

Main stack
Also in the toolbox


🧭 How I work

  • 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.

🐍 Eating bugs, one commit at a time

Snake eating my contribution graph

β˜• Fuel the next tool

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.

Support me on Ko-fi

Pinned Loading

  1. realistic-test-data realistic-test-data Public

    Realistic synthetic sample data for testing β€” 5 topics, 6 formats (CSV, JSON, SQLite, PDF, PNG, JPEG), identical records in each. Foreign keys resolve, totals reconcile to the cent, check digits va…

    Python 1

  2. django-full-stack-template django-full-stack-template Public

    dockerized project with Django, celery, redis, flower, beat, postgresql, mailpit, db-web-ui

    Python 1

  3. jcm-gnome-jira-indicator jcm-gnome-jira-indicator Public

    GNOME Shell top-bar indicator that shows how many Jira issues still need you, marks what changed since you last looked, and opens any issue in one click. For GNOME 46–50

    Python

  4. django-csvfixtures django-csvfixtures Public

    Library for django where you can import CSV files to the model from admin panel to populate the table like a fixture

    Python 1

  5. Django + Celery tutorial: making tes... Django + Celery tutorial: making tests work when Redis is not running (hands-on, beginner friendly)
    1
    # Django tests that need Redis or Celery: a hands-on tutorial
    2
    
                  
    3
    You'll build a tiny Django + Celery project, watch a test fail because Redis isn't running, and fix it in three
    4
    different ways. Each step lists the result you should get. Every result here came from running this exact project
    5
    (Python 3.11, Django 5.2, Celery 5.6).
  6. Testing Django migrations in throwaw... Testing Django migrations in throwaway databases and containers
    1
    # Testing Django migrations in throwaway databases
    2
    
                  
    3
    How to check that migrations apply cleanly against an empty database or a copy of a real one, without touching
    4
    the databases you already have. Everything runs on a local Docker Compose stack.
    5