ClassHost
From Classroom to the World Wide Web
Built by Eldrex Delos Reyes Bula
What Is ClassHost?
ClassHost is a mobile-first web publishing platform built for students. It eliminates every barrier between finishing an HTML project and seeing it live on the internet. No Git. No terminal. No hosting knowledge. No payment.
A student uploads their files. ClassHost handles everything else. Seconds later, their website is live.
The Problem
Every semester, thousands of IT and computer science students in the Philippines learn HTML, CSS, and JavaScript. They build portfolios, landing pages, calculators, and research project sites. They finish their code. And then they stop.
Their websites never leave their laptops.
The deployment gap exists because the traditional path from "finished code" to "live website" requires knowledge that isn't taught in introductory courses. Git. GitHub repositories. Commit messages. Push commands. GitHub Pages configuration. DNS records. Deployment pipelines. These are second-year or third-year topics, but website deployment is needed in the first semester.
Students are left with two options: learn infrastructure before they're ready, or never publish their work.
Most never publish.
The Solution
ClassHost reduces the deployment process to its simplest form.
A student signs in with their GitHub or Google account. They upload a ZIP file — or individual HTML, CSS, and JavaScript files. They tap one button.
ClassHost creates the repository, uploads the files, enables GitHub Pages, waits until the site is actually live, and returns the URL.
What takes an experienced developer five minutes of terminal commands takes a ClassHost student one tap and a brief wait while GitHub activates their site.
How It Works
ClassHost is a Progressive Web Application that runs entirely in the student's browser. There is no backend server handling user data. There is no database storing website files. There is no intermediary between the student and their GitHub account.
When a student deploys:
- Files are validated in the browser — file types, sizes, and structure
- A repository is created on the student's GitHub account via the GitHub API
- Files are committed directly to that repository
- GitHub Pages is enabled
- ClassHost polls the site URL until it returns a successful response
- The live URL is presented along with a QR code
The student's files live on their own GitHub account. ClassHost never stores them, never copies them, never intermediates them. The platform is a bridge, not a warehouse.
What Students Can Do
Deploy
Upload a ZIP file or select individual files. ClassHost validates everything, deploys to GitHub Pages, and returns a live URL. Updates are just as simple — upload new files, and ClassHost commits the changes.
Import Existing Repositories
A student who already has a website on GitHub can import it into ClassHost with one click. ClassHost analyzes the repository, enables Pages if needed, and adds it to their dashboard. Existing code is never modified without permission.
Edit Files
A full file browser and code editor is built into the platform. Students can create folders, add files, rename, delete, and edit — all from their phone or desktop. The editor provides syntax highlighting for HTML, CSS, JavaScript, and Markdown. Changes are committed with optional messages and deployed automatically.
View Code
For public projects, ClassHost provides a fullscreen code viewer that mirrors GitHub's repository layout — file tree, commit history, and syntax-highlighted file views. A "View on GitHub" button is always visible, encouraging students to explore the platform that powers their site.
Control Visibility
Every project has three visibility settings. Private projects are visible only to the owner. Unlisted projects are accessible to anyone with the link but don't appear in public galleries. Public projects appear in the ClassHost gallery for other students to discover, like, bookmark, and remix.
Remix Projects
Students can remix each other's work. A remix creates a copy of the project on the remixer's GitHub account with automatic attribution to the original author. Project owners control whether their work can be remixed — with required attribution, freely, or not at all. Remix relationships form a tree that visualizes how projects evolve and inspire each other.
Manage Their Data
Every user has complete control over their information. Display names are editable. School affiliations are optional and removable. Full data export is available in machine-readable JSON. Account deletion removes all ClassHost metadata within 48 hours while leaving GitHub repositories untouched.
What Educators Can Do
Create Classrooms
Teachers create classrooms with a name, optional school affiliation, and customizable settings. Each classroom gets a unique 6-character code. Students join by entering the code, scanning a QR code, or clicking an invitation link.
Create Activities
Each classroom contains activities with configurable due dates, file type restrictions, size limits, and visibility rules. Teachers can provide starter templates, force unlisted visibility during grading periods, and enable or disable remixing for assessment projects.
Track Submissions
The submission dashboard shows every student's status — submitted, pending, late, or missing. Teachers can view live previews of student work, open projects in new tabs, and bulk export submission URLs as CSV.
Grade and Provide Feedback
Teachers can assign grades and written feedback to each submission. Grade visibility is configurable: hidden until all are graded, shown immediately, or hidden entirely. Students see only their own grades.
Contribute Templates
Educators can upload templates to the ClassHost template library — starter projects that students can deploy with one tap. Templates are reviewed, categorized, and attributed to their creators.
The Gallery
Public projects appear in the ClassHost gallery, a browsable collection of student work organized by category: portfolios, research pages, creative projects, class activities, games, and more.
The gallery is not an engagement-optimized feed. There are no algorithms tracking behavior. Projects are sorted by recency and category. Students discover each other's work, find inspiration, and learn from real code written by peers at their level — not polished professional examples that feel unattainable.
Privacy by Design
ClassHost's architecture is its privacy policy.
The platform collects only what is necessary for functionality: a GitHub username for repository creation, an optional display name for gallery attribution, an optional school name for educational context. Website files are stored on the student's GitHub account — ClassHost never touches them. Authentication tokens live in browser memory only and expire when the tab closes. There are no tracking cookies, no analytics scripts, no advertising SDKs, and no third-party data sharing.
The platform complies with the Philippine Data Privacy Act (RA 10173), the EU General Data Protection Regulation, and the California Consumer Privacy Act. A complete data inventory is published publicly. Every user can export all their data. Every user can delete their account and all associated metadata.
Privacy is not a feature. It is the consequence of an architecture that never collects unnecessary data in the first place.
Security
ClassHost's security model is defined by what does not exist.
There is no server-side session management — no session hijacking. There is no user database with passwords — no credential leaks. There is no file storage — no file breach. There is no admin panel — no privilege escalation. There is no payment processing — no financial data exposure.
Authentication uses OAuth 2.0 with PKCE (Proof Key for Code Exchange) for GitHub and OpenID Connect for Google. Tokens are stored in JavaScript closure variables — not localStorage, not sessionStorage, not cookies. A strict Content Security Policy prevents cross-site scripting. Frame ancestors are denied to prevent clickjacking. HTTPS is enforced with HSTS preload.
When the gallery backend is introduced, it stores only project metadata — titles, descriptions, URLs, remix relationships. No files. No personal information beyond what students explicitly choose to make public.
A responsible disclosure policy is published. A security contact is available. Incidents are disclosed publicly and never hidden.
On-Device AI Assistant
ClassHost includes an AI assistant that runs entirely on the student's device. No code is sent to a server. No API keys are required. No internet connection is needed after the initial model download.
The assistant uses open-source language models running locally via WebAssembly and WebGPU. It can explain selected code, identify issues, suggest improvements, check semantic HTML, scan for accessibility problems, and review responsive design.
Device capability is detected automatically. Students whose devices support local AI can download the model — starting at 50 MB for basic functionality, up to 500 MB for advanced code analysis. Students whose devices don't meet the requirements see a clear explanation of what's needed. The feature is optional. The model can be deleted at any time.
The assistant is designed for learning, not generation. It explains code; it doesn't write assignments. It finds issues; it doesn't fix them automatically. It teaches; it doesn't replace the teacher.
Custom Domains
For students ready to move beyond username.github.io URLs, ClassHost supports custom domains. Integration with Vercel allows students to connect domains they own, configure DNS through step-by-step guides, and receive automatic SSL certificates.
DNS verification is built into the platform. Registrar-specific instructions cover Namecheap, GoDaddy, Google Domains, Cloudflare, Porkbun, and others. Students learn how DNS works — CNAME records, A records, propagation — through guided setup rather than documentation alone.
Custom domains are optional. The default GitHub Pages URL remains free and fully functional. Custom domains are an educational step forward, not a required upgrade.
Documentation
Complete documentation lives at a dedicated, publicly accessible site built with Next.js and MDX. It contains guides for every feature, legal documents, safety information, platform transparency, honest limitations, and key content translated into Filipino.
The documentation is open to community contributions. Anyone can suggest improvements or report issues through the official repository.
Who Builds ClassHost
ClassHost is designed, developed, and maintained by Eldrex Delos Reyes Bula.
The platform is built for Philippine education — for the student who understands HTML and CSS but has never opened a terminal, for the teacher managing forty submissions across multiple sections, for the classroom where mobile phones outnumber laptops.
The Philosophy
ClassHost exists because deployment should not be the hardest part of learning web development.
A student who writes their first HTML page should be able to share it with the world in the same class period. A teacher who assigns a portfolio project should be able to collect submissions without teaching Git first. A classroom in Navotas should have the same publishing capability as a coding bootcamp in San Francisco.
The web was built on the idea that anyone can publish. ClassHost makes that idea real for students who are just beginning.
ClassHost — From Classroom to the World Wide Web.