Software Engineer
Led the ground-up architectural rewrite of the web application and core Learning Management System (LMS) integrations for an EdTech plagiarism detection platform, integrating deeply with Canvas LMS and Google Classroom via LTI standards.
Overview
As a software engineer on Checkmark Plagiarism platform services, I was brought in to lead a comprehensive modernization of the user-facing web application and re-architect the integration interfaces that connect educators, students, and grading workflows directly into existing Learning Management Systems (LMS).
Educational institutions rely heavily on centralized classroom hubs like Canvas LMS and Google Classroom. For a plagiarism verification and writing feedback tool to achieve adoption, it cannot exist as an isolated silo requiring teachers to manually export student papers or copy grades back and forth. It must be embedded seamlessly directly into the educator's existing grading rubrics and assignment portals.
Core System Objective: Eliminate manual teacher exports by engineering standard-compliant LTI 1.3 Advantage deep-linking workflows, allowing instant in-classroom document scanning, grading writebacks, and roster synchronization.
LTI 1.3 Advantage Protocol Flow
[ Canvas LMS Assignment Portal ]
│
▼ (1. OIDC Third-Party Launch Request)
[ Checkmark Authentication Gateway ] ──► [ JWKS Public Key Validation ]
│
▼ (2. Validated Signed State Token)
[ Embedded Review Application ]
│
┌───────┴───────────────────────┐
▼ ▼
[ Canvas Gradebook Sync ] [ Google Docs Drive Fetch ]
(AGS Assignment Service) (OAuth 2.0 REST Endpoint)
Problems I Worked On
→ Learning Management System (LMS) Modernization via LTI 1.3
The prior iteration of the platform suffered from brittle custom API scripts that required complicated, school-by-school manual API key distribution and frequent re-authentication prompts that disrupted classroom instruction.
| Integration Channel | Standard / Protocol | Authentication | Educational Capabilities |
|---|---|---|---|
| Canvas LMS | LTI 1.3 Advantage | OIDC + Signed JWT (JWKS) | Assignment Deep Linking, AGS Grade Sync, NRPS Rosters |
| Google Classroom | Google Workspace API | OAuth 2.0 Service Account | Drive Document Fetch, Roster Sync, Assignment Annotations |
| Direct Web Portal | Next.js + Laravel REST | Sanctum Session Auth | Standalone Teacher Review, Student Resubmission Hub |
- The standard: I engineered a standards-compliant integration suite built upon the 1EdTech LTI 1.3 (Learning Tools Interoperability) Advantage specifications, leveraging OAuth 2.0 with JSON Web Tokens (JWT) and OpenID Connect (OIDC) third-party launch flows.
- Deep integration: Designed support for Canvas Assignment and Grade Services (AGS) and Names and Role Provisioning Services (NRPS). This permitted teachers to launch the plagiarism inspection workspace from directly inside Canvas assignments, while automated webhooks submitted similarity reports back to the instructor gradebook without manual export steps.
- Google Classroom integration: Built dedicated Google Workspace and Classroom OAuth pipelines allowing teachers to synchronize class rosters, fetch student Google Docs submissions directly from Drive, and deliver inline grading annotations securely.
→ Full-Stack Architecture Rewrite
The legacy web application was built on disparate outdated scripts with severe state synchronization problems and inconsistent UI paradigms.
| Metric / Dimension | Legacy Web Application | Modern Rebuilt Platform |
|---|---|---|
| Frontend Stack | Procedural jQuery & vanilla PHP | React 19, Next.js, and TailwindCSS |
| State Management | Global DOM state mutations | Predictable React Hooks & optimistic UI updates |
| Report Rendering | Multi-second synchronous page reloads | Instant sub-second similarity side-by-side view |
| District IT Setup | Manual secret configuration per school | One-click LTI 1.3 deployment across entire district |
- Rebuild strategy: Transitioned the entire frontend interface to a modern React / Next.js and TailwindCSS architecture backed by a clean Laravel RESTful API backend.
- Teacher & student portals: Designed a distraction-free, accessible review interface that presents plagiarism scan results, source matching side-by-side comparisons, and AI text indicators with sub-second response times.
- School district deployment: Hardened security, session management, and rate-limiting controls to ensure compliance with student privacy expectations across major K-12 school districts.
Selected Achievements
- Complete Modernization: Rebuilt the entire legacy web application into a high-performance Next.js and Laravel application, dramatically improving page load speeds and overall educator satisfaction.
- Standardized LTI 1.3 Advantage Implementation: Replaced fragile manual key distribution with industry-standard LTI 1.3 / OIDC launch authentication, making onboarding seamless for district IT administrators.
- Direct Canvas & Google Classroom Interoperability: Enabled two-way synchronization of assignments, student roster permissions, and automated gradebook write-backs.
Technical Challenges
Navigating Strict Cross-Origin Cookie Policies in LMS iFrames
LTI tools run inside <iframe> contexts embedded within the school's LMS domain (e.g. canvas.instructure.com). Modern browser privacy restrictions (such as Safari ITP and Chrome third-party cookie phase-out) prevent traditional session cookies from transmitting in cross-origin frames. I implemented a stateless OIDC launch handshake using cryptographically signed state tokens and client-side storage fallbacks to ensure teachers never experienced unexpected authentication dropouts.
Asynchronous Similarity Analysis at Scale
Submitting entire student essay collections during assignment deadlines creates immediate traffic spikes. We isolated document tokenization, text normalization, and similarity comparison jobs onto dedicated queue workers, providing educators with real-time progress indicators via WebSocket channels rather than blocking active HTTP connections.
What I Learned
- Adopting open industry standards beats building proprietary connectors. Building to LTI 1.3 required upfront protocol investment, but instantly made the software compatible with any compliant LMS without writing custom code per district.
- Third-party cookies in iframes are dead. Any modern embedded application must be designed from day one to operate without relying on cross-site session cookies.
- Frictionless educator UX is paramount. In classroom settings, teachers do not have time to troubleshoot sync failures; if a tool requires more than one click to view a student's submission report, adoption quickly plummets.