ACT Master Schedule

Role: Solo Developer Timeline: 2025–Present Platform: Web (Cloudflare Pages + Render + Neon)

A full-stack internal operations platform that centralizes clinical study schedules, assignments, workbook-derived timelines, daily scheduling, workload analytics, ClinSpark report retrieval, Builder Audits, Transfer Data processing, and admin controls. It was built to help small clinical research teams answer operational questions faster without repeatedly cross-checking large workbooks and scattered tools.

The Problem

Clinical research teams were coordinating study milestones, assignment ownership, imported timeline data, report retrieval, and daily work from separate spreadsheets and source systems. That made routine planning slower than it needed to be:

Solution Overview

Study & Milestone Management

  • Study creation, editing, archiving, restoring, filtering, and CSV export
  • Inline milestone status, assignee, due date, timeline start/end, and notes fields
  • Multi-assignee milestones with favorites and persistent user filters
  • Copy/paste of milestone tables with cross-team assignee safety checks

Timeline Views

  • Dashboard, Table, Calendar, Gantt, Workload, Work, Daily Schedule, and Confinement views
  • Macro and Micro Timeline imports with change tracking and event materialization
  • Team Assign linking between operational ownership and imported worksheet timelines
  • ClinSpark-only, team, status, milestone, and People Team filters

Daily Schedule

  • Team-specific day schedules with two panels visible at once
  • Editable times, notes, study selection, statuses, and multiple assignees
  • Templates, copy/paste workflows, locking, audit trail, retention controls, and print support
  • My Work and Workload integration for assigned daily tasks

Security & Access Control

  • HttpOnly JWT sessions with refresh rotation and server-side validation
  • Configurable roles, tab visibility, multi-team memberships, and per-user editable Team permissions
  • Backend-enforced Team edit checks for Table and Daily Schedule workflows
  • Rate limiting, CORS hardening, request limits, encrypted report credentials, and security event logging

Reports & Audits

  • ClinSpark Reports definitions with Basic/Bearer authentication and reusable parameter sets
  • Manual and scheduled invocation with sequential execution and retained newest completed files
  • Builder Audits ingestion with duplicate detection, filters, pagination, and last-sync summaries
  • Transfer Data processing with run status, logs, downloads, and optional encryption settings

Operations Admin

  • User, role, team, permission, backup, audit, and server settings management
  • Backup preview, restore, checksums, data health utilities, and forward-only migrations
  • Presence, heartbeat, inactivity, retention, and performance settings for low-cost hosting

Architecture

The application follows a React SPA plus FastAPI backend architecture. Cloudflare Pages serves the frontend, Render hosts the API, and Neon PostgreSQL stores operational data. The system uses forward-only SQL migrations, service/repository/router boundaries, bounded retention settings, and cached server-prepared views for expensive timeline screens.

Tech Stack

React 18 TypeScript TailwindCSS Zustand FastAPI Python PostgreSQL psycopg (async) JWT / HttpOnly Cookies Cloudflare Pages Render Neon Axios Vite

Screenshots

Challenges & Solutions

Outcomes & Impact

Lessons Learned

Future Improvements