Eye Line
Bilingual ophthalmology platform with a public clinic website and an internal scheduling dashboard
Eye Line is a full-stack healthcare web application built for clinic operations. It combines a trust-focused public website for patients with an internal dashboard used by staff to manage appointments, doctors, schedules, locations, services, and daily workflow.
Project type
Healthcare web platform + internal ops system
Role
Full-stack developer
Year
2025
Scope
Product structure, UX, frontend implementation, Supabase backend, auth, role-based workflows, scheduling logic




Summary
Built for
Private clinics and medical teams that need both a credible public web presence and an internal system for running day-to-day scheduling operations.
The problem
Clinic software often gets split across disconnected tools: one layer for presentation, another for appointments, another for staff coordination. That creates friction for employees and an inconsistent experience across the business.
Approach
Eye Line was shaped as a dual-surface product: a patient-facing website that communicates trust, services, doctors, locations, and booking entry points, paired with an internal dashboard where staff manage appointments, doctor availability, schedules, patients, rooms, and services.
Showcase story
Eye Line is not just a landing page and not just an admin panel. It is a connected clinic platform. The public side gives the brand a polished healthcare presence, while the internal side supports the operational reality of running appointments across roles, doctors, services, and locations.
The problem
Clinic software often gets split across disconnected tools: one layer for presentation, another for appointments, another for staff coordination. That creates friction for employees and an inconsistent experience across the business.
What I built
- A branded ophthalmology website with bilingual content and section-based navigation
- A login-protected internal dashboard for clinic staff
- Role-aware workflows for admin, employee, and doctor accounts
- Appointment management with calendar and table views
- Doctor schedule management with calendar, table, and card views
- Management modules for doctors, employees, locations, rooms, and services
- Analytics and dashboard statistics for operational visibility
- Supabase-backed authentication, database schema, and role-based access
Design decisions
Eye Line separates the public and internal experiences instead of forcing everything into one interface. The public side leans on a familiar healthcare visual language to build trust immediately, while the dashboard is structured around real operational entities — appointments, doctors, schedules, locations — rather than generic CRUD screens. Role permissions shape what each user sees, so admins, employees, and doctors get an interface suited to their actual responsibilities, not one bloated interface trying to serve everyone.
Under the hood
The architecture centers on operational consistency: appointments link to doctors, patients, services, hospitals, and rooms, and doctor availability is modeled through reusable schedule templates. Staff roles are enforced through Supabase auth and row-level security, while the frontend uses modular React sections for both the marketing site and the internal dashboard.
Why it matters
This project signals:
- Building industry-specific internal software
- Role-based operational UX
- Full-stack web products with real data structure and access rules
- Systems that connect brand presentation with staff workflow
Final positioning line
A bilingual ophthalmology platform that connects a patient-facing clinic website with an internal scheduling and operations dashboard.
Under the hood
Appointments are linked to doctors, patients, services, hospitals, and rooms, with doctor availability modeled through reusable schedule templates. Staff roles are enforced through Supabase auth and row-level security, and the frontend uses modular React sections for both the public marketing site and the internal dashboard.
React
Public website and internal dashboard interface
TypeScript
Type-safe application logic across both layers
Supabase
Auth, database, storage, and edge functions
Tailwind CSS + shadcn/ui
Design system and component layer
TanStack Query
Data fetching and sync for the dashboard
Recharts
Dashboard statistics and analytics visualizations
Related work

Cook Master
AI recipe generator for everyday cooking
Open showcase
James Lohan Mission Control
Internal operations platform for a multi-service engineering workflow
Open showcase
Lawsy
Editorial newsletter platform for modern legal minds
Open showcase
CarPark Locator
Cross-platform parking assistant for drivers
Open showcase
Busscotrade
Public B2B website + private internal CRM for invoices, receivables, inventory, payments, and reporting
Open showcase
Home Budget
AI-powered personal finance dashboard
Open showcase