Skip to content
View phjpdev's full-sized avatar

Block or report phjpdev

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
phjpdev/README.md
Jean Patrick Reyes — AI/ML Engineer & Full-Stack Developer

Portfolio Email LinkedIn X

📍 Taytay, Rizal, Philippines  ·  🕘 UTC+8  ·  🌐 English (professional) / Filipino (native)  ·  🤝 Open to remote roles


About

I build production systems rather than prototypes — eight years of it.

Most recently that has meant machine learning for financial fraud detection, where the difficult part is usually the data pipeline and the false-positive budget rather than the model itself. Before that, three years on an enterprise insurance platform in Germany: React and Next.js on the front end, Node.js and PostgreSQL behind it. My earlier years were mobile — Flutter and React Native for logistics and delivery clients whose users were drivers on low-end Android phones with unreliable connections.

That range means I am comfortable owning a feature from the database schema through to the screen a customer actually uses. I have worked with distributed teams in the United States, Germany, Australia, and the Philippines, mostly asynchronously, which taught me to write things down properly instead of relying on a quick call. I pay attention to what happens after launch: monitoring, retraining schedules, error budgets, and the handover documentation someone else will have to read. I have worked under GDPR requirements in two of my three most recent roles and treat data protection as an engineering constraint rather than a legal formality.


Selected Results

+28% fraud recall at the same false-positive rate — rebuilt the feature set around behavioral and velocity signals instead of adding model complexity
<200 ms real-time scoring path — FastAPI on AWS Lambda with Redis feature lookup, inside the payments team's latency budget
−40% model training time — Parquet conversion, cached feature tables, mixed-precision batching (most of it I/O, not GPU)
−55% page load time on an insurance platform — broker-dashboard LCP from ~4.2 s to under 2 s
150k+ EU customers served by the microservices I contributed (document generation, notifications)
4 apps shipped end to end to Google Play and the App Store, including offline-first sync for drivers who lose signal

Tech Stack

AI / ML scikit-learn XGBoost pandas NumPy spaCy Hugging Face MLflow LLM APIs Drift monitoring
Front End React Next.js Vue TypeScript JavaScript Tailwind Accessibility
Mobile Flutter Dart React Native State management Store releases
Back End Node.js Express NestJS Python Django FastAPI C# GraphQL WebSockets
Databases PostgreSQL MySQL MongoDB Redis Firebase Supabase SQLite Prisma TypeORM SQLAlchemy
Cloud & DevOps AWS Azure GCP Docker Kubernetes GitHub Actions Nginx Cloudflare
Practices Jest Playwright pytest Agile Code review GDPR Async remote

Experience

AI/ML Engineer  ·  TechNova Analytics BV  ·  Mar 2024 — Nov 2025

Built and maintained the fraud detection models behind a transaction screening product, working mainly with gradient boosted trees on tabular features. Deep models were tested but did not justify their cost at the data volumes we had.

  • Raised recall by about 28% at the same false-positive rate by rebuilding the feature set around behavioral and velocity signals rather than adding model complexity. The previous version had been tuned on accuracy, which means very little when fewer than one percent of transactions are fraudulent.
  • Handled class imbalance with cost-sensitive training weights and threshold tuning against the operations team's actual review capacity, instead of defaulting to synthetic oversampling.
  • Built the real-time inference path with FastAPI on AWS Lambda + Redis for feature lookup and caching, keeping scoring inside the 200 ms budget the payments team required.
  • Developed the NLP components for merchant descriptions and free-text claim fields — spaCy for entity extraction, a fine-tuned BERT classifier for the categories rule-based matching kept getting wrong.
  • Cut training time by roughly 40% via Parquet conversion, cached feature tables, and larger GPU batches with mixed precision. Most of the win came from the I/O work, not the GPU changes.
  • Set up MLflow for experiment tracking and model registry, ending the practice of results living in notebooks on individual laptops.
  • Wrote the monthly retraining pipeline with automatic evaluation against the incumbent — a new version is not promoted unless it wins on the held-out period.
  • Added drift monitoring on input features with Slack alerts, after a silent upstream change to a currency field degraded scores for two weeks before anyone noticed.
  • Worked with fraud operations on how scores appear in the review queue; ordering cases by expected loss rather than raw score measurably reduced time spent on low-value reviews.
  • Containerized training and inference with Docker, built deployment in GitHub Actions, including a staging environment mirroring production feature data.
  • Kept the pipeline GDPR-aligned: minimized personal fields in the feature store, documented the basis for each, implemented the deletion path for data subject requests.
  • Collaborated across the Netherlands, UK, Germany, and Poland, largely asynchronously, and wrote the technical documentation the other regions worked from.
  • Prototyped an LLM-based summarizer for analyst case notes. It performed well in testing but was not shipped, because the data protection review could not be completed within the project timeline.
