Skip to content

bluelearn-org/bluelearn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

BlueLearn

BlueLearn

Free knowledge, structured from the ground up.
A nonprofit, open-source education platform where every concept maps to its prerequisites.

CI Code: AGPL-3.0 Content: CC BY-SA 4.0 Discord Stars Forks Contributors PRs welcome Homepage

What is it Β· Overview Β· Quick start Β· Layout Β· Stack Β· Roadmap Β· Contributing Β· Sponsor


πŸ“š What is BlueLearn

Most "free" knowledge online is organized for retrieval, not for learning. You can look up what a Fourier transform is on Wikipedia in 30 seconds. Actually learning it without a class? That's a week of figuring out what to read first.

BlueLearn is a graph of concepts where every page declares its prerequisites. Hit a term you don't know? The prerequisite is one click away. Community-written, optionally expert-verified, AGPL-3.0, free forever.

This repository is the product monorepo: web client, API, and database. The marketing site is closed-source.

πŸ’¬ Join the Discord β†’ Β· 🌐 bluelearn.org β†’ Β· πŸ“Ί YouTube β†’


πŸŽ₯ Watch the overview

A 23-minute walkthrough of what BlueLearn is, why it's nonprofit, and how the prerequisite graph changes how you read a concept page.

BlueLearn β€” 23-minute overview


πŸš€ Quick start

You'll need Node.js 20+, pnpm 10+, the Supabase CLI, and Docker (for the local Supabase stack).

# 1. Clone and install
git clone https://github.com/bluelearn-org/bluelearn.git
cd bluelearn
pnpm install

# 2. Start local Supabase (Postgres + Auth on docker)
pnpm supabase:start

# 3. Copy env files and fill in the values supabase printed
cp api/.dev.vars.example api/.dev.vars

# 4. Run app + api side-by-side
pnpm dev:api          # Workers dev   β†’ http://localhost:8787
pnpm dev:app          # Vite dev      β†’ http://localhost:3000

The Vite dev server proxies API calls to localhost:8787, so the browser sees one origin and you don't have to fight CORS.

πŸ’‘ Tip: pnpm dev runs both app and api in parallel through pnpm workspaces.


πŸ—‚οΈ Project layout

bluelearn/
β”œβ”€β”€ app/             React 19 Β· TanStack Start Β· TanStack Router/Query
β”‚                    shadcn/ui Β· Tailwind 4 Β· Vite
β”œβ”€β”€ api/             Hono on Cloudflare Workers
β”‚                    Routes: /subjects Β· /walkthroughs Β· /guides
β”œβ”€β”€ supabase/        Postgres Β· Auth Β· Storage β€” migrations + RLS policies
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ architecture.md      System overview + diagram
β”‚   β”œβ”€β”€ monorepo.md          Why one repo instead of three
β”‚   β”œβ”€β”€ overall-system.md    Editorial pipeline + verifier design
β”‚   β”œβ”€β”€ database-schema.md   ERD walkthrough
β”‚   └── open-questions.md    Active design debates
└── .github/
    β”œβ”€β”€ workflows/ci.yml     app + api in parallel
    β”œβ”€β”€ ISSUE_TEMPLATE/      bug Β· feature Β· guide proposal
    β”œβ”€β”€ PULL_REQUEST_TEMPLATE.md
    β”œβ”€β”€ CODEOWNERS
    └── FUNDING.yml

Why a monorepo? See docs/monorepo.md β€” short version: atomic cross-stack changes, one CI, one onboarding flow, type-safety end-to-end via Hono's hc<AppType>.


πŸ› οΈ Tech stack

Layer Tech Why
Frontend React 19 Β· TanStack Start Β· TanStack Router/Query Β· shadcn/ui Type-safe routing, cache-aware data, accessible primitives
API Hono on Cloudflare Workers Β· @hono/zod-validator Edge-fast, tiny, type-safe end-to-end with the frontend
Database Supabase (Postgres 15 Β· GoTrue Auth Β· Storage) Managed Postgres + RLS, JWT auth, file storage in one
Tooling pnpm workspaces Β· TypeScript Β· ESLint Β· Prettier Β· Vitest One install, one CI, one style
CI/CD GitHub Actions (parallel jobs per package) Fast feedback, easy to extend
Wire types Hono AppType exported from api/src/index.ts hc<AppType> gives the frontend full request/response types

Phase 3 R&D (bonus, not required)

Decentralized editorial verification: signing the canonical concept history into a verifiable log. Tools under exploration: SUI Β· Move Β· Walrus. Skills welcome from contributors interested β€” these are not on the Phase 1 critical path.


🧭 Roadmap

Phase Status Focus
1 🟒 Active The Core β€” data model, graph traversal, basic UI, community seed
2 βšͺ Next Universal Access β€” i18n, expert verification tooling, API formalize
3 βšͺ Future Decentralization β€” protocol extraction, self-host, independent mirrors

Full roadmap: bluelearn.org/pages/roadmap.html


🀝 Contributing

Small project, tight loop. New contributors land their first PR within a day on a good week. CONTRIBUTING.md is the full guide.

The shortest path:

  1. Find a good first issue or open one.
  2. Comment that you'd like to take it.
  3. Set up locally and open a draft PR early.
  4. Ping #contributing on Discord anytime.

What we're hiring for (the contribution profile)

Frontend β€” TypeScript proficiency, React, TanStack ecosystem (router + query), UI/UX sense. Backend β€” TypeScript on Workers (Hono), Supabase / Postgres, RLS familiarity. Generalist bonus skills β€” accessibility, i18n, performance budgets. Phase 3 R&D bonus β€” web3 smart contracts (SUI, Move), Walrus storage.


πŸ“ˆ Star history

Star history chart

πŸ‘₯ Contributors

Thanks to everyone who has helped shape BlueLearn.

Contributors

πŸ’› Support the project

BlueLearn is fiscally sponsored β€” 501(c)(3) pending. Every dollar funds infrastructure (Supabase, Cloudflare, Discord), editorial review, and making content available offline in low-bandwidth regions.

  • One-time / recurring donation β†’ bluelearn.org/donate
  • GitHub Sponsors β†’ coming once the org is live
  • Help in other ways β†’ star the repo, share the project, open an issue, send a PR

πŸ“Š At a glance

Stars Stars
Forks Forks
Open issues Issues
Open PRs PRs
Discord members Discord

πŸ“œ License

  • Code β€” AGPL-3.0-or-later. Any service that exposes this code over a network must publish its source.
  • Content β€” CC BY-SA 4.0. Concept pages and editorial material remix freely with attribution and share-alike.

By contributing you agree your work is licensed under the applicable license above. See CONTRIBUTING.md for sign-off details.

Built openly Β· bluelearn.org Β· Discord Β· GitHub

About

The open-source platform for learning any concept.

Resources

License

AGPL-3.0, Unknown licenses found

Licenses found

AGPL-3.0
LICENSE
Unknown
LICENSE-CONTENT

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors