Julio Bermudez

Hello, I'm

Julio Bermudez


Senior Frontend Engineer with 4+ years of experience building data-intensive web applications. I care deeply about code quality as a measurable outcome. My approach combines strong React & TypeScript fundamentals with a testing-first mindset that has consistently turned unreliable codebases into stable, maintainable products.

/ Career

A brief overview of my career

Nov 2020 - May 2024

Frontend Developer

Pulpo WMS

Built and maintained core features for a Warehouse Management System, focusing on data validation, component architecture, and test coverage. Led the migration to modern JavaScript and drove automated testing from 36% to 88% coverage.

  • React
  • Redux
  • TypeScript
  • Jest
  • Selenium
  • JavaScript (ES6+)
Jun 2020 - Nov 2020

Full-stack Developer

Flowster

Resolved a high volume of cross-stack bug tickets across React/Redux and Express/Mongoose. Introduced ESLint configurations that standardized code quality across the team.

  • React
  • Redux
  • Node.js
  • Express.js
  • MongoDB
2014 - 2019

B.S. in Clinical Laboratory Science

Universidad de Carabobo

Developed strong analytical and problem-solving skills through a rigorous science curriculum. Transitioned into software engineering through self-teaching, applying the same discipline to mastering frontend development.

  • Analytical Thinking
  • Problem Solving
  • Self-learning

/ Featured Projects

A selection of solo projects I've worked on.

MiloScribe screenshot 1
Full Stack App

MiloScribe

A mobile-first web app that records doctor consultations and generates structured medical documents using Google Gemini. Inspired by my background as a medical laboratory technologist and shaped by direct feedback from a practicing surgeon.

  • React
  • TypeScript
  • Redux
  • Express
  • Node.js
  • Prisma
  • PostgreSQL
  • Web Audio API
Full Stack App

MiloScribe

MiloScribe extra screenshot 1MiloScribe extra screenshot 2MiloScribe extra screenshot 3

The problem

Physicians spend a large portion of their day on documentation rather than patient care. A general surgery resident I know described the daily grind of hand-writing the same structured notes after every consultation. I wanted to build something that let him speak naturally and get back a properly formatted clinical document that followed the conventions his hospital actually uses.

How it was built

Coming from clinical laboratory science, I could make correct domain decisions instead of guessing at them. The data model reflects how patients, consultations, and clinical documents actually relate, and the generated documents follow real hospital conventions. The medical history, for instance, encodes a fixed set of physical-exam systems with canonical normal descriptions that fill in only when a system isn't mentioned, and abnormal findings that override the default. Those conventions came directly from the surgeon.

The most important design decision was drawing a hard line in the AI prompts between safe documentation inference (filling in standard normal exam findings) and unsafe clinical fabrication.

On the engineering side: browser audio capture with real-time waveform visualization (Web Audio API on canvas), a two-step upload-then-process flow for resilience on slow connections, and a single multimodal Gemini call that returns transcript and structured document together to halve API usage against a rate-limited tier. Full-stack TypeScript throughout — React, Node/Express, Prisma/PostgreSQL, JWT auth with strict per-doctor data scoping, Cloudinary for audio, deployed on Render and Supabase.

The name

It's named after Milo, my dog.

MiloDetects screenshot 1
Full Stack + Computer Vision

MiloDetects

An assistive blood smear analysis web app that detects and localizes blood cells from a microscope photo using a self-hosted YOLOv8 model. Built from my years as a clinical bioanalyst.

  • React
  • TypeScript
  • Redux Toolkit
  • Python
  • FastAPI
  • YOLOv8
  • PyTorch
  • PostgreSQL
  • Supabase
Full Stack + Computer Vision

MiloDetects

The problem

Reading a blood smear means sitting at a microscope and counting cells by eye, field after field. MiloDetects lets you photograph a microscope field, then detects and localizes the cells in it (white cells, red cells, platelets), draws labeled boxes over your own image, and reports per-field counts. It is deliberately assistive: it tells you where the cells are and what type they are. It does not perform a differential (for now).

How it was built

The backend has one function for inference: predict(image_bytes) returns a list of detections. It uses either a mock engine that makes up plausible results or the real one that runs YOLO. An environment variable picks which loads. I wrote the mock first and built the whole app on top of it: capture, batching, the box overlay, history. The model didn't exist yet. When the weights were ready I flipped the variable and nothing else changed.

Detections use normalized center-xywh so the model, the database, the API schema, and the canvas overlay all speak one language, avoiding bugs where boxes render fifteen pixels off. The model itself is a YOLOv8n fine-tuned on BCCD, a public dataset of 255 training images, transfer-learned from COCO weights: 0.919 mAP50 overall, 0.983 on white cells. It runs in-process behind FastAPI, offloaded to a thread pool so it doesn't block the event loop, with torch imported lazily to keep cold starts cheap.

What happened in the field

By every number I had, it worked. Then a bioanalyst friend held his phone to a microscope eyepiece in an actual lab and ran a real slide through it. It returned zero detections, on a field with cells plainly visible. Two reasons: 1) BCCD is built from 100× oil immersion images and he was working at 40×, so the model had never seen a cell at that scale. 2) BCCD images are clean and evenly lit, while a phone against an eyepiece produces glare, vignetting, a color cast from the lamp, and a hard dark circle where the field ends.

The differential is routinely read at 40×. Oil immersion is for particular cell morphology and inclusions. So a well-constructed, widely-used public dataset is built at a magnification most real users aren't working at, which resulted in the model being trained for a different problem.

What's next

v1 is deployed and does what it claims on images resembling what it was trained on, knowing the current limitations. v2 is being built around what the field test taught: a 40× dataset shot in real conditions with a written capture protocol and a clinical collaborator, since no public dataset for this exists and I'm qualified to annotate it correctly. After that, WBC differentiation, a real differential needs five subtypes, so the detector finds where the cells are and a second-stage classifier decides which kind. A differential is an actual diagnostic output.

The name

Also named after Milo, my dog.

Letterboxd screenshot 1
Full Stack App

Letterboxd

A full-stack film reviewing app powered by TMDB and OMDB APIs. Users can review and rate films, build watchlists, like movies, and keep a personal diary of watched films. Features JWT authentication and a MongoDB backend.

  • React
  • TypeScript
  • Redux
  • Node.js
  • MongoDB
  • Jest
WMS Outgoing Orders Dashboard screenshot 1
Full Stack App

WMS Outgoing Orders Dashboard

A real-time warehouse management dashboard for tracking and managing outgoing orders. Features live updates across connected clients via Socket.io, full CRUD, and a status timeline showing each order's progression from picking to dispatch.

  • React
  • TypeScript
  • Redux
  • Node.js
  • PostgreSQL
  • Socket.io
  • Docker

/ Tech Stack

Breakdown of my technical skills, categorized by domain

Frontend

  • React
  • TypeScript
  • JavaScript
  • Redux
  • Next.js
  • HTML5
  • CSS3
  • Material UI

Backend

  • Node.js
  • Express.js
  • PostgreSQL
  • MongoDB

Tools & Testing

  • Jest
  • React Testing Library
  • Selenium
  • Nightwatch
  • Git
  • ESLint

/ Contact Me

Feel free to reach out. I'm always open to discussing new projects and opportunities.