Colophon

The Name

The name "Apatosaurus" grew out of my distaste for the name of its predecessor, "Apparatus Explorer." That previous version quickly became misnamed as I added functionality to it so that it was much more than merely an app for visualizing a TEI apparatus. But it was also unwieldy to say or type. And it is boring.

So, "Apatosaurus" was chosen because it sounds like "apparatus," and it is a lot more fun to say! (For me, anyways). Plus, the taglines for an app named after a dinosaur write themselves.

Open Source

Apatosaurus is open source using the GPL-3.0 license. Even during its pre-launch development the repository was public and hosted on GitHub. Anyone can view the source code or run Apatosaurus locally on their own computer. This also means I am open to contributions. Check out the Public Apatosaurus Source Code Repository.

Front End Technology

  • HTMX for dynamic interactivity with the server and AJAX. I have strived to keep the Apatosaurus front end simple and maintainable for a single full stack developer (that'd be me). HTMX enables me to have the type of interactivity normally reserved for big frameworks like React and Vue without the overhead and complexity.
  • _hyperscript for front end scripting (toggling CSS classes, opening modals, etc.).
  • Tailwind CSS for styling. The overall feel of the light theme is meant to evoke the colors of parchment manuscripts. Light tan/yellow/peach parchment and brown ink that has a hint of red (not to mention lots of actual red in headings and marginalia). The dark theme is simply a custom design. I am very open to feedback to improve the design.
  • Font (for the nerds)
    • To prevent user tracking and protect user privacy, I am not using any Google fonts nor any other Google services.
    • Sans serif: Inter
    • Serif: Lora
    • Greek: Gentium Alt

Back End Technology

  • The main application is written in Python and uses the Django web framework.
  • Redis for caching and task queues.
  • huey (a lightweight Celery alternative) for long-running tasks and background tasks.
  • NGINX for reverse proxying and most of the static file delivery.
  • Postgres for the database.
  • Litestream for continuous replication of the SQLite database to AWS S3.
  • Docker: Apatosaurus is fully containerized and each of the above services runs in its own container(s). Local development is done using Docker Compose.
  • Docker containers are deployed to an AWS ECS cluster.
  • SSL by Cloudflare.