About Skills Projects Experience Education Blog Contact Resume
Open to opportunities
Software Developer & Engineer

Mithun
Babu

Full-stack developer building scalable web applications with React, Node.js, and cloud infrastructure. Passionate about clean code, real-world problem solving, and deploying things that actually work in production.

~/portfolio — zsh
~ whoami
Mithun Babu // software engineer

~ cat skills.json
// top languages
"languages": ["JavaScript", "Python", "SQL"]
"frontend" : ["React", "HTML", "Tailwind"]
"backend" : ["Node.js", "FastAPI", "PostgreSQL"]
"tools" : ["GCP", "Docker", "Claude Code"]

~ git log --oneline -3
a4f8b2 feat: deploy new portfolio
9d3c11 fix: optimize API response time
7e1a04 chore: update dependencies

~
Scroll down

Who I Am

Hey — I'm Mithun Babu, a software developer trainee with a strong foundation in full-stack development and cloud deployment. I built and shipped a production healthcare app at Geri Care Corporate using React.js, Node.js, and GCP.

My background covers MERN stack development, REST API design, JWT authentication, and PostgreSQL. I enjoy solving real-world problems — whether it's debugging a 500 error in prod or designing a clean role-based access system from scratch.

Outside of coding, I'm Vice President of my university's photography club, hold certifications in MERN Stack Development and Prompt Engineering, and speak English and Tamil fluently.

1+
Years exp.
3+
Projects shipped
2
Certifications
GCP
Cloud deployed
Mithun Babu
Location Chennai, India
Email mithunramesh15122003@gmail.com
Timezone IST (UTC+5:30)
Status ● Open to opportunities
Preferred stack React.js / Node.js

Tech Stack

Languages
JavaScript Python SQL
JavaScript88%
Python78%
SQL82%
Frontend
HTML React CSS / Tailwind
React85%
HTML / CSS90%
Tailwind80%
Backend
Node.js FastAPI PostgreSQL MySQL REST APIs
Node.js / Express87%
PostgreSQL / MySQL83%
FastAPI75%
Tooling
Git & GitHub GCP Docker Figma Claude Code
Git & GitHub88%
GCP / Cloud Run80%
Docker75%
Testing & Docs
UAT Regression Testing SRS Documentation API Debugging
Certifications
MERN Stack Developer Prompt Engineer

Selected Work

// 002
GeriCare Analytics Dashboard

A full-stack AI-powered operations platform for India's leading geriatric care network. Real-time WhatsApp AI monitor, HIS reporting, campaign management, and Assista SSO — live across 12 care centres.

React 18 Firebase Cloud Functions MySQL Claude AI GCP
// 003
Doctor Cthru — Clinic Operations Platform

A live doctor availability, scheduling, and clinic-operations system for GERI-CARE's multi-branch eldercare network. Replaced an Excel chaos with a real web app used daily by 19 staff across 4 branches.

Python Flask SQLite Vanilla JS PythonAnywhere

Work History

Aug 2025 — Present Full-time
Geri Care Corporate
// Software Developer Trainee
  • Developed and deployed full-stack web applications using React.js, Node.js, Express.js, and PostgreSQL on Google Cloud Platform (Cloud Run).
  • Implemented role-based authentication and access control using JWT for multi-role user systems.
  • Integrated third-party APIs including WhatsApp (Qikchat), Firebase Cloud Functions, and AI models (Claude, Gemini) into production applications.
  • Wrote complex SQL queries against large production MySQL databases for reporting and analytics.
  • Performed User Acceptance Testing (UAT), end-to-end regression testing, and maintained SRS documentation.
  • Provided production support — identified and resolved real-time issues including API failures, database mismatches, and 500 server errors.
  • Collaborated directly with stakeholders to gather requirements and translate them into technical solutions.

Academic Background

June 2022 — April 2025 Full-time
Kalasalingam Academy of Research and Education
// B.Tech — Information Technology
  • Built HRMS Application (Human Resource Management System) as a major project.
  • Developed a Payment Application (Transaction System) demonstrating secure backend design.
