skip to content
ende
Portfolio / 2026

Frontend & Product Engineer

Selected projects in product development, design systems, AI applications, and creative web work.

Focus
  • Frontend: React, Next.js, TypeScript, Tailwind
  • AI: OpenAI Realtime, Voxtral, LLM output checks, evaluation
  • Systems: Storybook, Orval, TanStack React Query, Zustand
  • Delivery: GitHub Actions, Playwright E2E, AWS, PHP
  • Creative: Framer Motion, Three.js / React Three Fiber
Eric Cortés

AI patient simulation for psychotherapy training.

RawTherapy lets therapists practise difficult conversations with simulated patients, by text or live voice, in English, German, and Spanish. Each patient has a life story, beliefs, and a way of talking, and reacts to how the therapist approaches them. I designed and built the product, including patient behaviour, the conversation interface, and reply checks.

Demo
On request
My role
Product design and full-stack development, including the React interface, simulation engine, real-time voice, AI quality checks, and evaluation workflow
Stack
React, TypeScript, Fastify, PostgreSQL with pgvector, Redis, OpenAI Realtime API, Voxtral, Playwright
RawTherapy sign-in screen in German over an animated network background

Staff scheduling and workforce management.

Ordio helps businesses schedule staff and manage daily work. I worked on the scheduling and workforce screens, turning complex business rules into forms and views together with the PHP backend team. I also set up how changes are tested and released, with GitHub Actions, Playwright, and AWS Amplify.

My role
Scheduling and workforce interfaces, automated testing, and release workflows
Stack
Next.js, React, TypeScript, GitHub Actions, Playwright, Docker, AWS Amplify
Ordio employee scheduling dashboard with weekly shift assignments

Redesigning REMONDIS NEOS.

NEOS replaced DATAFLEET, the older software REMONDIS used for city-cleaning operations. It worked, but the interface was too small, and key functions were hard to find or hidden. I redesigned it from concept to code: I ran user tests with city-cleaning staff, shaped a clear user journey in Figma, and built it in React. Staff now need fewer clicks for their daily tasks, and their feedback confirmed it.

My role
Concept, UX/UI design, and frontend development
Process
User tests with city-cleaning staff, concept and design in Figma, built in React
Stack
Figma, Next.js, React, Storybook, Tailwind CSS, TanStack React Query
NEOS map interface with an open date-range picker

An image-led campaign website for Leica Q.

I helped build the Leica Q campaign site for Virtue Worldwide, using image order, responsive layouts, and subtle motion to put the photography at the centre.

Type
Visual campaign / branded experience
My role
Frontend development, responsive layouts, and image presentation
Leica Q campaign page showing a visitor collecting a camera at Leitz Park

An interactive journey along the Balkan refugee route.

For the VICE newsroom, I designed and built an interactive story that follows the Balkan route from Lesbos to Berlin. Readers move across a map of Europe, open city pages with articles, photos, and 3D terrain, and see the harsh conditions people face on their way, from winter cold in the mountains to summer heat. The site is in English and German.

Type
Editorial project for the VICE newsroom
My role
Design and frontend development
Stack
Next.js, React, TypeScript, Tailwind CSS, next-intl, Framer Motion, React Three Fiber
Balkan Route story with a map of Europe showing the route and a chart by cause of people who lost their lives or went missing

A portfolio for interactive experiments, photography, and design.

I designed and built my personal website to bring together photography, design, and interactive experiments.

Projects
Costa Nostra, Valencia Street, Orgullo, LIM, and other editorial and experimental photo series
My role
Design and frontend development
Stack
Next.js, React, TypeScript, Tailwind CSS, Framer Motion, Three.js, React Three Fiber, Vercel
Red cactus leaves silhouetted against a sunset
Closing Note

How I work.

Find the real problem first

I start with the people using the product and what slows them down, then decide what to build.

Own it from idea to release

I take features from concept and design through code, testing, and deployment.

Automate the boring parts

I set up tests, preview builds, and release pipelines so changes ship with fewer manual steps.

Use AI, then check its output

I connect AI models to real products and add checks that catch replies that go off track.

Eric Cortés7