Route Menu

All public routes on this site (kept in sync from lib/site.ts)

📄 Public Pages (20)

Home

/

Homepage

Visit →

Projects

/projects

Project listing

Visit →

Bemis Editor

/projects/bemis-editor

Edit Bemis scores easily

Visit →

Class Scheduler

/projects/class-scheduler

Schedule builder app

Visit →

Discord Reader

/projects/discord-reader

Read Discord files online

Visit →

GitHub Downloader

/projects/github-downloader

Download a GitHub sub-folder

Visit →

Keyboard Translator

/projects/keyboard-translator

EN-TH keyboard translator

Visit →

MIDI Player for Games

/projects/midi-player-for-games

MIDI playback tool

Visit →

Panel Splitter

/projects/panel-splitter

Split long images into panels

Visit →

About

/about

About keegang

Visit →

Contact

/contact

Contact page

Visit →

Donate

/donate

Support the site

Visit →

Status

/status

Service status

Visit →

Translation Status

/status/translation

Manga translation tracker

Visit →

Portfolio

/portfolio

Portfolio

Visit →

Resume

/resume

Resume

Visit →

Terms of Service

/tos

Terms of Service

Visit →

Privacy Policy

/privacy

Privacy Policy

Visit →

Route Menu

/menu

This page

Visit →

Login

/login

Sign in

Visit →

🔐 Account Pages (3)

These pages require you to be signed in (the admin console also requires the admin role).

Profile

/profile

Your profile

Visit →

Settings

/settings

Account settings

Visit →

Admin Console

/admin

Admin only

Visit →

⚙️ Dynamic / Internal Routes (4)

Not ordinary pages — listed here for reference. No direct link.

Public Profile

/u/[uid]

Public profile of a user (e.g. /u/<firebase-uid>)

DYNAMIC

File Viewer

/f/[...path]

Embeds a file served by the API (e.g. /f/get/...)

DYNAMIC

API: MangaDex Manga Data

/api/mangadex/manga/[id]

Server-side proxy for api.mangadex.org (cached 24h)

DYNAMIC

API: MangaDex Cover Images

/api/mangadex/covers/[id]/[filename]

Server-side proxy for MangaDex covers (cached 7d)

DYNAMIC

📊 Summary

20
Public Pages
3
Account Pages
4
Dynamic / Internal
27
Total Listed