June 2019 — April 2022 Full-time
JACSI Polytechnic College
// Diploma — Mechanical Engineering
  • Completed relevant coursework in Mechanical Engineering and Project Management.
  • Developed strong problem-solving and structured thinking skills applied later in software development.
2018 — 2019
Koilpillai Higher Secondary School
// SSLC — Class X
  • Completed SSLC with 73% aggregate.

Writing & Thoughts

Backend
May 2026  ·  7 min read
How I Implemented Role-Based Auth With JWT in a Healthcare App

A walkthrough of building Admin, Supervisor, and Trainee access control using JWT in a Node.js + Express backend — lessons from real production use.

Read article
Cloud
Apr 2026  ·  8 min read
Deploying a Node.js App on Google Cloud Run — From Zero to Live

Step-by-step notes on containerising a full-stack app with Docker and deploying it on GCP Cloud Run, including gotchas I hit along the way.

Read article
Database
Mar 2026  ·  6 min read
PostgreSQL + Neon DB: Managing Schema Consistency Across Environments

How we kept development and production schemas in sync using Neon DB's branching model and what we learned from a few painful mismatches.

Read article
Testing
Feb 2026  ·  5 min read
What UAT Actually Taught Me About Software Quality

Running User Acceptance Testing with real stakeholders changed how I think about building features. Here's what good UAT looks like in practice.

Read article
React
Jan 2026  ·  7 min read
Structuring a React App for Long-Term Maintainability

Folder structures, component patterns, and state management choices that have kept our codebase clean as the project grew from MVP to production.

Read article
Debugging
Dec 2025  ·  6 min read
Chasing 500 Errors in Production — A Developer's Field Notes

A collection of real debugging sessions: API failures, database mismatches, and silent server crashes — and the systematic approach I developed to tackle them.

Read article

Get In Touch

I'm actively looking for my next opportunity as a software developer. If you're building something interesting with React, Node.js, or cloud infrastructure — let's talk.

The fastest way to reach me is via email. I typically respond within 24 hours.

✓ Message sent! I'll get back to you within 24 hours.

My Resume

Mithun_Babu_Resume.pdf
PDF Document  ·  ~18 KB  ·  ATS Optimised
Full Stack Developer React · Node.js · Python GCP · Docker Healthcare IT
MITHUN BABU
Download Resume
Mithun_Babu_Resume.pdf
MITHUN BABU
Chennai, India  |  mithunramesh15122003@gmail.com
linkedin.com/in/mithun-babu-r-10b8b630a  |  github.com/miba1512
Professional Summary

Full-stack software developer with hands-on production experience building and deploying web applications for the healthcare sector. Proficient in React.js, Node.js, Python/Flask, PostgreSQL, MySQL, and Google Cloud Platform. Experienced across the full development lifecycle — from requirements gathering and database design to deployment, user acceptance testing, and post-release support. Holds certifications in MERN Stack Development and Prompt Engineering.

Technical Skills

Languages: JavaScript, Python, SQL

Frontend: React.js, HTML5, CSS3, Tailwind CSS

Backend: Node.js, Express.js, FastAPI, Flask, REST API Design, JWT Authentication

Databases: PostgreSQL, MySQL, SQLite, Neon DB, Firebase Firestore

Cloud & DevOps: Google Cloud Platform (Cloud Run, Cloud SQL, Cloud Functions), Docker, Firebase, CI/CD

Tools: Git, GitHub, Figma, Claude AI / Prompt Engineering

Testing & Docs: UAT, Regression Testing, SRS Documentation, API Debugging

Professional Experience
Geri Care Corporate | Software Developer Trainee | August 2025 – Present  |  Chennai, India

GeriCare DNB Portal

  • Developed and deployed full-stack web applications using React.js, Node.js, Express.js, and PostgreSQL on Google Cloud Platform (Cloud Run).
  • Implemented role-based authentication and access control using JWT for multi-role user systems.
  • Integrated third-party APIs including WhatsApp (Qikchat), Firebase Cloud Functions, and AI models (Claude, Gemini) into production applications.
  • Wrote complex SQL queries against large production MySQL databases for reporting and analytics.
  • Performed UAT, end-to-end regression testing, and maintained SRS documentation.
  • Provided production support — resolved API failures, database mismatches, and 500 server errors.
  • Collaborated directly with stakeholders to gather requirements and translate them into technical solutions.
