Skip to content
View codecruz's full-sized avatar
๐Ÿ”
๐Ÿ”
  • 10:07 (UTC +01:00)

Block or report codecruz

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. 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
codecruz/README.md

๐Ÿ‘‹ Hi! I'm codecruz

Email

๐Ÿ› ๏ธ Full-stack developer from southern Spain, happiest knee-deep in data. I specialize in APIs, ETL and data migration (PHP ยท Python ยท JavaScript), with a soft spot for large-scale processing, GIS and web scraping. After hours I build things I'd actually use: Kana-Boo, to learn Japanese; langstats, a Claude Code plugin that powers the language stats at the bottom of this page; spain-postal-codes, an open dataset of Spanish postal codes published on npm and Packagist; and Preparados72h, a family emergency-preparedness portal and Android app that works offline. Lately I spend a lot of time where backend meets LLMs: MCP servers, RAG and agents that know when to hand work to a local model. Quality over quantity, always.

Buy Me a Coffee at ko-fi.com

๐Ÿš€ Personal Projects

๐Ÿ‘ปโœ๏ธ Kana~boo

Kana~boo live site

Learn Japanese from zero with Boo, a little ghost. It started with Hiragana & Katakana (charts, quizzes and a Romaji โ†’ Kana reverse mode) and now covers ~2,500 kanji from N5 to N1 plus Kotoba: vocabulary and grammar tracks from your first words up to โ‰ˆN2, kanji with furigana, stroke tracing practice and spaced-repetition reviews.

Fully static and multilingual (๐Ÿ‡ช๐Ÿ‡ธ ES / ๐Ÿ‡ฌ๐Ÿ‡ง EN / ๐Ÿ‡ฏ๐Ÿ‡ต JA, route-based i18n): every dataset is validated at build time, SEO and analytics are covered by tests, and it uses privacy-friendly analytics.

๐ŸŒธ๐Ÿ“Š langstats

langstats on GitHub

A Claude Code plugin that records which languages Claude reads and edits while it works for you, and turns them into text bars for your GitHub profile README (the Code Crafting block below is generated by it). Bars can be flowers ๐ŸŒธ, rockets ๐Ÿš€, hearts ๐Ÿ’– or any emoji you like.

The hook runs in the background so it never slows Claude down, works on macOS, Linux and Windows, and GitHub is optional: connected, it updates your README by itself (with optional auto-publish); not connected, it hands you the block to paste.

๐Ÿ‡ช๐Ÿ‡ธ๐Ÿ“ฎ spain-postal-codes

spain-postal-codes on npm codecruz/spain-postal-codes on Packagist Static JSON API

An open, versioned dataset of Spanish postal codes and the municipalities they serve, built from official INE data and refreshed automatically: 10,791 postal codes ยท 8,132 municipalities ยท 52 provinces. Use it as a CSV, a static JSON API (no server, no API key, open CORS), an npm package or a PHP library via Composer, all with the same API.

Offline lookup and accent-insensitive search with zero dependencies (~110 KB gzipped on npm), leading-zero recovery (1450 โ†’ 01450), INE codes to join with any other official statistic, and reproducible releases from the INE's twice-yearly electoral street map.

๐ŸŽ’๐Ÿ†˜ Preparados72h

Preparados72h live site Download the Preparados72h Android APK

A family emergency-preparedness portal and Android app that keeps working with no signal. Its supplies calculator uses official figures: water broken down by use, five age groups, dogs by size, hot weather, "no stove" mode, allergies, intolerances and diets, plus a sample menu and the real kilos to buy. Then an inventory with expiry dates tells you what's missing.

Also: guides per emergency (blackout, flood, heatwave, cyberattackโ€ฆ), survival skills with offline illustrations, a Morse code translator and SOS emitter, offline meeting points with GPS, a world map of official recommendations per country and a battery-saving blackout mode. News is curated from RSS every 6 hours by GitHub Actions, and CI builds and releases the APK. No dependencies, no build step, accessibility reviewed.

๐Ÿงช More from the workshop

๐Ÿค– AI & agents

๐Ÿงญ Agent orchestrator ยท From first idea to Notion tasks, routing clear-cut work to local models.

Takes a project from first idea to a task breakdown in Notion. Frontier models plan, review and test; clear-cut tasks are delegated to local models depending on difficulty, scope and context size, and the router learns from its own hit/miss history.

Go ยท Notion ยท Ollama ยท SQLite

๐Ÿง  MCP server with RAG ยท Internal docs queryable from Claude and ChatGPT, deployed continuously.

Makes internal documentation queryable from Claude and ChatGPT: PDF parsing and chunking, vector search in sqlite-vec, local models via Ollama. Deployed continuously from GitHub Actions with an SSH key locked to a single command, no overlapping deploys and a health check gate.

Python ยท MCP ยท sqlite-vec ยท Ollama ยท GitHub Actions

๐Ÿ’ฌ Local RAG bot ยท Chat with a knowledge base without anything leaving the machine.

Chat over a knowledge base without anything leaving the machine: chunked ingestion, CPU embeddings, top-k retrieval and a 7B model answering with streaming.

Python ยท FastEmbed ยท Ollama ยท Gradio

๐Ÿ’ผ DashJobs ยท Local-first job-search dashboard that turns offers into a study plan.

