DavidGadyan

Full-Stack & UI/UX · Data Science & ML

R REST API & Plotly Graphs for a Medical Testing Platform

By David Gadyan · Published · Updated · Client: Andrea Graziano

R language logo beside a circuit-board human profile on a dark blue background

R REST API that puts a KPI-scoring algorithm for CTE medical image experts into production inside an existing Vue.js expert-testing platform, with interactive R Plotly graphs built to the client's specification. Delivered as sole developer across three consecutive contracts, each one extending the previous with improvements and new features.

The problem

The client ran a medical expert-testing system built in Vue.js and had an algorithm, written in R, that calculates KPIs for CTE medical image experts. The algorithm worked as a script; it did not work as part of the product. It needed to go into production so the Vue.js application could call it, and the application's users needed to see its results as interactive graphs rather than raw numbers.

What I built

  • A REST API written in R that wraps the KPI algorithm and exposes it to the existing Vue.js application, turning a standalone script into a production service.
  • Interactive graphs built with R Plotly, to the client's specifications and instructions, for the users of the main application.
  • Successive improvements and new features over three consecutive contracts, each one extending the API and the visualisations delivered in the previous one.

How it was delivered

The engagement was structured as three consecutive contracts, each concentrating on improving what already existed and developing new features on top. I was the sole developer, working from the client's specifications and integrating directly with the existing Vue.js front end so the R service and the graphs became part of the platform rather than a separate tool.

Outcome

A scoring algorithm for CTE medical image experts that runs in production behind an R REST API, with interactive Plotly graphs embedded in the client's Vue.js platform. The end result was what the client was looking for, and the cooperation continued naturally across all three contracts.

Related projects

← All projects