Full-Stack Developer  ·  NeoDigital GmbH  ·  Jan 2021 — Feb 2023

Led front-end development of an enterprise insurance platform in React and Next.js, used by brokers and end customers across the German and English markets.

  • Built the quote and policy application flows — long multi-step forms with conditional logic and heavy validation. Most of the real engineering difficulty in insurance software lives in these forms rather than in the interface around them.
  • Designed and implemented backend APIs in Node.js with PostgreSQL, including the schema for policies, endorsements, and claims history.
  • Improved page load performance by roughly 55% through image optimization, code splitting, and ISR for static marketing pages. Broker-dashboard LCP fell from ~4.2 s to under 2 s.
  • Implemented multilingual UI with next-i18next for German and English, including the formal and informal forms of address German business users expect, and locale-correct date, currency, and number formatting.
  • Contributed services to a microservice architecture serving 150,000+ EU customers, primarily document generation and notifications.
  • Built versioned PDF policy generation so any issued document could be regenerated exactly as the customer originally received it, which compliance required.
  • Implemented role-based access control across brokers, internal underwriters, and customer accounts, with audit logging on every change to a policy record.
  • Handled GDPR directly: consent capture, data export, and right-to-erasure with the retention exceptions insurance regulation imposes, keeping the processing register current with the legal team.
  • Migrated a large portion of the codebase from JavaScript to TypeScript incrementally, starting with the API layer where type errors caused the most production incidents.
  • Set up Jest for unit coverage and Playwright for the quote-to-purchase path, catching regressions the manual QA pass had been missing.
  • Added Sentry error tracking and built the API latency and error rate dashboards reviewed in weekly planning.
  • Worked in a German team with English as the working language, took part in sprint planning and code review, and mentored two junior front-end developers.
  • Replaced a legacy jQuery admin tool that had been in service for years. We ran both systems in parallel for a full quarter before switching over, because the underwriters would not trust the new one until they had checked its output against the old one.
Mobile App Developer  ·  BluWorks Software Labs  ·  Aug 2018 — Dec 2020

Developed cross-platform mobile applications in Flutter and React Native for logistics, booking, and delivery clients in the Philippines and Australia.

  • Published four production applications to Google Play and the App Store and handled the release process end to end, including store listings, review responses, and staged rollouts.
  • Built offline-first synchronization for the driver application, since riders regularly lost signal on delivery routes. Jobs queued locally and reconciled on reconnection, with conflict rules agreed with the client rather than decided by us.
  • Integrated Firebase across most projects — authentication, Firestore, Cloud Messaging, Crashlytics.
  • Implemented background location tracking with battery-conscious update intervals. This took several rounds of tuning before the client accepted the tradeoff between accuracy and battery drain.
  • Built route display and delivery sequencing on Google Maps, plus the proof-of-delivery flow covering photo capture and signature.
  • Added barcode and QR scanning for parcel handoff, removing most of the manual entry errors in the warehouse workflow.
  • Consumed REST APIs with secure authentication — token refresh, encrypted credential storage, and certificate pinning on the client that processed payments.
  • Reduced crash rates significantly on the largest app by replacing ad hoc state updates with a structured Provider approach, then fixing the lifecycle bugs that became visible once crash reports were properly grouped.
  • Improved cold start and list scrolling by removing unnecessary rebuilds, adding pagination, and caching images. Most users were on low-end Android devices, so testing was done on an inexpensive physical phone rather than an emulator.
  • Localized for English and Filipino users, including local address formats and the phone number handling Philippine carriers require.
  • Wrote the client handover documentation and ran training sessions for the operations staff who would use the applications daily.

Education

Postgraduate Certificate, Data Science & Machine Learning
Dublin Business School — Dublin, Ireland
2016 — 2017
BSc Information Technology
University of Rizal System (Rizal State College) — Philippines
2011 — 2015

GitHub

GitHub stats for phjpdev Most used languages

Currently open to work

AI/ML engineering and senior full-stack roles — remote, based in UTC+8 and used to overlapping with EU and US hours.
I am looking for a role where systems stay in production long enough for the engineering decisions to matter.


Email me Resume

Thank you for your time and consideration.

Pinned Loading

  1. django-aws-lambda django-aws-lambda Public

    Python 3

  2. react-graphql react-graphql Public

    TypeScript 3

  3. laravel-and-vue laravel-and-vue Public

    PHP 4 1

  4. angular-server-side-configuration angular-server-side-configuration Public

    TypeScript 3

  5. nestjs-typeorm-mongo nestjs-typeorm-mongo Public

    TypeScript 2

  6. vuetify-vue3 vuetify-vue3 Public

    JavaScript 2