Academic Projects
Kalasalingam Academy of Research and Education | 2022 – 2025
  • HRMS Application: Human resource management system with employee records, attendance tracking, and payroll workflows using React.js, Node.js, and PostgreSQL.
  • Payment Application: Secure transaction system with real-time balance updates and input validation using JavaScript, Express.js, and PostgreSQL.
Education
Kalasalingam Academy of Research and EducationB.Tech – Information Technology|June 2022 – April 2025
JACSI Polytechnic CollegeDiploma – Mechanical Engineering|June 2019 – April 2022
Koilpillai Higher Secondary SchoolSSLC (Class X)|2018 – 2019|73%
Certifications
  • MERN Stack Developer Certification
  • Prompt Engineering Certification
Additional Information

Languages: English (Professional), Tamil (Native)

Activities: Vice President, University Photography Club; University Event Organizer

Portfolio:mithunbabuportfolio.in

🏥 Healthcare · Full Stack · Cloud

GeriCare DNB Portal

A full-stack clinical training management platform for DNB Geriatrics trainees — built on React, Node.js, PostgreSQL, and deployed on Google Cloud Run.

Healthcare / Medical Education
Web App (SaaS)
dnb.gericare.health
🟢 Production
3
User Roles
15+
Core Modules
GCP
Cloud Platform
A4
Print-Ready Reports

Overview

What is GeriCare DNB?

GeriCare DNB Portal is a purpose-built clinical training management system for DNB Geriatrics trainees and supervisors at Gericare Hospital. It replaces manual paper-based logbooks with a digital platform that tracks case logs, thesis submissions, leave requests, and academic progress.

The platform serves three user types — Interns (trainees), Doctors (supervisors), and Admins — each with tailored dashboards, workflows, and access controls.

Problem Solved

Eliminated paper-based DNB logbook tracking, enabling real-time supervisor review, structured case categorisation, and instant PDF report generation for regulatory submissions.

My Contributions

Designed and built the full-stack architecture from scratch — React frontend, Node.js/Express backend, PostgreSQL database

Deployed and maintained the entire infrastructure on Google Cloud Run with Cloud SQL PostgreSQL

Built a print-perfect A4 logbook report engine with case-type grouping, color coding, and PDF download

Implemented real-time notifications, file upload/preview system, and role-based access control

Set up CI/CD pipeline with Docker, Artifact Registry, and automated Cloud Run deployments

Tech Stack

Built With

Modern, production-grade stack optimised for healthcare data reliability and scalability.

⚛️

Frontend

Responsive SPA with role-based routing, real-time updates, and print-optimised report rendering.

React 18 Vite Tailwind CSS React Router Lucide Icons
🟢

Backend

RESTful API with JWT auth, file streaming, real-time notifications, and PDF generation engine.

Node.js Express PostgreSQL PDFKit Multer
☁️

Cloud & DevOps

Containerised microservices on Google Cloud Run with managed PostgreSQL and GCS file storage.

Google Cloud Run Cloud SQL Docker Artifact Registry GCS

Features

Core Modules

End-to-end clinical training management across three user roles.

📋

Clinical Logbook

Interns submit case logs categorised by type (OPD, IPD, Emergency, Procedures). Supervisors review, approve, or request revisions with comments and file attachments.

📊

Print-Perfect Reports

Auto-generated A4 logbook reports with cover page, case-type summary, indexed entries, and individual entry pages — all grouped and color-coded by case type.

🎓

Thesis Management

Trainees submit thesis protocols with file uploads. Supervisors review and track status through a structured approval workflow.

📅

Leave Management

Interns apply for leaves with date ranges and reason. Supervisors approve or reject requests. Real-time status updates via push notifications.

🔔

Real-time Notifications

Firebase push notifications for logbook reviews, task assignments, leave decisions, and thesis status changes — delivered across all user roles.

