/
Rafael Pérez

Hey, I'm Rafael 👋Hola, soy Rafael 👋

Rafael Pérez

a .NET engineer who builds identity systems.ingeniero .NET que construye sistemas de identidad.

I wrote RufistoWard — an open-source OAuth 2.0 and OpenID Connect identity server for .NET 10, built because Duende priced IdentityServer out of reach and IdentityServer4 reached end of life. Every flow in it is free.

Escribí RufistoWard — un servidor de identidad OAuth 2.0 y OpenID Connect de código abierto para .NET 10, hecho porque Duende dejó IdentityServer fuera del alcance de muchos e IdentityServer4 llegó a su fin de vida. Todos sus flujos son gratuitos.

I've been shipping .NET since 2015 — eleven years: warehouse robots, then enterprise integration, now identity. Mechatronics engineer by training, based in Mexico City. Open to .NET engineering roles.

Llevo desarrollando en .NET desde 2015 — once años: primero robots de almacén, después integración empresarial, ahora identidad. Ingeniero mecatrónico de formación, radicado en la Ciudad de México. Abierto a posiciones de ingeniería .NET.

rafael@rufistofeles.dev · rufistofeles.dev · github.com/Rufistofeles · linkedin.com/in/rufistofeles · Mexico CityCiudad de México

X10 — one bit per zero crossing of the mains. The first protocol I ever shipped. X10 — un bit por cada cruce por cero de la corriente. El primer protocolo que puse en producción.

Selected workTrabajo seleccionado

RufistoWard

OAuth 2.0 / OpenID Connect identity serverServidor de identidad OAuth 2.0 / OpenID Connect ·.NET 10·AGPL-3.0

An open-source identity server with every flow free, a built-in admin UI, and migration tooling off IdentityServer4 — written by someone who has moved production instances, not by someone who read the docs.

Un servidor de identidad de código abierto con todos los flujos gratuitos, interfaz de administración incluida y herramientas de migración desde IdentityServer4 — escritas por alguien que ha movido instancias en producción, no por alguien que leyó la documentación.

The OpenID Foundation Basic OP and Config OP conformance plans are published and passing — you can check them yourself. Admin UI in Tailwind CSS v4 and HTMX, no JavaScript framework.

Los planes de conformidad Basic OP y Config OP de la OpenID Foundation están publicados y pasando — puedes verificarlos tú mismo. Interfaz de administración en Tailwind CSS v4 y HTMX, sin framework de JavaScript.

Aspire.Hosting.OpcUa

OPC UA hosting integration for .NET AspireIntegración de hosting OPC UA para .NET Aspire ·.NET 10·AGPL-3.0

A factory floor in your Aspire dashboard. One line, no PLC required — it wraps Microsoft's OPC UA simulator as a first-class Aspire resource, with fast nodes, slow nodes and alarms configurable from the app model.

Una planta industrial en tu dashboard de Aspire. Una línea, sin necesidad de PLC — envuelve el simulador OPC UA de Microsoft como un recurso nativo de Aspire, con nodos rápidos, nodos lentos y alarmas configurables desde el modelo de la aplicación.

Built because no OPC UA integration existed in the Aspire Community Toolkit or on NuGet.

Lo construí porque no existía ninguna integración de OPC UA en el Aspire Community Toolkit ni en NuGet.

Home automation over the mainsDomótica sobre la instalación eléctrica

Engineering thesisTesis de ingeniería ·X10·Arduino·Raspberry Pi

My first real system: lights controlled over the house electrical wiring, because my mother has knee osteoarthritis and the switch was across the room. Still online, still the thing everything since has rhymed with.

Mi primer sistema real: luces controladas a través del cableado eléctrico de la casa, porque mi madre tiene artrosis de rodilla y el apagador estaba del otro lado del cuarto. Sigue en línea, y sigue siendo aquello con lo que rima todo lo que vino después.

ExperienceExperiencia

Web, M2M & IoT DeveloperDesarrollador Web, M2M e IoT

2019 — present2019 — actual

