Software Engineer (AI) at NEORIS
Paper2Quizz at work, jack on the side
Agent pipelines, MCP, RAG, Python and TypeScript
5+ years backend, two hackathon podiums
Spanish, Catalan, English
Paper2Quizz
NEORIS product, 2026. FastAPI, React, OpenAI APIPaper in.
Structure out.
- 01A paper worksheet
Photographed or scanned. Printed questions, handwritten answers, any layout.
- 02Read by a model
Every question, option and student answer is located on the page.
- 03Returned as typed data
JSON that matches the platform's activity schema, validated before it is saved.
- 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, PlaywrightJira 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.
- Ticket intakeAI
- Branchgit
- AnalysisAI
- PlanAI
- ImplementAI
- Write testsAI
- Run and fixSuite
- E2E QAPlaywright
- Risk reviewAI + rules
- ApprovalPolicy
- Deliverygit, gh
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 projectsHow I build agents
Skills, tools, contractsOne 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- 2020–2023Full-stack DeveloperCOVERCAR
Web app with Symfony, Angular and MySQL. Planned and built the company ERP.
- 2023–nowSoftware Engineer (AI)NEORIS
Laravel migration of 10,000+ books and 500,000+ activities. Python ETL, AWS and Docker, LLM features in production backends.
- 20251st place, HackDays4LearningSanoma Learning
Quizzards. 13 teams, 140+ participants from five countries. Backend.
- 20262nd place, then a productPaper2Quizz
Hackathon prototype in spring, NEORIS product since August.
- 2026Built jackPrivate repo
Ticket-to-PR pipeline of Claude agents with tests, Playwright QA and risk-based approval.
- 2026Released jobscout-mcpOpen source
MCP server that searches four job boards and ranks offers against a candidate's skills.
- Dec 2026AI and Big Data specializationIOC
Machine learning, data engineering and MLOps.
Claude Agent SDK, OpenAI API, agent skills and tool use, MCP, RAG, embeddings, vector databases, context engineering
Python, FastAPI, TypeScript, Fastify, PHP (Laravel, Symfony), MySQL, MongoDB
React, Next.js, Vue, Svelte, Playwright, AWS, Docker, Git