👥

Supervisor–Trainee Assignment

Many-to-many supervisor assignment with primary supervisor designation. All logbook entries automatically routed to assigned supervisors for review.

Architecture

System Design

Containerised microservices on Google Cloud, with managed database and object storage.

🌐

React Frontend

Cloud Run · Custom Domain

⚙️

Node.js API

Cloud Run · REST · JWT Auth

🗄️

Cloud SQL

PostgreSQL 18 · Automated Backups

Docker Containers Artifact Registry GCS File Storage Firebase Push SSL / HTTPS Point-in-time Recovery

Screens

Key Interfaces

Three distinct dashboards tailored to each user role.

🏥
Admin Dashboard
Super Admin · Admin
👨‍⚕️
Doctor / Supervisor Panel
Logbook Review · Reports
📖
Intern Logbook
Case Submission · Progress
📄
Logbook Report
A4 Print · PDF Export
🎓
Thesis Management
Submit · Review · Approve
🔔
Notifications
Firebase Push · Real-time

Development

Project Timeline

From zero to production-deployed clinical platform.

Architecture & Database Design

Schema design for users, interns, doctors, logbook entries, theses, leaves. Role-based access control setup.

Completed

Core Backend API

REST endpoints for all modules. JWT authentication, file upload with Multer, PDF generation with PDFKit.

Completed

Frontend Dashboards

Three role-based React SPAs — Admin, Doctor, Intern — with Tailwind CSS and real-time data.

Completed

Cloud Deployment

Dockerised and deployed both services on Google Cloud Run with Cloud SQL PostgreSQL. Custom domain configured.

Completed

Report Engine

A4 print-perfect logbook reports with case-type grouping, cover page, index, and per-entry pages.

Live

My Resume

Mithun_Babu_Resume.pdf
PDF Document  ·  ~18 KB  ·  ATS Optimised
Full Stack Developer React · Node.js · Python GCP · Docker Healthcare IT
MITHUN BABU
Download Resume
Mithun_Babu_Resume.pdf
MITHUN BABU
Chennai, India  |  mithunramesh15122003@gmail.com
linkedin.com/in/mithun-babu-r-10b8b630a  |  github.com/miba1512
Professional Summary

Full-stack software developer with hands-on production experience building and deploying web applications for the healthcare sector. Proficient in React.js, Node.js, Python/Flask, PostgreSQL, MySQL, and Google Cloud Platform. Experienced across the full development lifecycle — from requirements gathering and database design to deployment, user acceptance testing, and post-release support. Holds certifications in MERN Stack Development and Prompt Engineering.

Technical Skills

Languages: JavaScript, Python, SQL

Frontend: React.js, HTML5, CSS3, Tailwind CSS

Backend: Node.js, Express.js, FastAPI, Flask, REST API Design, JWT Authentication

Databases: PostgreSQL, MySQL, SQLite, Neon DB, Firebase Firestore

Cloud & DevOps: Google Cloud Platform (Cloud Run, Cloud SQL, Cloud Functions), Docker, Firebase, CI/CD

Tools: Git, GitHub, Figma, Claude AI / Prompt Engineering

Testing & Docs: UAT, Regression Testing, SRS Documentation, API Debugging

Professional Experience
Geri Care Corporate | Software Developer Trainee | August 2025 – Present  |  Chennai, India

GeriCare DNB Portal

  • Developed and deployed full-stack web applications using React.js, Node.js, Express.js, and PostgreSQL on Google Cloud Platform (Cloud Run).
  • Implemented role-based authentication and access control using JWT for multi-role user systems.
  • Integrated third-party APIs including WhatsApp (Qikchat), Firebase Cloud Functions, and AI models (Claude, Gemini) into production applications.
  • Wrote complex SQL queries against large production MySQL databases for reporting and analytics.
  • Performed UAT, end-to-end regression testing, and maintained SRS documentation.
  • Provided production support — resolved API failures, database mismatches, and 500 server errors.
  • Collaborated directly with stakeholders to gather requirements and translate them into technical solutions.
