Irisfold is an eye care and optometry management suite that you host yourself, built by DEV3 Technologies on Next.js 15 (App Router and Server Actions) and MongoDB. Built on the DEV3 ClinicPro engine: the same features, a different design. The look is a printed optical chart: an optical-blue hairline grid, concentric iris rings that sharpen as you scroll, a Snellen letter band and monospaced figures, all drawn in code with no photographs.
What the pages look like
- Home page. An iris-ring hero beside the headline "See every appointment in sharp focus", a floating "Next free slot" tag, a Snellen band divider, a joined grid of module cells and a ring-step process strip. The header call to action reads "Book a visit".
- Services as a spec sheet. Eye exams, contact lens fittings, myopia control, dry eye assessments, glaucoma screening and retinal imaging sit in a table with a code, a duration and a starting fee, each beside a small line-drawn motif.
- Booking. The calendar comes first: the patient picks a day on a week view, then a free slot, then confirms. A reminder goes out the day before through your own mail settings.
- Sign in. The form sits beside a framed eye-chart: four chart lines from a huge E down to LPED, each carrying one benefit and its acuity ratio (20/200 down to 20/20). The chart copy is written for optometry and translated into Arabic, Hebrew and Spanish.
What the admin looks like
- Numbered top tabs replace the side rail, with a tick strip under them like the edge of a ruler. Phones get a drawer.
- Dashboard. The day is a vertical lane ruler: a notch per visit, a long notch on the hour, one plain line per visit with time, full name, lane and status, and a marker for now. Beside it, a joined stat grid and ruled tables.
- Lists (patients, appointments, billing, stock) are dense ruled tables with mono figures and a hairline toolbar.
- Patient record. A facts grid across the top (MRN, age, blood group, phone, insurer), then visits, prescriptions, diagnostics and invoices as ruled sections.
- Settings use a numbered vertical index, one section per number.
- Dark theme. Deep navy (#060C1F) with the same grid; brand blue becomes a lighter link colour so text keeps its contrast.
What the patient portal looks like
A printed data sheet. A record plate on top, a readings column (next visit, balance due, prescriptions in 90 days) beside a lens gauge whose rings count recent prescriptions, results as a numbered ruled table with PDF links, and a four-line numbered index for booking, paying, lab reports and visits. The demo patient always has an upcoming booked visit and a completed one. On a phone the same sheet stacks above a five-tab bar.
Demo content
Three fictional sites: Halden Vision Clinic (Lisbon, EUR), Marbeya Eye Centre (Dubai, AED, Arabic) and Corwin Optics and Eye Care (Albany, USD, 14-day trial). Lanes 1 and 2, an optometrist and an ophthalmologist, an optical dispensary role and a diagnostics technician. Patient names are Mediterranean (Greek, Italian, Croatian) and about 20% of demo patients are children with a parent as emergency contact. Team memos are optical: phoropter calibration, contact lens trial stock, dilated-eye driving advice and a glaucoma recall list.
Design system
Space Grotesk headings, Inter body and JetBrains Mono data, bundled with their open licence files. 4 px corners, 1 px rules, an amber accent (#FFB000) on optical blue (#1F5BFF), flat fills and CSS-only motion that stops under reduced-motion settings. English, Arabic, Hebrew and Spanish with right-to-left layouts.
What you should know before buying
- Same engine as the original ClinicPro. Features, database schema and APIs are identical across the design family. Choose Irisfold for its look, not for different functionality.
- Demo patients, diagnoses and prescriptions come from the shared engine and are general medicine; ages are set for eye care (about 20% aged 0-17, 25% aged 18-44, 55% aged 45-85; 56% women). Your own data replaces them after install.
- Email, card payments and file uploads need your own providers (SMTP, Stripe and an image host). Without them the app runs and logs outgoing mail.
- Needs Node.js 20.9 or newer and MongoDB 5 or newer.
Publishing the iOS app
The download also contains iOS-App/: a native SwiftUI app (iOS 17 or newer, Xcode 26 or newer) for patients and staff, wearing the Irisfold colours (optical blue to deep blue, Space Grotesk), with a public website shell when signed out and an admin console when signed in. It talks to the web app through its /api/mobile layer. It was built and checked in the iOS simulator only. Before a store release you set your own bundle id, Team ID, URL scheme and server domain in Config.xcconfig, add your own signing and icons review, and submit it under your Apple Developer account. App Store review is Apple's decision and is not part of this product.
Included
Source code, a web installer that can load demo sites, a buyer guide, a Docker setup, cron configuration, the iOS source and six months of support.