DEV3 Technologies home

DEV3 Irisfold – Eye Clinic and Optometry Management SaaS with Online Booking (built on the ClinicPro engine)

An eye-clinic suite on Next.js and MongoDB, set like a printed optical chart: calendar-first booking, a lane ruler, exam records, optical stock, billing and a patient data-sheet portal, plus a themed iOS app source. Built on the DEV3 ClinicPro engine: the same features, a different design.
by DEV3 TechnologiesVerified Author(0) 0 sales 0 viewsUpdated 12 Nov 2026

Launch Offer: up to 50% off

This item is 50% off: $24.50 instead of $49

Ends in
--
Days
--
Hrs
--
Min
--
Sec

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.

How it's built

Architecture, stack, key decisions and the quality gates DEV3 Irisfold passed before release.

A precision design pack for the ClinicPro engine, made for optometry practices and eye clinics: optical blue, hairline grids, iris-ring art and a dense top-navigation admin across the website, admin panel and portal.

The problem it solves

Give an eye clinic a look that feels exact and clinical without a cold grey admin, and keep booking, records and billing behaving exactly as before.

Architecture and approach

A full design overlay on the pinned engine: its own tokens, bundled open-licence fonts, a code-drawn iris and lens art kit, a horizontal top navigation, ruled data tables with mono figures, a vertical lane ruler on the dashboard, an eye-chart sign-in sheet, a patient data-sheet portal, a calendar-first booking picker and CSS-only motion that respects reduced-motion settings. The backend is byte-identical to the engine, checked on every build.

Quality gates and results

  • Backend identical to the engine, verified by the guard on every build
  • Every list is a ruled, dense data table with crisp grid headers and mono figures
  • Text and button colours checked by script against the 4.5:1 contrast target in light and dark mode

Tech stack

Area Technologies
Frontend Next.js 15, React 19, Tailwind CSS 4
Backend Server Actions, Mongoose 9, next-auth 5

Inside the build

Hero rings: iris circles that come into focus above the next free slot Hero rings — iris circles that come into focus above the next free slot

Module grid: the core features set in one hairline-ruled sheet Module grid — the core features set in one hairline-ruled sheet

Guides & articles

Practical guides and engineering write-ups for DEV3 Irisfold.

A precise, optical-blue design for eye-clinic software

Last updated
A precise, optical-blue design for eye-clinic software: DEV3 Irisfold

Choosing eye care and optometry software is easy to demo and harder to live with. Here are 3 things to check before you pick a self-hosted system, with DEV3 Irisfold as the worked example. Irisfold is built on the DEV3 ClinicPro engine: the same features, a different design.

Video tour of Irisfold: the website, the dashboard and billing

The Irisfold home page

1. Why an eye clinic wants its own look

Optometry is a trade of measurements. Irisfold turns that into a visual language: a hairline grid, concentric iris rings, a Snellen letter band and numbers in a monospaced face, so the website and the admin feel exact before anyone reads a word.

Why an eye clinic wants its own look

2. Lanes on a vertical ruler

The dashboard lays the day on a vertical ruler: a notch for every visit, a long notch on the hour and one plain line per visit with the full name, lane and status. Below it, a joined grid of figures and ruled tables keeps the whole day dense and readable.

Lanes on a vertical ruler

3. Services as a spec sheet

Eye exams, contact lens fittings and myopia control are rows with a code, a duration and a starting fee, so patients can scan what to expect before they book.

Services as a spec sheet

Frequently asked questions

The complete source code (version 1.0.0) as a download from your account, with the setup and usage guides shown on this page. You can modify the code to suit your product.

Questions about this product (0)

Answers from the DEV3 team and the community.

Ask a question

No questions yet.

Wondering about setup, licensing or customisation? Ask, and the DEV3 team will help.

More from this author

View all

Related in Enterprise SaaS Starters

View all