Academic Projects
Kalasalingam Academy of Research and Education | 2022 – 2025
  • HRMS Application: Human resource management system with employee records, attendance tracking, and payroll workflows using React.js, Node.js, and PostgreSQL.
  • Payment Application: Secure transaction system with real-time balance updates and input validation using JavaScript, Express.js, and PostgreSQL.
Education
Kalasalingam Academy of Research and EducationB.Tech – Information Technology|June 2022 – April 2025
JACSI Polytechnic CollegeDiploma – Mechanical Engineering|June 2019 – April 2022
Koilpillai Higher Secondary SchoolSSLC (Class X)|2018 – 2019|73%
Certifications
  • MERN Stack Developer Certification
  • Prompt Engineering Certification
Additional Information

Languages: English (Professional), Tamil (Native)

Activities: Vice President, University Photography Club; University Event Organizer

Availability: Immediately available | Open to full-time roles, contracts, and relocation

🏥 Healthcare · AI · Analytics

GeriCare Analytics Dashboard

A full-stack AI-powered operations platform for India's leading geriatric care network — built end-to-end from scratch.

12
Care Centres
31
Cloud Functions
118
WhatsApp Templates
5+
AI Integrations
100%
Real-time

Everything operations needs in one place

Built for the daily reality of running multi-centre geriatric care — from WhatsApp grievances to weekly HIS revenue reports.

💬

WhatsApp Monitor

Real-time AI classification of family group messages. Auto-escalates urgent grievances, detects sentiment in Tamil/Tanglish, and resolves staff replies automatically.

AI · Firestore · Claude + Gemini
📊

Weekly Ops Review

Per-centre census, revenue, staff headcount, and incident tracking. Auto-populated from HIS with manual override. Network-level 13-week trends.

HIS · MySQL · Pro-rated SQL
💰

Finance Overview

Live billing analytics — invoice revenue, collections, outstanding, GST reports, payment modes, refunds, and centre performance.

MySQL · Firebase Functions
🎯

Campaign Management

Patient outreach campaign builder with intelligent filtering, agent assignment, call logging, and WhatsApp bulk messaging via Qikchat API.

Qikchat API · Campaign DB · VPC
🤖

AI Grievance Processor

Firestore trigger that classifies every WhatsApp message — auto-resolves staff replies, escalates repeated complaints, upgrades severity on aggression.

Claude Haiku · Gemini Flash
🔐

Assista SSO

Single sign-on with GeriCare's Assista platform. Auto-syncs 25 roles and location access from Assista on every login — no separate account needed.

Firebase Custom Token · Cloud Run
🏥

HIS Reports

Direct MySQL queries to the live HIS database — admissions, doctor consultations, bed occupancy, pharmacy, and line-item invoice reports.

MySQL · 15 report types
👥

Patient Overview

UHID-linked patient timelines with vitals charts, WhatsApp history, grievance thread, and AI analysis — all in one card.

Firestore · HIS join · AI
📱

PWA + Push Notifications

Installable progressive web app with FCM push for urgent grievances. Works offline, installs on iOS and Android home screens.

FCM · Service Worker · Vite

Built with production-grade tools

Every technology chosen for a reason — serverless where possible, real-time by default.

React 18 + ViteFrontend SPA
FirebaseAuth, Firestore, Hosting, FCM
Cloud Functions (Node 22)31 serverless endpoints
MySQL 8HIS + Campaign DB
Claude Haiku 4.5Grievance AI + Chatbot
Gemini 2.0 FlashAI Fallback
Qikchat WhatsApp APICampaign messaging
Google Cloud RunAssista SSO
Tailwind CSSUtility styling
VPC ConnectorPrivate DB access
Git + Firebase CLICI / Deployment
PM2 + NginxWhatsApp classifier VM

From zero to production

Architecture, backend, frontend, AI integrations, and DevOps — built entirely from scratch.

Core Infrastructure

Designed the full-stack architecture — Firebase project, Cloud Functions, MySQL VPC connections, service account IAM, and CI/CD via Firebase CLI.

FirebaseCloud FunctionsIAMVPC

WhatsApp AI Monitor