A local-first dashboard for anyone running a job search. It pulls your applications from LinkedIn and InfoJobs through your own signed-in browser, uses a local LLM to extract each offer's requirements, and turns them into a study plan with drafted notes on every topic. It syncs with Notion, and everything stays on your machine (JSON store with atomic writes, export/import backups).

React ยท Express ยท Playwright ยท Ollama ยท Notion

๐Ÿ› ๏ธ Infra & data

๐Ÿ› ๏ธ Hefesto ยท Live dev control panel for services, containers, databases and AI usage.

My own dev control panel. A Fastify daemon collects the state of my services, containers, databases and AI subscription usage, and streams it over SSE to a terminal UI (Ink) and a React dashboard.

TypeScript ยท Fastify ยท React ยท PostgreSQL ยท Docker

๐Ÿ” Tamper-evident audit framework ยท A hash-chained event log nobody, admins included, can quietly rewrite.

An isolated service other apps (SSO, CRM, internal tools) send their events to, so nobody, admins included, can quietly rewrite history. FastAPI ingestion โ†’ stream queue โ†’ worker that hash-chains every event โ†’ immutable store, synced to a read-only PostgreSQL copy for dashboards, plus an integrity checker that alerts on any mismatch.

FastAPI ยท Valkey Streams ยท immudb ยท PostgreSQL ยท Superset

๐Ÿ“‰ Market screener ยท Stocks near historical lows, backtested and sent to Telegram.

Spots stocks trading near historical lows and alerts me on Telegram. Signals are checked with a point-in-time backtest (no look-ahead, no survivorship bias) and the engine is covered by 300+ tests.

Python ยท Flask ยท PostgreSQL ยท pytest ยท Telegram

๐Ÿ“ฑ Apps

โœˆ๏ธ Planedex ยท Point your phone at the sky and identify the plane flying over you.

A Pokรฉdex for planes: point your phone at the sky and identify the aircraft flying over you, using live ADS-B data, the camera and device sensors. Offline-first, so your collection survives with no signal.

Expo ยท React Native ยท SQLite

๐Ÿ‹๏ธ AniFit ยท A fitness diary where your training levels up an anime character.

A fitness diary with anime gamification: log steps, calories, protein, water, weight and workouts, find out which anime character archetype matches your body composition (FFMI + body fat), and see the positive and negative routes your habits lead to. Live demo.

FastAPI ยท PostgreSQL ยท React ยท Vite ยท TailwindCSS

โš ๏ธ Personal projects are under active development: features and demos may change.

๐Ÿ’ฌ Curious about any of these, or fancy building one together? Most of the repos are private for now, but I'm always happy to share the details, swap ideas or collaborate. Drop me a line at codecruz.mt@gmail.com.

๐Ÿ› ๏ธ Tech Stack

Category Technologies
๐ŸŒ Languages HTML CSS JavaScript TypeScript Python PHP Java Go Bash SQL
๐Ÿ–ฅ๏ธ Frameworks & Libraries FastAPI Django SQLAlchemy React Astro Vite Node.js Express Fastify Next.js Expo Capacitor Flask Symfony Laravel Pydantic Bootstrap Tailwind CSS
๐Ÿ“ฆ Databases & Messaging PostgreSQL MySQL MongoDB ChromaDB SQLite Redis / Valkey RabbitMQ
๐Ÿ“Š Data, AI & Integration ETL NumPy Pandas Matplotlib OpenCV Ollama Claude MCP RAG Chart.js Google Apps Script
๐Ÿค– Testing & Automation Playwright Selenium Puppeteer Scrapy pytest PHPUnit Cypress Mocha
โš™๏ธ Tools & Platforms Git GitHub GitLab CI Docker GitHub Actions Jenkins Caddy Traefik Hetzner Vercel Postman OpenAPI New Relic Grafana Umami ESLint Prettier WordPress Drupal Notion
๐Ÿ–‹๏ธ IDEs & Editors Visual Studio Code Sublime Text
codecruz codecruz

๐Ÿ’ป Code Crafting

Python                          ๐ŸŒธ๐ŸŒธ๐ŸŒธ๐ŸŒธ๐ŸŒธ๐ŸŒธ๐ŸŒธ๐ŸŒธยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท   32.73 %
YAML                            ๐ŸŒธ๐ŸŒธ๐ŸŒฑยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท   10.52 %
JavaScript                      ๐ŸŒธ๐ŸŒธยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท   08.35 %
Markdown                        ๐ŸŒธ๐ŸŒธยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท   07.12 %
PHP                             ๐ŸŒธยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท   04.04 %
HTML                            ๐ŸŒธยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท   03.74 %
Other                           ๐ŸŒธ๐ŸŒธ๐ŸŒธ๐ŸŒธ๐ŸŒธ๐ŸŒธ๐ŸŒธ๐ŸŒธ๐ŸŒฑยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท   33.50 %

visit counter

Pinned Loading

  1. spain-postal-codes spain-postal-codes Public

    ๐Ÿ‡ช๐Ÿ‡ธ Spanish postal codes from official INE data: open dataset (CSV), static JSON API on GitHub Pages and an npm package.

    Python 2

  2. inttter/md-badges inttter/md-badges Public

    An extensive list of Shields.io badges.

    Markdown 2.2k 151

  3. php/doc-es php/doc-es Public

    Spanish translation of the PHP documentation

    XML 34 64