Open source
Lorediv began with one idea: to back what is open, to give that work more room, and to stand with a community that improves it every day. This is the stack the project is built on.
Lorediv is open source, and everyone is invited to build it. Every formulation behind the tree — rank, energy, votes, reputation, trending, community and tags — is published under AGPL-3.0. The repository opens once the security review of the codebase is complete.
Below are the direct dependencies Lorediv stands on. These are their projects — maintained by their communities, released under their licenses, and available to everyone. We are grateful to every person who keeps them running.
For how these pieces fit together, see Architecture.
App
| Project | Where we use it | Why | License |
|---|---|---|---|
| Next.js 16 | The app. App Router. | Server rendering, streaming, and file-based routing in one framework. | MIT |
| React 19 | UI. react-dom ships with it. | The component model the whole frontend is built on. | MIT |
| tRPC 11 | The typed API between the browser and the server. | End-to-end type safety without code generation or schema sync. | MIT |
| TanStack Query | Client cache for those calls. | Manages fetch, cache, and invalidation for the tRPC client. | MIT |
| Zod 4 | Input validation. | Runtime validation that shares types with the tRPC layer. | MIT |
| Auth.js 5 | Sign-in. The Drizzle adapter stores the account. | Multi-provider OAuth with a single config. | ISC |
| Drizzle ORM | Queries. drizzle-kit generates the migrations. | A SQL-first ORM: typed queries over a thin layer on top of SQL. | Apache-2.0. The kit is MIT. |
| postgres.js | Driver for PostgreSQL. | Lightweight, fast, no dependencies. | Unlicense |
| PostgreSQL 16 | The database. | The relational engine. JSONB, full-text search, and proven reliability. | PostgreSQL License |
| ioredis | Client for the cache. | A mature, widely used Redis client for Node.js. | MIT |
| Redis 7 | The cache. | In-memory store for rate limits, sessions, and feed cache. | BSD (7.x). See the note below. |
| SuperJSON | Serializer for the tRPC payloads. | Handles Date, Map, Set, and other types that JSON does not preserve. | MIT |
| Tailwind CSS | Utility styles, next to CSS Modules. | Utility classes for rapid layout without leaving the markup. | MIT |
We run Redis 7 under the BSD license. Versions before 7.4 are BSD. Redis 7.4 to 7.x moved to RSALv2 or SSPLv1, and Redis 8 added AGPLv3 as a third option. If you fork this project and upgrade past 7.x, check which license applies to your use. Valkey (BSD-3) is an alternative.
Rendering and editing
| Project | Where we use it | Why | License |
|---|---|---|---|
| react-markdown | Renders topic and legal markdown. | The standard React markdown renderer. | MIT |
| remark-gfm | Tables, strikethrough, and GitHub markdown. | — | MIT |
| rehype-raw | Lets markdown keep raw HTML. | Parses raw HTML in the markdown AST so it can be sanitized. | MIT |
| rehype-sanitize | Schema for that HTML. | Sanitizes the HTML that rehype-raw parsed. Order matters: raw first, then sanitize. | MIT |
| DOMPurify | Strips unsafe HTML. | A second sanitization layer for embeds and oEmbed responses. rehype-sanitize handles markdown; DOMPurify handles external HTML. | MPL-2.0 or Apache-2.0 |
| highlight.js | Code colors in markdown. | — | BSD-3-Clause |
| Mermaid | Diagram fences in a topic, and diagrams on this site. | Text-to-diagram rendering for flowcharts, sequences, and more. | MIT |
| @mermaid-js/layout-elk | ELK layout for those diagrams. | Hierarchical layout engine for Mermaid. | MIT. Uses elkjs (EPL-2.0). |
| Argdown | The body of an argument topic. @argdown/core and the CodeMirror mode. | Maps argumentation structure — claims, support, attack. | MIT |
| CodeMirror 5 | The argument editor. | The editor for Argdown source. We use v5 because the Argdown mode was built for it. | MIT |
| React Flow | The graph editor. The package is @xyflow/react. | Interactive node-based editor for flow diagrams. | MIT |
| Frimousse | The emoji picker on a graph node. | — | MIT |
| clsx | Joins class names. | — | MIT |
This site
| Project | Where we use it | Why | License |
|---|---|---|---|
| Docusaurus 3 | These docs. | The docs framework — versioning, search, MDX, and sidebar out of the box. | MIT |
| MDX | The React runtime Docusaurus uses for markdown. | Lets us use React components inside markdown. | MIT |
| prism-react-renderer | Code colors in these docs. | — | MIT |
| docusaurus-search-local | The search box. | Offline search index — no external service needed. | MIT |
Tools
| Project | Where we use it | Why | License |
|---|---|---|---|
| Node.js 20+ | The runtime. | The server runtime for Next.js and all scripts. | MIT |
| TypeScript | The language of the app and these docs. | Type safety across the full stack. | Apache-2.0 |
| pnpm | Installs the workspace. | Fast, disk-efficient, workspace-native. | MIT |
| Turborepo | Runs the workspace tasks. | Task orchestration with caching for the monorepo. | MIT |
| ESLint | Lint, with eslint-config-next. | — | MIT |
| Vitest | Tests. | Fast test runner with native TypeScript support. | MIT |
| tsx | Runs TypeScript scripts. | Runs .ts files directly without a compile step. | MIT |
This list covers direct dependencies only. Their own dependencies carry their own licenses. If you spot a missing project or a wrong attribution, please let us know so we can fix it.