Oregon Project
What is the Oregon Project:
The Oregon Project Skills Tool digitizes The Oregon Project for Preschool Children who are Blind or Visually Impaired (Sixth Edition), a standardized developmental assessment framework used by early childhood educators, vision specialists, and therapists.
The tool helps professionals assess and track developmental progress across eight key domains for children ages 0-6: Cognitive, Language, Compensatory, Vision, Self-Help, Social, Fine Motor, and Gross Motor skills. It preserves clinically important notation that identifies skills typically developing later for blind children, enabling appropriate expectation-setting and intervention planning.
Professionals can select age-appropriate skill ranges, mark skills as the child demonstrates mastery, and generate reports categorizing abilities as "Skills Met" versus "Skills Not Yet Met." These reports support IEP documentation, parent communication, and interdisciplinary team coordination.
The tool replaces paper-based assessment workflows with a digital solution that improves consistency, accessibility, and record-keeping for this specialized population.
Tech Stack:
Two implementations exist serving different platforms and use cases:
iOS Application (oregon_project_skills_tool): A native Swift/SwiftUI app targeting iOS 15+. Uses MVVM-inspired architecture with Combine for reactive state management. Student records persist locally via UserDefaults with JSON serialization. Generates PDF reports using PDFKit and UIGraphicsPDFRenderer. Skills data loads from a bundled JSON file containing the complete inventory structure.
Desktop Application (oregon_project): A cross-platform Electron application built with Node.js. Generates interactive fillable PDF checklists using pdf-lib with encoded form field metadata. Parses completed PDFs to extract checkbox states and produces Word document reports using the docx library. Uses context isolation and preload bridge for secure IPC between main and renderer processes. Builds for macOS, Windows, and Linux via electron-builder.
Both applications share a common skills data structure organized hierarchically: categories, age ranges, optional subcategories, and individual skills with delayed-for-blind flags.
Disclosure: This project was built purely for personal use and education. The application and its systems are not deployed for public use, however code access can be requested.