Skip to content
Back
learnIT

An operational system, not a documentation site

learnIT is an onboarding and knowledge platform built around a real problem: a new Help Desk technician arrives on day one facing a university’s entire technology ecosystem, and the procedures they need are scattered across shared documents, a supervisor’s memory, and a message from six months ago.

Problem

The failure mode is drift, not absence

Help desks rarely lack documentation. What they lack is a way to tell which version is current. A procedure that was right last semester and is quietly wrong now is worse than no procedure, because someone will follow it confidently.

So the design centres on freshness: every record shows when it was last reviewed and by whom, every page carries a one-click “report outdated information” control that creates a real review item, and the admin console leads with what needs attention rather than with counts.

Architecture

Content is data, not components

Every article, training module, decision tree, quick response, and practice scenario is a typed record validated by a schema. Body content is a closed union of block types — steps, callouts, field tables, references — rendered through a switch, so adding a block type fails to compile until it is handled, and no HTML string ever enters the pipeline.

A build-time validator proves what types cannot: that every cross-reference resolves, that every troubleshooting graph is reachable and terminates, and that no public record links to internal content. A malformed decision tree fails the build rather than dead-ending a technician mid-call.

Access

The boundary is the repository

Pages never read content directly. They ask a repository and pass a viewer, and visibility filtering happens there — so a page that forgets to check still cannot leak internal documentation. Navigation hiding and edge middleware exist for polish; neither is load-bearing.

The public demo you can explore here runs the same screens and the same code as the internal application. The only difference is the viewer, and a build flag that strips internal content before role checks even run — so a demo sign-in cannot reach it either.

Identity

No invented login

learnIT has no password field and no user table. It defines an identity provider interface with a complete OpenID Connect implementation for institutional single sign-on, and a mock provider for development. Roles come from directory group membership, never from the client.

The environment configuration refuses to start a production deployment using mock authentication unless it is explicitly the sanitised public demo — and that opt-in additionally forces demo mode on.

Restraint

What was left out

No component library, because the visual identity is the point. No state manager, because server components and one context cover it. No ORM, because no database is required yet — and the file-backed content adapter gives procedures review and history through git, which is genuinely the right tool for documentation that must be checked before it changes.

And no AI. A confidently wrong answer about a security procedure is worse than no answer, and the premise of the whole system is that procedures are reviewed by people accountable for them. There are two places it would earn its keep later — semantic search, and authoring assistance — both noted in the roadmap.

About the content you will see

Everything in the demo is fictional. It was written from general IT support practice to demonstrate the content model, and it is not Adelphi University Help Desk procedure. No part of it derives from real tickets or internal documentation, and every external link is a placeholder.