DOMO, Agencia de Desarrollo de Software · Mexico CityCiudad de México

  • Single sign-on in production since 2019 — Azure AD and OpenID Connect, across both web and desktop applications.
  • Inicio de sesión único en producción desde 2019 — Azure AD y OpenID Connect, en aplicaciones web y de escritorio.
  • Architected and deployed web applications in C#, ASP.NET MVC and .NET Core.
  • Diseñé y desplegué aplicaciones web en C#, ASP.NET MVC y .NET Core.
  • Built SAP integration interfaces over SOAP and REST, connecting enterprise resource planning to the rest of the estate.
  • Construí interfaces de integración con SAP sobre SOAP y REST, conectando el ERP con el resto de los sistemas.
  • Modernised legacy desktop systems, moving VB.NET applications forward into C#.
  • Modernicé sistemas de escritorio heredados, migrando aplicaciones de VB.NET hacia C#.
  • Delivered electronic invoicing to Mexico's CFDI v3.3 and v4 standards — both issuance and supplier invoice receipt.
  • Entregué facturación electrónica conforme a los estándares CFDI v3.3 y v4 — tanto emisión como recepción de facturas de proveedores.

Senior Web ConsultantConsultor Web Sr.

2017 — 2019

Verquet SA de CV · Mexico CityCiudad de México

  • Designed and built a business solutions web portal in ASP.NET MVC.
  • Diseñé y construí un portal web de soluciones de negocio en ASP.NET MVC.
  • Led development of a CFDI v3.3 electronic invoicing system — client invoice generation and supplier invoice processing.
  • Lideré el desarrollo de un sistema de facturación electrónica CFDI v3.3 — generación de facturas a clientes y procesamiento de facturas de proveedores.
  • Worked directly with cross-functional teams to gather requirements and deliver to client specification.
  • Trabajé directamente con equipos multidisciplinarios para levantar requerimientos y entregar conforme a la especificación del cliente.

WCS Developer SpecialistEspecialista en Desarrollo WCS

2015 — 2017

Andlogistics · Mexico CityCiudad de México

  • Warehouse control system for Layer Picker robots and Put-to-Light, written in VB.NET and running on a real warehouse floor.
  • Sistema de control de almacén para robots Layer Picker y Put-to-Light, escrito en VB.NET y corriendo en un almacén real.
  • Integrated the WCS with WMS Manhattan and AGV robots, coordinating automated material handling.
  • Integré el WCS con WMS Manhattan y robots AGV, coordinando el manejo automatizado de materiales.
  • Extended it to conveyors and sorter systems, with SAP and WMS integration throughout.
  • Lo extendí a bandas transportadoras y sistemas de clasificación, con integración a SAP y WMS de extremo a extremo.

What I work withCon qué trabajo

DailyA diario
.NET 10, C#, ASP.NET Core, Entity Framework Core, OAuth 2.0 / OIDC, Azure AD, Clean ArchitectureClean Architecture
Around itAlrededor
SQL Server, PostgreSQL, T-SQL, Docker, Azure DevOps, .NET Aspire, Tailwind CSS, HTMX
Older, still usefulMás viejo, aún útil
VB.NET, ASP.NET MVC, SOAP, SAP and WMS integration, CFDI v3.3 / v4VB.NET, ASP.NET MVC, SOAP, integración con SAP y WMS, CFDI v3.3 / v4
The other side of the fenceDel otro lado
OPC UA, X10, Arduino, Raspberry Pi, AGVs, conveyors and sortersOPC UA, X10, Arduino, Raspberry Pi, AGVs, bandas transportadoras y clasificadores
LanguagesIdiomas
Spanish (native), English (conversational)Español (nativo), inglés (conversacional)

EducationFormación

Mechatronics EngineeringIngeniería Mecatrónica

Fray Luca Paccioli · 2013

Electronics and Communications Engineering — 8 semestersIngeniería en Comunicaciones y Electrónica — 8 semestres

Instituto Politécnico Nacional · 2010

A few things about meAlgunas cosas sobre mí

Find me on GitHub or LinkedIn, or shoot me an email.

Encuéntrame en GitHub o LinkedIn, o mándame un correo.

rafael@rufistofeles.dev · @Rufistofeles

This page is the CV — save it as a PDF if you need the file. Esta página es el CV — guárdala como PDF si necesitas el archivo.