Inspiration

A changed appointment letter can contain both the old and new booking. Copying its first date into a calendar can preserve the wrong appointment. SlipSort is a proposed administrative review interaction for people checking an English appointment letter; it is not a diagnostic or treatment system.

What it does

SlipSort is a working macOS 14+ prototype that shows a selected local image alongside selectable OCR text and source boxes. Apple Vision recognizes the image. Explicit rules identify date, time and labelled location candidates. Changed-booking language, conflicting values, slash-date ambiguity or low recognition confidence prevent automatic selection. A person selects and checks the current details and explicitly chooses a time zone. Editing a field resets confirmation. Only confirmed, valid details can be exported as a new local .ics draft.

How it was built

The app uses Swift, AppKit, Foundation and Apple's installed Vision OCR model. Field extraction, date validation and calendar generation are conventional code. Codex assisted with implementation, debugging, test fixtures and packaging during the event window. The source and demo use authored synthetic English letters. No patient data, previous competition code or paid model service was used. The app has no network client, telemetry, accounts or Calendar access; this describes the implementation, not an operating-system sandbox guarantee.

What is working

Three synthetic images passed actual Vision inference checks. Eight portable core check groups passed, including invalid dates, daylight-saving ambiguity, confirmation invalidation, ICS injection protection and UTF-8 folding. The actual GUI was operated through editable fields, changed bookings, missing time, reset confirmation and saving an .ics file. The demo consists of five annotated captures of actual app states; it is not a continuous screen recording.

Testing instructions

On macOS 14+ with Apple's Swift toolchain and SDK, extract the supplied source ZIP and run ./script/build_and_run.sh --verify, followed by .build/debug/SlipSortChecks. The optional SlipSortProbe --evaluate command uses a new output directory and performs real local OCR on three visibly synthetic images. Choose Clear booking, Changed booking or Missing time in the GUI; compare the evidence, change a field and confirm that confirmation resets, explicitly choose a time zone, then save a new .ics filename. The app does not open that file in Calendar. XCTest was unavailable in the installed toolchain; no successful XCTest run is claimed.

Honest limitations

PNG/JPEG and limited English date/time patterns are supported. The prototype offers three time zones. Poor scans, handwriting, arbitrary layouts and other languages have not been validated. A manual correction is still a human responsibility. Recognition confidence is a model score, not a probability of correct care. No clinical validity, field accuracy, reduced missed appointments or time savings have been measured.

Deliverables

The attached submission ZIP contains the one-page project description, the complete code PDF, source ZIP, manifest and README. The linked 40-second unlisted demo contains five annotated captures of actual app states using synthetic letters. For build and testing instructions, see the source README and the instructions above.

Built With

  • appkit
  • apple-vision
  • codex
  • ocr
  • swift
Share this project:

Updates

Submission history