Welcome to version v6.3.0 of Dereck's Notes. This release reshapes the user surface: a unified /account hub for comments / history / bookmarks / following / notifications, soft-deleted comments with a [DELETED] placeholder that keeps reply chains intact, public-profile bios and a Top Comments card, and toast-driven notifications in place of the navbar bell.
- Unified
/accounthub: a singleRecordListpowers the Comments / History / Bookmarks / Following / Notifications tabs, deep-linkable via?tab=. - Notifications go inline: the navbar bell is gone — new arrivals surface as toasts and live in
/account?tab=notifications. - Soft-deleted comments: deletions leave a
[DELETED]placeholder that keeps thread structure intact instead of vanishing the row, so replies aren't orphaned. - Public profiles: bio placeholder + Top Comments card on
/profile/[username], plus chip-style social-link buttons.
For the full changelog (including the rendering fixes, build-tooling migration, and other under-the-hood work), see NEWS.md.
- Next.js 15: App Router with React Server Components
- React 19: latest, with the new compiler
- TypeScript: strict mode
- MDX: blog posts, references, dictionaries, courses
- styled-components: themed CSS-in-JS
- WebGL: custom force-directed graph renderer for
/explore
- Express 5 on the Bun runtime
- SQLite + Drizzle ORM: type-safe queries and migrations
- Session auth: secure cookie-based
- NLP graph pipeline:
naturalfor tokenising, stemming, n-grams, and TF-IDF
- Docker: containerised deployment via GitHub Container Registry
- GitHub Actions: build, push, and deploy on release / manual dispatch
- Nginx: reverse proxy + Let's Encrypt termination
bun install # installs deps and wires native git hooks via the prepare script
bun run dev # client on :3000, server on :3001Other handy scripts: bun run format, bun run typecheck, bun run lint, bun run test, bun run build.
The pre-commit hook auto-formats with Prettier. If commits land without formatting, your hooks aren't wired, re-run bun install.
derecksnotes.com/
├── client/ # Next.js 15 frontend
│ └── src/
│ ├── app/ # App Router pages (blog, dictionaries, explore, references, ...)
│ ├── components/ # React components incl. mdx/, graph/, ui/
│ └── lib/ # graph simulation + WebGL renderer
├── server/ # Express 5 + Bun backend
│ └── src/
│ ├── db/ # SQLite + Drizzle ORM
│ ├── routes/ # API routes (auth, comments, graph, posts, search, admin)
│ └── services/ # graph builder, search index
├── shared/ # types shared between client and server
├── scripts/ # deploy + maintenance helpers
└── .githooks/ # pre-commit hook (auto-format)
- Knowledge Graph: visit /explore and drag a node, click one, search across the whole corpus.
- Dictionaries: biology, chemistry, mathematics — wikilinked entries with KaTeX/MathJax-rendered formulae.
- Comments & social: nested threads with Markdown Write / Preview tabs and new / top / best sort, plus @mentions, bookmarks, follow, reports, and toast notifications surfaced in
/account. Deletions leave a[DELETED]placeholder so thread structure survives. - Admin dashboard: user management, comment moderation, audit log.
- Interactive blog filter: by category, date, and search.
- Contributing — how to contribute
- Changelog — version history
- Scripts README — deployment + maintenance
Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0). See LICENSE.



