Ayman, inicio
Disponible · remoto o en Tarragona y Barcelona

Ayman Charoui, desarrollador full-stack

Desarrollador full-stack. Construyo aplicaciones web completas, del backend a la interfaz, y cuido especialmente lo que no puede fallar.

Código en producción desde 20254 casos, 2 con código y demo públicosTrabajo en ES · CA · AR · EN
01 · proyectos

Casos.

Cuatro proyectos con el problema, lo que decidí y por qué. Cada uno tiene su página con el detalle.

// caso 01 · SaaS de recarga eléctrica · Etecnic

Facturas correctas en nueve idiomas.

problema
Operadores energéticos y aeropuertos de varios países necesitan facturas legales en su idioma y con el aspecto de su marca.
decisión
Internacionalicé la facturación a nueve idiomas y pasé los PDF de factura a plantillas HTML y CSS que se generan y se prueban en CI.
resultado
La factura sale en el idioma y con la marca de cada cliente. La parte de facturación la hice yo de principio a fin.
Ruby on RailsRSpecMySQL AuroraMongoDBGitLab CISentry
// caso 02 · Zellige Hotels

Cada rol ve y hace solo lo suyo.

problema
Administración, gerencia, recepción y clientes usan la misma plataforma, pero cada uno solo debe ver y tocar lo suyo.
decisión
Roles en Spring Security y rutas protegidas por rol en React, con JWT y refresh tokens que rotan en cada uso.
resultado
31 pruebas en el backend, algunas contra un PostgreSQL real, axe en la CI y demo pública.
Java 21Spring BootPostgreSQLReactTypeScriptTestcontainersaxe
// caso 03 · CineFlow

Una butaca, una sola compra.

problema
Entre que alguien elige una butaca y termina de pagar pasan minutos. Si otra persona la elige en ese tiempo, las dos podrían comprarla.
decisión
Bloqueo temporal de la butaca al elegirla, confirmación en una transacción con bloqueo pesimista y pago con Stripe que confirma un webhook firmado.
resultado
76 pruebas con PHPUnit, incluidas las de condiciones de carrera y las del pago: no se puede vender la misma butaca dos veces.
PHP 8.4Laravel 12MySQLStripeJavaScriptPHPUnit
// caso 04 · Plataforma comunitaria · LaComu, ganadora del Premio Princesa de Girona

Una web que se parece a su comunidad.

problema
La presentación y la app vivían en la misma carcasa, la marca apenas se veía y había 39 fallos de accesibilidad. En el móvil, el mapa y las listas costaban de usar.
decisión
Separé la presentación de la app, rediseñé portada, Sobre y Contacte alrededor del logo de tres nodos y arreglé la accesibilidad y el uso en el móvil sin tocar rutas, textos ni backend.
resultado
0 fallos de accesibilidad en 7 páginas, 6 idiomas completos y los cambios integrados en su repositorio con pull requests revisables. Hoy está desplegado en su entorno de pruebas.
ReactTypeScriptViteTailwind CSSGSAPMapLibreVitestaxePlaywright
02 · stack

Stack.

Las teclas que pulso cada día: lenguajes, frameworks, datos y herramientas, todo en el mismo teclado.

  • Java · donde mejor leo el código
  • Spring Boot
  • PHP
  • Laravel
  • Ruby on Rails · lo uso a diario
  • React · mi preferido en frontend
  • JavaScript
  • MySQL
  • PostgreSQL
  • MongoDB
  • Supabase · en mis proyectos
  • Stripe
  • Git
  • GitHub
  • GitLab
  • Jira
  • Sentry
  • Cloudflare
  • Postman
  • VS Code
  • DBX Studio
  • Claude

mueve el ratón sobre el teclado y pasa por las teclastoca una tecla para ver su nombre

Logotipos de Devicon (MIT) y Simple Icons (CC0); las marcas pertenecen a sus dueños.

03 · cómo trabajo

Cómo trabajo.

Lo que hago en cada tarea, sea en un equipo o en un proyecto por mi cuenta.

  1. 01

    Pruebas antes del merge

    Lo que toca permisos o dinero lleva sus tests. Si no está probado, no está terminado.

  2. 02

    Cambios pequeños

    Merge requests que se revisan en minutos y se pueden deshacer sin miedo.

  3. 03

    Mirar dónde corre

    Cuando algo falla, miro también el entorno, no solo el código. Viene de mi formación en sistemas y redes.

04 · sobre mí

Sobre mí.

Soy Ayman Charoui, de Tarragona. Empecé a programar porque es la mejor forma que conozco de convertir una idea en algo real que funciona.

Me formé en sistemas y redes, y desde 2025 escribo código que está en producción. Me gusta el código simple y que trabajar conmigo sea cómodo.

// dónde estoyTarragona, EspañaRemoto en España e internacional, o híbrido en Tarragona y Barcelona.
// trayectoria
  • Desarrollador full-stackEtecnic · de prácticas a contrato indefinido
  • Desarrollo de Aplicaciones Web (DAW)Institut Francesc Vidal i Barraquer
  • Técnico informático en prácticasWindows Server, Linux y Office 365
  • Sistemas Microinformáticos y RedesMatrícula de honor · 8,6
// certificados y voluntariado
  • Voluntario en Islamic ReliefONG de ayuda humanitaria
  • Full Stack Web DevelopmentAmazon, en Coursera · Verificar ↗
// idiomas
ESnativoCAnativoARprofesionalENB2
05 · encargos

¿Tienes un proyecto?

Ahora mismo busco un puesto como desarrollador. Aun así, si tienes un proyecto concreto que encaje con lo que hago, cuéntamelo y te digo con sinceridad si puedo ayudarte.

// encaja
  • Aplicaciones web a medida
  • APIs e integraciones
  • Pagos y facturación
  • Mejoras en Laravel, Spring o Rails
// no encaja
  • WordPress o tiendas de plantilla
  • Apps móviles nativas
  • Urgencias 24/7
  • Proyectos sin alcance definido
Al enviar se abrirá tu correo con el mensaje preparado.