Skip to content
ABCrimsonPublic

About

Scientific calculator & mathematical visualization platform. Next.js 16, React 19, TypeScript 6, WebGL/WebGPU, GraphQL, Cloudflare Workers.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

361 Commits

Folders and files

Repository files navigation

NextCalc Pro

Next.js React TypeScript CI License Deployed i18n Workers

What's New

Note

Current release: v1.5.2 — forum SSR now executes GraphQL in-process (no more "Post not found" streams), the admin profile renders its Architect tier, and the forum background became a compositor-only OKLCH aurora — on top of v1.5.1's hotfixes (avatars, comment upvotes, comment posting, Lorenz particles, ODE auto-fit, PDE 3D colormap) and the 2026-07 evergreen sweep. Full detail in CHANGELOG.md.

Evergreen bump (2026-08-27, unreleased): 63 dependency bumps landed post-v1.5.2 — Next.js 16.4 canary, TypeScript 7.1-dev (the native Go compiler now gates all 10 packages; the last two TS 6 holdouts migrated), Prisma 8.1 dev, Vitest 5 RC, pnpm 12 — with the full 4,550-test suite green.

Highlights
Category Improvements
Dependencies Next.js 16.4 canary, React 19.3 canary, TypeScript 7.1-dev native (all 10 packages), GraphQL 17, Apollo 5.5, Prisma 8.1 dev, Three.js 0.185-line, Biome 2.x, Turbo 2.10 canary, Vitest 5 RC, Wrangler 4.x, pnpm 12
Newest idioms TSL-compute Lorenz particles, GTAO SSAO, next-intl useFormatter, serwist 10, tagged-PDF export (modern-pdf-lib), modern-cmdk command palette
Lint sweep Biome 2.x — 2,222 warnings + 221 infos → 0 warnings (real fixes; only documented, principled overrides)
CI/CD Node 26, TypeScript 7 native typecheck gates all 10 packages (single job, no advisory track), gate green

Scientific Calculator & Mathematical Visualization Platform

49 pages · 8 languages · GPU-accelerated WebGL / WebGPU · Edge computing

Live Demo  ·  Quick Start  ·  Wiki  ·  Roadmap



Highlights

Scientific Calculator Full-featured calculator with expression history, LaTeX rendering, keyboard shortcuts, and statistical analysis panel.

2D / 3D Plotting GPU-accelerated function plotting with WebGL 2D, Three.js 3D surfaces, adaptive sampling, 9 colormaps, SSAO, and HDR cubemap themes.

Symbolic Math Computer algebra system with symbolic differentiation, integration (15+ rules), Taylor series, limits, and equation solving.

Algorithm Visualizations Interactive demos for Transformers, Zero-Knowledge Proofs, Quantum Computing, PageRank, Meta-Learning, and graph algorithms.

Edge Workers 3 Cloudflare Workers for sub-50ms global symbolic math, LaTeX-to-PDF export, and rate limiting via a SQLite-backed Durable Object.

8 Languages Full i18n with 1,500+ keys per locale (1,609 in en): English, Russian, Spanish, Ukrainian, German, French, Japanese, Chinese.


Architecture

graph TB
    subgraph Client["Browser"]
        A["Next.js 16 + React 19.3<br/>Tailwind CSS 4 + Radix UI"]
    end

    subgraph Vercel["Vercel Edge Network"]
        B["App Router + SSR"]
        C["GraphQL API<br/>Apollo Server 5.5"]
    end

    subgraph Cloudflare["Cloudflare Workers"]
        D["CAS Service<br/>Symbolic Math"]
        E["Export Service<br/>LaTeX to PDF / PNG / SVG"]
        F["Rate Limiter<br/>Durable Object"]
    end

    subgraph Storage["Storage Layer"]
        G[("Neon PostgreSQL<br/>Prisma 8")]
        H[("Upstash Redis<br/>Cache + PubSub")]
        I[("R2 Bucket<br/>Exports")]
        J[("Durable Object<br/>Rate Limits")]
    end

    A --> B
    A --> D
    A --> E
    B --> C
    C --> G
    C --> H
    D --> F
    E --> I
    F --> J
Loading

Tech Stack

Category Technology Version
Language TypeScript 7.1-dev native (all 10 packages)
Framework Next.js 16.4 canary
UI Library React 19.3 canary
Styling Tailwind CSS 4.3
Components Radix UI (unified) 1.7 rc
Animation Motion (motion/react) 13.x
State Zustand 5.0
Math Math.js 15.2
3D Rendering Three.js 0.185-line
LaTeX KaTeX 0.18
ORM Prisma 8.1 dev
Auth NextAuth + jose 5.0 / 6.2
GraphQL Apollo Server / Client 5.5 / 4.3
GraphQL spec graphql 17
Cache Upstash Redis 1.38
Workers Hono on Cloudflare 4.13
Build Turborepo 2.10 canary
Linting Biome 2.x
Testing Vitest + Playwright 5.0 rc / 1.63 alpha

Exact pinned versions live in each package's package.json.


Project Structure

