Skip to content
All work

Case study 02 / 03

Fisio Nexus

Management of patients and therapy sessions.

Status
Deployed web application
Year
2026
Role
Full Stack Developer · Software Architecture
Repository
Private repository.
Fisio Nexus cover: the therapy practice’s home screen in a desktop browser and on a phone, with a session in progress and its timer.

Written from the project’s documentation and code; pending the author’s confirmation.

Source: Code, history and tests of the project repository.

LA FORTUNA · SAN CARLOS135°
Illustration · Fisio Nexus

01

Context

Spanish-language web application for the person who runs a therapy practice in La Fortuna de San Carlos, Costa Rica.

Responsibilities

  • System design and architecture: a single-page application on Supabase, deployed on Cloudflare
  • Frontend development with React, TypeScript and Vite: records, schedule, timed sessions and payments
  • Backend development in PostgreSQL and PL/pgSQL, with Supabase Auth authentication
  • Data modelling and management with versioned SQL migrations and row-level security (RLS) policies
  • Design of data access and its role-based permissions
  • Integration between the interface, authentication, the database and account invitations
  • Interface and user experience design for the practice’s day-to-day operation
  • Testing, validation and technical maintenance with Vitest and Playwright

02

Problem

The practice needed to digitise the management of its patients and its day-to-day operations in a single tool.

03

Solution

Built

  • Patient records with history and notes
  • Schedule and session logging with a timer
  • Payments, history and reports
  • Configurable rates; each session keeps its historical amount
  • Account invitations and access recovery

04

Architecture

Single-page application built with React, TypeScript and Vite, deployed on Cloudflare. Data lives in PostgreSQL and authentication is handled by Supabase Auth; access is controlled through row-level security (RLS) policies per role.

  1. 01

    Interface

    React · TypeScript · Vite

  2. 02

    Authentication

    Supabase Auth

  3. 03

    Data

    PostgreSQL · RLS

High-level flow

05

Technologies

  • React
  • TypeScript
  • JavaScript
  • Vite
  • PostgreSQL
  • PL/pgSQL
  • Supabase
  • Node.js
  • Vitest
  • Playwright
  • Cloudflare

06

Technical decisions

  • Separate roles: administration without clinical access; reception with access to payments.
  • Authorization enforced in the database through RLS policies, not only in the interface.
  • Public sign-up disabled: access is by invitation.
  • Schema changes through versioned SQL migrations.

07

Verifiable results

167

unit tests passing

Project’s local state (8 October 2026)

  • 167 unit tests pass on the project’s local state (8 October 2026).
  • End-to-end tests with fictitious data, including security and responsive-layout tests in WebKit.

08

Screenshots and evidence

Interface on desktop and mobile

Fisio Nexus in a desktop browser: a fictitious patient’s record with ID, last session, next appointment, preferences and history.Open full size ((opens in a new tab))
Desktop · Patient record with sessions, appointments and history.
Three phones running Fisio Nexus: the home screen with a session in progress, the patient history and the day’s schedule.Open full size ((opens in a new tab))
Mobile · Home, patients and schedule.

Screen gallery

Real screenshots of the application in a local environment with a test account and fictitious patients. The interface shows the practice’s brand.

Documentation and tests

  • The repository’s unit and end-to-end test suites.