Real-time grievance system with Firestore triggers, Claude/Gemini classification, Tamil/Tanglish NLP, automatic resolution, sentiment analysis, and FCM push notifications.

Firestore TriggersClaude APISentimentSLA MonitorFCM

HIS Data Layer

15+ complex SQL queries against a 279-table production MySQL schema — pro-rated revenue, census tracking, estimate overlap filtering, and description-based category classification.

Pro-rated SQL15 ReportsCTE QueriesDescription Matching

Full Project Restructure

Split a 2200-line monolithic Cloud Functions file into 11 modules. Split a 3100-line Dashboard into 13 feature components. Extracted AuthContext, SSO, and shared formatters.

Module ArchitectureFeature ComponentsAuthContext

Campaign Management

Full campaign CRM — patient filtering, agent assignment, call logging, WhatsApp bulk send, Qikchat template sync (118 templates), and VPC-connected campaign database.

Campaign CRUDQikchat APITemplate ManagerVPC

Assista SSO Integration

Cross-app single sign-on — validates credentials via Cloud Run API, maps 25 Assista roles to dashboard roles, and syncs per-user location access automatically on every login.

Custom TokenRole MappingLocation SyncMulti-domain

Built for real scale

Live in production across 12 GeriCare centres, serving daily operations.

194+
Patients tracked weekly
500+
WhatsApp messages / day
73
Grievances managed
₹11L+
Weekly revenue tracked
12
Centres — TN & Karnataka
31
Deployed Cloud Functions
🏥 Healthcare Operations · Full-Stack Project

Doctor Cthru — Clinic Operations Platform

Built a complete doctor availability, scheduling, and clinic-operations system for GERI-CARE. From Excel chaos to a live web app used daily by call-centre & reception staff across 4 branches.

138+
Doctors Managed
4
Clinic Branches
19
Active Users
9
Feature Modules
The Story

From a fragile Excel sheet to a live web app

The clinic's doctor availability tracking lived in a single Excel file passed around on WhatsApp. Updates were lost, formulas broke, and the call centre never knew which doctor was actually free.

🚫

The Problem

A 100+ row Excel with FILTER and XLOOKUP formulas was the only system. It was:

  • Constantly out of sync between branches
  • Prone to formula errors and accidental edits
  • Inaccessible to staff working remotely
  • Missing per-doctor schedules, leaves, and remarks
  • No way to track daily appointment counts
  • No equipment-rental or directory reference

The Solution

A Flask-powered web app that consolidated every operational reference into one place:

  • Live doctor availability across all 4 branches
  • Per-doctor structured schedules with multiple time slots per day
  • Calendar-based leave dates & clinic-wide notes
  • Daily appointment tracking with Excel export
  • Equipment rental & CUG directory pages
  • Per-user login for 19 staff, audit-ready foundation
What's Inside

9 Modules. One Platform.

Each feature was scoped, designed, and shipped iteratively based on direct user feedback from clinic staff during real use.

🔍

Doctor Lookup

Autocomplete search across 138+ doctors. Shows all locations, schedules, status & auto-suggests alternative doctors when unavailable.

📍

By Location View

Quick filter by branch (T Nagar, Adambakkam, Adyar, Anna Nagar) with department breakdown and "Available only" toggle.

📚

All Doctors

Master searchable list with multi-filter (location + department + status) and "Show available only" mode.

⚙️

Manage Availability

Per-doctor card editor with 3-state status, inline schedule editor, leave dates, remarks & instant save.

📅

Schedule Editor + Leave Dates

Day chips (Mon–Sun), multiple time slots per day with overlap validation, plus calendar of one-off leave dates.

📋

Daily Appointments Report

Side-by-side location columns matching the printed roster format. Auto-saves counts, downloads to styled Excel snapshot.

📝

Notes / Calendar

Clinic-wide note system with month calendar. Priority-based color coding. Complete + Reschedule workflow with history log.

🚐

Equipment Master

45-item rental reference (oxygen concentrators, BiPAP, ICU cots) with tiered pricing, transport charges, contact notes.

📱