NextCalc/
├── apps/
│   ├── web/                   # Next.js 16 frontend (port 3005)
│   ├── api/                   # GraphQL API (Apollo Server 5.5)
│   └── workers/               # Cloudflare Workers
│       ├── cas-service/       #   Symbolic math on the edge
│       ├── export-service/    #   LaTeX to PDF/PNG/SVG export
│       └── rate-limiter/      #   API rate limiting via Durable Object
├── packages/
│   ├── math-engine/           # Core math library (23 subpath modules)
│   ├── plot-engine/           # GPU visualization engine
│   ├── database/              # Prisma 8 shared package
│   └── types/                 # Shared TypeScript types
└── docs/                      # Documentation
apps/web — 49 page routes
app/[locale]/
├── algorithms/           # Algorithm hub + 10 sub-pages
│   ├── astar/            #   A* pathfinding
│   ├── crypto/           #   Cryptography (ZKP, differential privacy)
│   ├── dijkstra/         #   Dijkstra's shortest path
│   ├── graph-traversal/  #   BFS / DFS
│   ├── graphs/           #   Graph theory intro
│   ├── meta-learning/    #   MAML playground
│   ├── mst/              #   Minimum spanning tree
│   ├── pagerank/         #   PageRank with 3D spheres
│   ├── quantum/          #   Quantum computing sim
│   ├── transformers/     #   Transformer attention
│   └── zero-knowledge/   #   Zero-knowledge proofs
├── auth/signin/          # OAuth sign-in (GitHub, Google)
├── chaos/                # Lorenz attractor + bifurcation (WebGPU)
├── complex/              # Complex number operations
├── formulas/             # Formula library (70+ formulas)
├── forum/                # Community forum with GraphQL
├── fourier/              # Fourier analysis
├── game-theory/          # Nash equilibrium solver
├── gpu-lab/              # WebGPU simulation gallery
├── graphs-full/          # Full graph algorithm suite
├── learn/                # Interactive learning platform
├── matrix/               # Matrix operations
├── ml-algorithms/        # ML algorithm demos
├── pde/                  # PDE solver (heat, wave, Laplace) + 3D view
├── plot/                 # 2D/3D function plotter + relations + regression
├── practice/             # Practice problems + Infinite Drill
├── problems/             # Problem browser + number theory
├── profile/              # User profile
├── settings/             # User settings
├── share/[code]/         # Shared calculation pages
├── solver/               # Equation + ODE solver
├── stats/                # Statistics calculator
├── symbolic/taylor/      # Taylor series expansion
├── templates/            # Calculation templates
├── units/                # Unit converter
├── worksheet/            # Jupyter-like worksheet editor
└── worksheets/           # My Worksheets listing
packages/math-engine — 23 subpath export modules (key modules shown)
Module Description
parser/ Expression parser + evaluator
symbolic/ Differentiation, integration, simplification, series, limits
cas/ Computer algebra system
matrix/ Matrix operations, eigenvalues, decompositions
stats/ Statistics, distributions, regression
complex/ Complex number arithmetic
calculus/ Vector calculus, line/surface integrals
differential/ Differential equations
solver/ Algebraic + ODE equation solver
units/ Unit conversion engine
fourier/ FFT, IFFT, spectral analysis, Fourier series
graph-theory/ Graph algorithms (MST, topological sort, SCC, max flow, TSP, coloring)
game-theory/ Nash equilibrium, dominant strategies
prover/ Logic core + proof search
algorithms/ Sorting, searching, shortest paths (Dijkstra, A*), PageRank, crypto, ML
equivalence/ CAS answer-equivalence grading (checkEquivalence)
trace/ StepTrace — structured step-by-step solution steps
packages/plot-engine — GPU rendering pipeline
  • WebGL 2D Renderer — primary 2D backend with GLSL shaders
  • Three.js 3D Renderer — surface plots, parametric curves, SSAO, HDR cubemaps
  • WebGPU Compute — PDE/ODE solvers, bifurcation diagrams
  • Canvas 2D Fallback — software renderer for legacy browsers
  • 9 Colormaps — viridis, inferno, magma, plasma, cividis, coolwarm, spectral, turbo, rainbow

Quick Start

git clone https://github.com/ABCrimson/NextCalc.git
cd NextCalc
pnpm install
cp apps/web/.env.example apps/web/.env.local
# Edit .env.local with your credentials (see docs/SETUP.md)
pnpm dev
# Open http://localhost:3005

Prerequisites: Node.js >= 24.0.0 (CI runs Node 26), pnpm >= 12


Documentation

Document Description
DEVELOPMENT.md Developer guide, commands, and conventions
docs/ARCHITECTURE.md System architecture and design decisions
docs/SETUP.md Database (Neon) and OAuth (Google, GitHub) setup
docs/DEPLOYMENT.md Deployment guide for Vercel and Cloudflare
docs/ROADMAP.md Feature roadmap and backlog
CHANGELOG.md Version history
Wiki Full reference: API, math engine, database schema

Contributing

Contributions are welcome! Please read the Contributing Guide and our Code of Conduct before submitting a pull request.


License

MIT © 2025-2026 Albert Badalov

About

Scientific calculator & mathematical visualization platform. Next.js 16, React 19, TypeScript 6, WebGL/WebGPU, GraphQL, Cloudflare Workers.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages