Education · Ballston Spa, NY

Creo Classical Academy

A K-12 School Site The Office Runs Without Us.

  • Family portal
  • Faculty portal
  • Office edits the site

The business

What they needed

A private K-12 classical school in Ballston Spa, NY, in the middle of an administrative changeover. Admissions, tour bookings, fee payments and applications all had to keep running while the people managing them changed.

The office needed to update the site themselves, without a developer, without a CMS subscription, and without any way to break the public site by accident.

What we built

The build, screen by screen

We built the public site at creoclassical.org, two password protected portals, and an admin panel the staff actually run. There is no database and no CMS. Every page's content lives as JSON in the repo, and the admin panel writes it back through a locked down GitHub proxy that only accepts changes to content and image folders, never to code or configuration.

creoclassical.org
The Creo Classical Academy home page from the top, on a desktop
The live home page, from the top. Hover or scroll to it to watch it run.
The Creo Classical Academy home page on a phone
On a phone
  1. Four phone screens from creoclassical.org: the three step admissions process, the Select a Tour Date card with a calendar link, the student application steps with the $35 fee, and the Fall 2026 tuition and fee table.

    From first visit to first payment

    A family can see how admissions works, pick a tour date, apply online and check tuition, all from a phone. Each step says what it costs and what comes next, so the office answers fewer of the same questions.

  2. The Creo Classical Academy homepage on a laptop with the Discover Our Programs banner over a photo of the school, and the Programs page on a phone.

    The public site

    The site looks like the school: their own building, classrooms and people, with programs, admissions, events, jobs and contact one tap from the menu. It reads well on a laptop in the office and on a parent's phone.

  3. The public family and faculty sign in screens on two phones, and the admin page where staff set the family portal welcome message, link, landing choice and password. The admin settings are demo data.

    Family and faculty portals

    Families and teachers each have their own sign in, checked on the server. Staff set the password, the welcome message and where people land after signing in, with no developer needed.

  4. The Creo admin dashboard on a laptop with tiles for Home Page, About Page, Events, Social Media, Images, Employment, FAQ and Admissions, and the events editor on a phone. Taken on a local test copy.

    The office edits the site

    The admin has a screen for each part of the site: home page, about, admissions, events, FAQ, jobs, fees, images, socials and both portals. Office staff make their own changes from a desk or a phone.

  5. The pay fees editor on a laptop showing a green Saved message that the site updates in about two minutes, next to a list of recent admin saves from the history, such as update pay fees, update family portal and update events.

    Every save is a commit

    When staff press save, the change is committed to the school's repo and the site rebuilds in about two minutes. Every save sits in the history with its date, so any change can be traced and put back.

The whole build

A save becomes a commit, the commit triggers a rebuild, and the rebuild publishes. Because every edit is a commit, the school's full edit history is its backup and any bad change can be rolled back. Portal passwords are checked on the server, and portal content is read live rather than baked in, so family and faculty updates show the moment they are saved.

Brand match

Built in their colors

Read straight off the live site: the logo where it sits, the colors by how much of the page they cover, and the type they set.

Logo

Creo Classical Academy logo, as it sits in the site header

Kept as they had it, at every size from the header to the phone menu.

Palette

  • #003d7aAccent
  • #ffffffBackground
  • #d1d5dbSurface
  • #4b5563Text

This page wears their accent too.

Type

The Creo Classical Academy headline, "Discover Our Programs", set in Playfair Display

Headlines Playfair Display · Body Inter

Connections

What it is wired to

The parts that do the work in the background, so the owner does not have to.

  • GitHubEvery save is a commit and a backup
  • Cloudflare PagesThe commit rebuilds and publishes
  • Family portalIts own login, checked on the server

Creo Classical Academy

creoclassical.org

  • Faculty portalA separate login and session
  • Admin panel15 screens the office runs
  • Live updatesPortal news shows the moment it is saved

By the numbers

What the site holds

Counted on the live site or in the build. No made up growth numbers.

  • 2PortalsFamily and faculty, each with its own server checked sign in
  • 15Public PagesAdmissions, programs, tours, fees, events, jobs, applications and more
  • 15Admin ScreensStaff edit every page, portal, image and setting themselves
  • NONEDatabaseContent is JSON in the repo, so there is no CMS bill and nothing to maintain
  • EVERY EDITBackupEach save is a commit, so any change can be traced and undone
  • 111Staff EditsUpdates made through the admin panel, no developer involved

Measured 10/2026, mobile Lighthouse

  • 100Best practice
  • 100SEO

Run on the live home page.

He stepped in and quite literally saved us during a significant administrative shift within our organization. He has the quickest turn-around on projects and response to inquiries of anyone we have ever worked with. And his design work? Beautiful.
Creo Classical Academy · Google review

Built with

  • Next.js 15
  • TypeScript
  • Tailwind CSS
  • Cloudflare Pages
  • Edge Runtime
  • GitHub API
  • Server-side Auth
  • JSON Content Model

Your site next.

Tell me about your business. I send a preview and one fixed price.