Skip to content
View alancorrals95's full-sized avatar

Block or report alancorrals95

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

Alan Corral

Industrial & Systems Engineer. I lead the systems team at a digital agency in Chicago, and I run my own infrastructure — the kind where you find out what actually breaks.

Most of what I do is architecture and operations: deciding how the pieces fit, then keeping them alive.


Things I've published

self-hosted-vps-stack A production self-hosting setup on one VPS. Reverse proxy, workflow automation, remote desktop, encrypted off-site backups with a tested restore — and exactly two ports open to the internet.
cyberpanel-es Complete Spanish locale for CyberPanel 3.0.3. 3,303 messages, zero untranslated, zero fuzzy, plus the tooling to regenerate it after an upgrade.
planeos An operating system for a small company: goals, CRM, chat, live meetings, time tracking. Vanilla JS + Supabase, no build step, RLS on every table.
aguamap Billing and collections for a municipal water utility. Contracts, metered charges, multi-register payments, and the debtor and till reports an office runs on.
zk9500-bridge A small Windows service that puts a ZKTeco fingerprint reader behind three JSON endpoints, so your app never touches the native SDK.

Every one of them has CI that checks something real — loading a schema into a clean database, compiling with warnings as errors, asserting no credential ever reaches the tree. It has already paid for itself: the AguaMap pipeline caught two columns missing from schema.sql that the application had been using for months.


What I work with

Infrastructure · Linux · Docker · Incus · Nginx · Cloudflare · rclone Data · PostgreSQL · MySQL · Supabase Code · PHP · Python · Bash · TypeScript · Node · React / Next Automation · n8n · GitHub Actions


Not here

A good part of my work belongs to clients or to my employer, so it isn't public: internal platforms, agency tooling, and custom systems built for specific businesses. Happy to talk through any of it.


Documentation in my repositories is bilingual — every README has a Spanish counterpart. Code comments are in Spanish where the team reading them is.

Pinned Loading

  1. aguamap aguamap Public

    Billing and collections for a municipal water utility: contracts, metered charges, multi-register payments and the daily debtor and till reports.

    PHP

  2. cyberpanel-es cyberpanel-es Public

    Complete Spanish translation for CyberPanel 3.0.3 — 3,303 messages, zero untranslated, zero fuzzy — plus tooling to regenerate it.

    Python

  3. planeos planeos Public

    An operating system for a small company: EOS goals, CRM, chat, live meetings and time tracking. Vanilla JS + Supabase, no build step.

    JavaScript

  4. self-hosted-vps-stack self-hosted-vps-stack Public

    Production self-hosting stack for a single VPS: reverse proxy, workflow automation, remote desktop, and encrypted off-site backups with a tested restore.

    Shell

  5. zk9500-bridge zk9500-bridge Public

    A tiny Windows HTTP service that puts a ZKTeco ZK9500 fingerprint reader behind three JSON endpoints, so your app never touches the native SDK.

    C#