Software Engineer specializing in full-stack web development.
🇨🇺 🇪🇸 Originally from Holguín, Cuba , now based in Andalucía, Spain . Django is my main area of expertise — I also work with Vue on the frontend side.
🛠️ Django Admin specialist, professionally allergic to writing JavaScript. Most of my packages exist so you (and mostly me) don't have to.
🎯 One day I'd love to get a PR merged into Django itself. I've contributed to django-import-export along the way.
⚾️ ⚽️ Baseball and soccer fan. Currently learning padel.
| Project | Description |
|---|---|
| django-admin-fieldsets-extra | Interleave fieldsets and inlines in the Django admin change form, and save a single fieldset on its own. |
| django-admin-inline-controls | Pagination, filters, sortable columns, bulk actions and a save button for Django admin inlines, refreshed in place. |
| django-admin-select-filter | Select2-powered admin list filters for Django, including an async foreign-key filter. |
| django-admin-tables | Extras for Django admin changelists and inlines, in one mixin: exclusive radio fields, foreign keys as links, hideable and responsive columns, totals and row actions. |
| django-form-alpine | Integrate Alpine.js into Django forms declaratively using widget attrs and resolvers. |
| django-form-matrix | A form field to fill a table of rows and columns, with a form field in every cell, plus a ready-made permission matrix. |
- uv + hatchling — dependency management and packaging
- ruff + mypy/django-stubs — lint, format, types
- pytest + pytest-django + Playwright — unit, integration, and real-browser e2e tests
- vitest — JS test suites where a library ships static JS
- tox (via tox-uv) — compatibility matrix across supported Python/Django versions
- pre-commit + GitHub Actions — the same checks locally and in CI


