Senior Frontend Engineer · Angular · React · TypeScript

Jake Ortega

I build and modernize production frontends. Recent work includes leading an Angular 13 to 21 migration, building a 63-component Web Components design system, and shipping AI-assisted products.

Vlaardingen, Netherlands · currently at iO Digital
Portrait of Jake Ortega

Personal projects

Products and open-source tools

GrabPitik marketplace search screen: "Find your photo from the ride" with location and date search over a grid of motorcycle event photos
Production 2026 · Flagship

GrabPitik

Full-stack build · Personal product

A marketplace for motorcycle photographers and riders in the Philippines. I built the photographer, rider, and admin workflows, license-plate photo search, image processing, and payment-integrity checks, then deployed the system to Google Cloud Run.

Next.js 16 React 19 Prisma PostgreSQL Xendit Terraform
Visit app
Pipenzo brand illustration: a scout mascot next to the Refine, Implement, Review, You approve workflow
Open source (WIP) 2026

Pipenzo

Solo build · Personal project

An open-source Electron app that turns a GitHub issue into a reviewable pull request through Plan, Refine, Implement, and Review stages. I built the GitHub client, phase machine, ticket store, review gates, and screenshot checks. The desktop UI is still in progress.

Electron TypeScript React Fastify Node.js
View repo
Open Vacancy Radar search workspace showing a job list filtered by IND-recognised sponsors
Open source (WIP) 2026

Open Vacancy Radar

Solo build · Personal project

A local-first Electron app for vacancy discovery and application tracking. It checks Netherlands employers against the IND recognised-sponsor register, searches around 50 researched public sources, and keeps CV and application data in an embedded SQLite workspace.

Electron TypeScript React SQLite DaisyUI
View repo
AgentDock session dashboard showing sessions, providers, and a live event timeline
Open source 2026

AgentDock

Solo build · Personal project

An open-source foundation for Electron apps that use an existing Claude Code or Codex CLI session. I built the typed client SDK, event protocol, provider contract tests, and local security boundary. Open Vacancy Radar and Pipenzo both run on it.

TypeScript Electron React Fastify Node.js pnpm Vitest
View on GitHub
Dutch Defend dashboard showing a Defense Score of 83 (Stable) with a Wealth Mountain target of €500,000
Production (iOS & Android) 2025–26

Dutch Defend

Solo build · Personal product

A financial-planning product for expats in the Netherlands, released on the App Store and Google Play. I built the React Native app, Next.js API and admin dashboard, native Android billing, Stripe-verified webhooks, and Cloud Run deployment.

React Native Expo Next.js TypeScript Firebase Stripe
Visit app
Flits home screen showing free scan counter and Ways to Scan options
Production (iOS & Android) 2025–26

Flits

Solo build · Personal product

A mobile app that turns a photo of an invitation or ticket into a calendar event. I built the schema-validated Gemini extraction flow, native iOS and Android detection modules, account linking, and server-verified in-app purchases.

Expo React Native TypeScript Gemini Firebase
Visit app

Selected experience

Feb 2026 – Present

iO Digital

Senior Frontend Engineer

Design systems and cross-framework UI architecture, alongside hands-on feature delivery: an expense-management platform rebuild, an AI-powered candidate-search extension, and an embeddable chat-widget product.

Jan 2023 – Feb 2026
Lunatech logo

Lunatech

Frontend Developer

Angular v13 to v21 migration, modular TypeScript UI, production incident response, React and React Native delivery, and enterprise automotive work.

Sep 2021 – Jan 2023

Accenture

Frontend Developer

Business-travel card platform for a state transport authority, Angular and React web features, React Native prototype work, API integration, mobile-first responsive UI, accessibility, and Agile delivery.

Selected recent roles. Full work history available on LinkedIn.

How I work

01

Architecture-first

I start from constraints and boundaries: layers a CI script can enforce, not just a diagram. On io Chat that means a lint rule that fails the build if a route imports HttpClient directly. It is why I was handed the Angular v13 to v21 migration most people avoided.

02

Accessibility is the spec

WCAG AA is the baseline, not a feature. I hand-build keyboard paths, focus management, and ARIA state: on io Design System that extends to form-associated custom elements via ElementInternals, validated with axe-core in CI.

03

Ship, measure, adapt

Real users beat theoretical perfection. Dutch Defend and Flits are both live on Google Play, Rideword is live, and client work ships in production. I move things to production, then improve them.

04

AI output is untrusted input

Every model call in my products runs through a schema, not a hope. Malformed output retries or fails safe, prompts are sanitized against injection, and RAG or multi-provider routing is the default setup, not an add-on.

From the writing

All posts →

Pinas to Polder

All resources →

Filipino tech workers moving to the Netherlands

A practical resource hub on direct hire, Dutch sponsorship, DMW and IND, salary reality, healthcare, housing, and the first 90 days. Based on my own PH to NL move.

See the resources
Illustration of the route from Manila to Amsterdam

What I use

Frontend

  • Angular
  • React
  • TypeScript
  • RxJS / NgRx
  • Next.js
  • Web Components

Backend & Infra

  • Node.js / NestJS
  • PostgreSQL
  • Firebase
  • GCP
  • Azure
  • AWS
  • PostHog
  • Resend

Tooling & Mobile

  • React Native
  • Expo
  • Electron
  • Cypress / Playwright
  • Vitest
  • Stencil
  • CI/CD

Get in touch

Available for select frontend and design-system work.

I am in Vlaardingen, NL. Outside my day job I take on a few projects a year: enterprise modernization, design systems, or anything with real constraints.

contact@jakeortega.nl