Founder at MACD Adaptive. I work on booking systems, websites, WhatsApp and automation for small businesses in Ireland, alongside open-source experiments.
Trabajo en herramientas prácticas para pequeños negocios. Hablo español e inglés.
MACD · current work · CV repository · CV website
Python · JavaScript (Node) · HTML/CSS · SQLite · GitHub Actions · WhatsApp Business API
| Project | What it is | Status |
|---|---|---|
| MACD Adaptive | Booking systems, reminders, websites and WhatsApp ordering for small businesses, with a focus on accessibility and plain language. | Current work |
| Almojarife | Open-source sea-trading browser game set on the Iberian and Mediterranean coast in the 15th–16th centuries, in English and Spanish. Try the development build. | Early development |
| Sign-language mosaic | Experimental personal video-wall page for sign-language videos from a public streaming catalog. | Early development |
Public, original repositories only - the card shows the counts and when they were retrieved.
How the stats are generated
Counts cover public, non-fork repositories owned by HALCONDEORO. Stars and forks are received on those original repositories. Recent projects are the four most recently pushed originals with a recorded push date; dates are repository push dates, not personal commit counts or evidence of a release. The owner can exclude specific repositories from this list (RECENT_EXCLUSIONS in the generator); exclusions change only the list, never the totals. Empty repositories still count toward totals.
The SVG is generated locally by a dependency-free Node 22 script, using only the anonymous, paginated public GitHub API. Its UTC timestamp records the successful retrieval. A workflow attempts a refresh on pushes to main, every six hours, and on manual dispatch. On failure it keeps the last successful artifact and reports an error; the displayed timestamp may therefore be older.
No external stats widgets, private activity, visitor tracking or skill scores.
Run node --test test/stats.test.mjs to test with fixtures, then node scripts/stats.mjs to refresh from the public API. No packages, credentials or PAT are needed for either command. GitHub's built-in workflow token is used only to save the SVG back to this repository.
The test job also runs on pull requests with read-only token. Only the writer job has contents: write, and it runs on main alone, never on a pull request. Automatic pushes do not trigger another run with the built-in token. A failed API request, including rate limiting, fails the update without replacing the SVG.
Changes should go through one reviewed PR with CI checked before merging, with no automerge. This workflow consumes standard GitHub-hosted runner time; no paid service or add-on is configured. No PR is created by the generator.



