Based41.39N 2.17E StatusOpen to AI roles WorkBarcelona / Remote

Currently

Software Engineer (AI) at NEORIS

Building

Paper2Quizz at work, jack on the side

Focus

Agent pipelines, MCP, RAG, Python and TypeScript

Track record

5+ years backend, two hackathon podiums

Languages

Spanish, Catalan, English

Paper2Quizz

NEORIS product, 2026. FastAPI, React, OpenAI API

Paper in.
Structure out.

  1. 01A paper worksheet

    Photographed or scanned. Printed questions, handwritten answers, any layout.

  2. 02Read by a model

    Every question, option and student answer is located on the page.

  3. 03Returned as typed data

    JSON that matches the platform's activity schema, validated before it is saved.

  4. 04Live in any app

    Any app or CMS renders it as a working, self-marking activity.

It started as our HackDays4Learning 2026 entry and took 2nd place. I built the first product version alone; a team of three develops it now.

jack

Side project, 2026. Private repo, demo on request. Claude Agent SDK, Fastify, React, Playwright

Jira ticket in.
Tested PR out.

A local delivery pipeline of Claude agents. Each AI stage is a skill with its own instructions, an allowlist of tools and a JSON output contract. jack runs the test suite and the Playwright QA itself, scores the risk of the diff, and ships on its own only when the risk is low.

Risk scoreLow, auto-approved
18/100
LowMediumHighCritical
  1. Ticket intakeAI
  2. Branchgit
  3. AnalysisAI
  4. PlanAI
  5. ImplementAI
  6. Write testsAI
  7. Run and fixSuite
  8. E2E QAPlaywright
  9. Risk reviewAI + rules
  10. ApprovalPolicy
  11. Deliverygit, gh
Example run: PROJ-482SSE /api/events

ticket-intake"Export invoices as CSV": 4 acceptance criteria, 1 ambiguity, assumed comma separator

gitcheckout -b jack/PROJ-482-export-invoices-csv

codebase-analysisLaravel 11, PHPUnit. Reuse InvoiceQuery, follow the app/Actions convention

implementation-plan3 files, 4 tests, 2 E2E scenarios. Rollback: remove the route

implement+ app/Actions/ExportInvoicesCsv.php, ~ routes/web.php

guardrailrefused git commit: only jack commits, after approval

test-authoring+ tests/Feature/ExportInvoicesCsvTest.php, 4 cases

verifyphp artisan test: 3 passed, 1 failed

fixattempt 1 of 3: quote client names that contain commas

verifyphp artisan test: 4 passed

qa-e2ePlaywright on Chromium: 2 specs, 2 passed

risk-reviewrules 14 + AI 12 × 0.3 = 18 / 100, low

policy18 is under the project threshold of 25: auto-approved

deliverycommit "PROJ-482: Export invoices as CSV", PR #212 opened, Jira moved to In Review

I get things done. 500,000 activities migrated without losing one. A hackathon prototype shipped as a product. A pipeline that turns tickets into tested pull requests.

Selected work

Six projects

How I build agents

Skills, tools, contracts

One job per agent, only the tools it needs, and an output I can validate.

In jack every stage is a skill: a SKILL.md with its instructions, an allowlist of tools and a JSON contract for its output. Bash goes through a blocklist, so no agent can push, delete recursively or read secrets. Deterministic code runs the tests and decides what ships; the models do the reading and the writing.

The same idea runs Paper2Quizz in production: the model reads the page, a schema decides whether the result is saved. I've completed Anthropic's courses on Claude Code, MCP and Agent Skills, and I'm finishing a specialization in AI and Big Data at IOC (Dec 2026).

Experience

2020 to now
AI

Claude Agent SDK, OpenAI API, agent skills and tool use, MCP, RAG, embeddings, vector databases, context engineering

Backend

Python, FastAPI, TypeScript, Fastify, PHP (Laravel, Symfony), MySQL, MongoDB

Front, QA and infra

React, Next.js, Vue, Svelte, Playwright, AWS, Docker, Git

Hiring for agents, RAG or LLM backends? Write to me.

ianfloresf71@gmail.com

Arrows to move, Enter to run, Esc to close