Ikrame Ibn Hayoun
Backend Python | FastAPI | PostgreSQL | Applied AI | Remote or Hybrid
ikihga2223@gmail.com | +34 682 02 76 93 | Málaga, Spain | ikrame.dev
Summary
Backend Python engineer in Málaga. +3 years of professional experience and production projects. I build REST APIs with FastAPI, PostgreSQL, Redis, and SQLAlchemy for systems that have to stay consistent under concurrent requests and retries. Applied AI starts with ReckonFlow: structured LLM outputs through a closed schema, deterministic validation in code, and no authority for the model to approve or pay. I work from written specs, with AI-assisted coding and a human merge. Currently a vocational master's in AI and big data (100% online, compatible with full-time work) and preparing official cloud certifications (GCP, AWS). DAW with honors (Matrícula de Honor), EQF Level 5. Open to remote or hybrid backend and applied-AI roles.
Skills
Backend Python. Python, FastAPI, REST APIs, PostgreSQL, relational databases, SQL, Redis, SQLAlchemy, Alembic, Pydantic, JWT, Celery, asynchronous processing, distributed workflows, Stripe, pytest, unit testing with pytest, mypy
Applied AI. structured LLM outputs, closed schemas, RAG, hybrid retrieval, PydanticAI, Groq, prompt engineering, guardrails against prompt injection
Delivery. Git, CI/CD, GitHub Actions, Docker, Docker containers, Docker Compose, production deployment, Prometheus, observability, React, TypeScript, Node.js, Express, Vitest, Playwright, DataFlex, Power Apps, Power Fx
Microsoft 365. SPFx, Power Automate, Microsoft Lists, Microsoft 365 Migration Tool, PnP PowerShell, Entra ID
Coursework in progress. PySpark, DataFrames, Spark, NumPy, Pandas, TensorFlow, PyTorch, Kafka
Projects
Headless FastAPI REST API for corporate travel. Relational PostgreSQL database, Redis, immutable double-entry ledger, Decimal money. Production deployment with interactive docs.
- Redis idempotency and PostgreSQL row locks (FOR UPDATE) so a retried confirm cannot double-post. Asynchronous processing via HTTP 202 background jobs.
- Receipt extraction with PydanticAI and Groq. Closed schema extra=forbid as a guardrail against prompt injection; structured LLM outputs are validated in code before any database write. The model cannot approve or pay.
- Hybrid retrieval (RAG-style): SQL prefilter, RapidFuzz, hashed-token vectors, Reciprocal Rank Fusion. Unit testing with pytest, CI/CD, Prometheus observability.
Co-developed B2B SaaS. Batch lookup of Spanish companies by razón social against official BORME records. FastAPI, Celery distributed workflows, Redis, PostgreSQL, React. Original file columns are preserved on export.
- Company-name column inference, atomic Redis quotas, HMAC download tokens, Stripe test Checkout, waitlist persistence, GitHub Actions CI.
- Legal-form mismatch (S.L. vs S.A.) stays REVISION_SUGERIDA.
Other projects
PyPI CLI and Git merge driver for Python import conflicts. AST, zero runtime deps, pytest/mypy/ruff CI. Not a product API.
skills.sh skill with public source. locale_guard checks JSON catalogs (en-GB, en-US, es-ES, es-419). Not a product API.
DAW capstone, 10/10. React, Express, PostgreSQL, Docker Compose, Vitest.
React, TypeScript, Vitest, Playwright. Telemetry is mocked.
Local-first Windows productivity widget built with Electron, React 19, TypeScript and a secure IPC preload bridge. No cloud account.
Work Experience
- Developed internal applications in a DataFlex environment and in Python: data access, business logic, and ongoing customization.
- Built a Moodle learning platform from scratch: install, course structure, users and roles, a relational SQL database, and CSS/UI theming.
- Built a Power App (Power Fx) that ran the CNS Christmas raffle end to end: registration and number assignment in one place, instead of chasing it over email or Teams.
- Coordinated strategic client visits in Málaga end to end: agendas, logistics, and the on-site experience - days that often shaped whether a deal moved forward.
- Ran day-to-day ops - travel, Concur, Outlook, Teams, SharePoint, and the firm's internal tools - in a global professional-services setting.
- Ran product tastings and stand logistics in high-traffic retail, including end-of-day inventory for the agency.
- Tracked donors and fundraisers in Drive, Outlook, Evergiving, Factorial, Odoo, and Looker; recorded travel and expense costs for internal cost control.
- Reconciled bank accounts, posted company and import invoices, and tracked vehicle and import costs in Excel.
Education
100% online: PySpark, DataFrames, Spark, NumPy, Pandas, TensorFlow, PyTorch, Kafka, distributed computing, and ML.
Certifications
In preparation. Not obtained. No production cloud-platform deployment claimed.
Languages
Spanish - Native speaker | English - Professional working proficiency (C1) | Moroccan Arabic (Darija) - Native speaker
Profiles
GitHub: github.com/ikrame-ih | LinkedIn: linkedin.com/in/ikrame-ih