CUG & Modalities Directory

91 internal contact numbers grouped by location & department. Click-to-call. Editable modalities per branch.

🚫

Live Unavailable Ticker

Auto-scrolling banner showing every doctor marked unavailable. Refreshes every 60 seconds for real-time reception updates.

💾

Excel Import / Export

Bulk import from xlsx with auto-parsing of freeform timing strings into structured slots. Export endpoints for daily reports.

🔒

Per-User Authentication

19 named staff accounts with bcrypt-hashed passwords, forced first-login password change, and admin master account.

Built With

Pragmatic, Production-Ready Stack

Technologies chosen for speed of iteration, low operational overhead, and zero infrastructure costs.

Backend
Python · FlaskWerkzeug auth, Jinja templates
Database
SQLiteEmbedded, zero-config, file-backed
Frontend
Vanilla JS · HTML · CSSNo framework, lean & fast
Excel I/O
openpyxlBulk import + styled exports
Hosting
PythonAnywhereFree tier · HTTPS · custom URL
Auth
Flask SessionsPBKDF2 password hashing
How It Works

Architecture at a Glance

Clean separation between data, business logic, and presentation. All state lives in SQLite. Every change made via the UI hits a REST endpoint and is reflected live across all open tabs.

CLIENT — Browser (any device, any network)
Single-page app, vanilla JS, real-time data refresh every 60s
↓ HTTPS
WEB — PythonAnywhere uWSGI
Reverse-proxy + TLS termination + static file serving
↓ WSGI
APP — Flask (Python 3.13)
25+ REST endpoints · Session auth · Excel export · Schema migrations
↓ sqlite3
DATA — SQLite (file-backed)
10 tables: doctors, schedules, leaves, notes, equipment, services, cug_numbers, users, home_visit, note_history
The Journey

From v0 to Production in Weeks

Each milestone was driven by real user feedback. The clinic kept asking "can we also…" and each "yes" became a new module.

Phase 1 — Static HTML prototype

Single-page mock with 102 doctors hardcoded in JavaScript. Validated UX with clinic staff before any backend work.

Phase 2 — Flask + SQLite backend

Migrated to a real database. Built CRUD endpoints, Excel import script for bulk loading from clinic's master xlsx.

Phase 3 — Structured schedules

Replaced freeform "timing" strings with relational schedule rows. Built per-doctor schedule editor with day chips + multiple time slots.

Phase 4 — Operations modules

Added Daily Appointments report (with Excel export), Equipment Master, CUG Numbers directory, Modalities pricing.

Phase 5 — Branding & deployment

Full rebrand to match clinic identity. Login layer. Deployed to PythonAnywhere with custom URL.

Phase 6 — Notes + Calendar workflow

Built clinic-wide task/note system with priority colors, Complete/Reschedule workflow, and full audit history.

Phase 7 — Per-user accounts

Replaced shared password with 19 named user accounts. Forced password change on first login. Admin master key retained.

What This Project Taught Me

Skills Demonstrated

Backend

PythonFlaskSQLiteREST API designSQL schema designIdempotent migrations

Frontend

Vanilla JavaScriptResponsive CSSSingle-page UXLive data refreshModal & form designCalendar widgets

Data & Integration

Excel parsing (openpyxl)Bulk import & exportFuzzy name matchingAudit history

Security & Auth

Session managementPassword hashing (PBKDF2)Forced password rotationAdmin / user separation

DevOps & Deploy

PythonAnywhereWSGI configurationHTTPS / TLSZero-downtime reloads

Product Thinking

User interviewsIterative shippingScope negotiationDomain modelling
Inside the App

Selected Screens

🔍
Doctor Lookup

Autocomplete search with multi-location results & alternatives

⚙️
Manage Availability

Per-doctor cards with status, schedule editor, remarks

📋
Daily Appointments

Side-by-side location columns + Excel export

📅
Notes & Calendar

Priority-coded tasks with Complete & Reschedule workflow

🚐
Equipment Master

Tiered rental pricing for 45+ medical equipment items

📱
CUG Directory

91 internal contacts, click-to-call, grouped by location