Mathematics for everyone. Freedom to learn.
Try Asteria for free → asteria.enriquepl.com
Español · Create a free account · Share an idea or feedback · Self-host
Everyone should have the freedom and opportunity to learn mathematics. That is Asteria's purpose: a free, open-source place to explore, make mistakes, ask questions and build understanding at your own pace.
We want to make it easier to learn the universal language we use to describe the world. We believe that sharing knowledge and making it easier to understand helps us build, together, the society we deserve.
In Asteria, you learn by reading, experimenting and explaining your reasoning. Lessons connect to a skill tree, interactive laboratories and a private study notebook. The platform is built with Preact, Go, PostgreSQL and pgvector.
Contributions and feedback are welcome. Your experience as a learner matters: tell us where you got stuck, which explanation helped or what you would change. A correction, a translation or an idea can make the next person's journey easier.
The current study release focuses on Analytic Geometry I, Probability I and Descriptive Statistics, with 58 lessons across 11 units in English and Spanish, plus foundational lessons. The broader degree curriculum is a roadmap; other subjects are not complete courses yet. Asteria is an independent learning project, not an official university service.
These recordings use a local installation and a disposable demonstration account.
Topics connect to their foundations. Read the explanation and its sources before trying the activity.
Change inputs, inspect geometric or statistical behavior, and explain what changed. SVG and Three.js laboratories include guided practice and assessments.
Move a point along three axes and rotate the camera to distinguish its position from its projection.
Navy is the AI tutoring orb we are refining to offer personalized support throughout your journey in mathematics. It is not available to subscribe to yet. This recording shows a feature in development: Navy receives the current lesson and activity state, offers an authored contextual hint and adapts the board, with no model call.
Open-ended chat, voice and optional learner memory require configured providers. Model answers can be wrong; computational tools and verification gates support the tutor, and assistance is recorded separately from independent work.
Readings, laboratories, the skill tree, assessments and your notebook are available without a paid subscription. The planned optional 10 USD/month subscription includes Navy, your personalized AI tutor, and also helps pay for the servers that keep Asteria online. You do not need it to learn with Asteria.
| Plan on the hosted service | Status | Includes |
|---|---|---|
| Free | Available | Readings, laboratories, skill tree, assessments and private notebook |
| Optional AI tutor · 10 USD/month | Coming soon; in development | Personalized support from Navy, optional learning memory, and help covering server costs |
Creating an account does not start a subscription or require a payment card. Payments are disabled. Future checkout requires authenticated sessions, rate limits, server-validated Cloudflare Turnstile and a verified Stripe price. Running your own instance is permitted by the licenses; external API usage remains your responsibility.
Requirements: Docker with Compose and Python 3.
git clone https://github.com/clls1-stinger/asteria.git
cd asteria
python3 scripts/setup-local.py
docker compose up --build -dOpen http://127.0.0.1:8770 and create a free account. The core study experience works without AI API keys. See self-hosting for the owner account, optional integrations and deployment settings. Generated secrets stay in .secrets/, outside Git.
npm --prefix asteria/web ci
npm --prefix asteria/web run build
node --test asteria/scripts/*.test.mjs asteria/web/src/*.test.js
python3 asteria/scripts/probability-academic-closure.test.py
cd asteria/server
go test ./...Use the Go version declared in go.mod. Database integration tests additionally use ASTERIA_TEST_DSN with a disposable PostgreSQL database initialized from the supplied SQL. Never point test fixtures at student data.
| Directory | Purpose |
|---|---|
asteria/web |
Preact UI, local fonts, SVG and 3D labs |
asteria/server |
Go API, auth, grading, Navy harness and tool checks |
asteria/content |
Original lessons and bilingual course packs |
asteria/deploy |
PostgreSQL schema and initialization |
docs |
Installation, contribution guides and recorded demos |
Translations, clearer explanations, mathematical reviews and accessible activities are welcome. You can also share your experience and ideas. Read CONTRIBUTING.md and SECURITY.md.
Copyright © 2026 Emky and contributors. Code: AGPL-3.0-only. Original educational content, documentation and demo recordings: CC BY-SA 4.0. Third-party components retain their licenses; see NOTICE.md and THIRD_PARTY.md.
You may contribute, fork, self-host and charge for a service while complying with the applicable license. Keep attribution and notices; provide corresponding source when the AGPL requires it, including for users of a modified network service. A fork must not imply endorsement by the original project.



