2026-08-15 08:57:17 -07:00
2026-08-16 13:52:55 -07:00

Heliosian

Web apps for the Helios school community (K-8), served as one static Go binary on Cloud Run. The first app is the school directory, "Helios Who?". Built in the open by community volunteers, mostly through coding agents; the repo contains no secrets and no real community data.

Quick start

brew install go
go run .

Open http://localhost:8080. That's the whole setup: with no configuration the server loads the fictional community in sampledata/, signs every request in as a sample parent, and fakes geocoding — no credentials, no cloud project. Templates, static assets, and sample data are read from disk on every request, so edit a file and refresh; nothing needs restarting.

brew install --cask google-chrome additionally enables the screenshot tooling used to verify visual changes (docs/screenshots.md). No Node, no Docker. Go 1.26 or later.

To run against real community data instead, see docs/dev.md.

Layout

  • main.go — entry point and app wiring
  • internal/auth — Google sign-in and session cookies
  • internal/data — tabular data sources: sample CSVs and Google Sheets
  • internal/directory — the directory app: model load, handlers, self-service edits
  • internal/blob — media from Google Drive, held in memory with thumbnails
  • internal/geocode — address → coordinates for the map
  • web/ — page templates and static assets (frameworkless JavaScript)
  • sampledata/ — the fictional community served by default
  • tools/ — dev tooling: screenshots, browser driving, sheet inspection
  • docs/ — everything below

Docs

  • goals.md — what this is and the principles behind it
  • dev.md — local development, including real-data mode
  • data.md — the directory data model and load pipeline
  • directory.md — the directory app spec
  • design.md — palette, typography, brand
  • pwa.md — installable-app wiring
  • screenshots.md — page capture for humans and agents
  • deploy.md — production deployment
  • plan.md — what remains to build
S
Description
No description provided
Readme
13 MiB
Languages
Go 43.5%
JavaScript 33.8%
CSS 13.6%
HTML 9%
Dockerfile 0.1%