HarryStevens

HarryStevens/geometric

JavaScript MIT Dev Tools

A JavaScript library for doing geometry.

1.1k stars
52 forks
recent
GitHub +1 / week

1.1k

Stars

52

Forks

0

Open issues

6

Contributors

v3.0.9 19 Jun 2026

AI Analysis

Geometric.js is a lightweight JavaScript library for performing computational geometry operations on points, lines, polygons, and angles using plain arrays as data structures. It serves developers who need geometry utilities for visualization, data visualization, or spatial calculations in web and Node.js environments. It is specialized for 2D geometry work rather than general-purpose programming.

Dev Tools Library Discovery value: 6/10
Documentation 9/10
Activity 8/10
Community 7/10
Code quality 8/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

geometry mathematics computational-geometry javascript-library typescript
Actively maintained Well documented MIT licensed Niche/specialized use case Beginner friendly Production ready
Deep Analysis · Based on README and public signals
1w ago

Minimal JavaScript geometry library prioritizing simplicity over comprehensiveness

Geometric.js is a JavaScript library for point, line, polygon, and angle operations using plain arrays as data structures. It targets developers building interactive visualizations, maps, and graphics who prefer functional APIs without class hierarchies. Adoption appears modest but stable, with primary use likely in data visualization and educational contexts rather than production GIS systems.

Origin

Created in late 2018 by Harry Stevens, a data journalist at The Washington Post. The library emerged from the need for lightweight, array-based geometry operations in interactive storytelling and visualization projects. No major version breaks or pivots documented; steady refinement trajectory.

Growth

Stars accumulated slowly but consistently—roughly 1,096 stars over 7.5 years suggests organic, niche adoption rather than viral growth. Recent activity (4 stars in 7 days as of 2026-06-19) indicates stable but not accelerating interest. Library appears to have found its audience among visualization developers rather than competing for mainstream geometry-compute market share.

In production

Adoption not verified. No case studies, enterprise users, or production deployment documentation in README. NPM download metrics are referenced but not cited with numbers. Harry Stevens' Washington Post affiliation suggests use in editorial graphics, but no specific projects documented. Presence on npm with maintained CI suggests real usage, but scale and scope remain opaque.

Code analysis
Architecture

Appears modular based on README examples showing functional imports (pointTranslate, lineRotate, polygonScale). Data model is deliberately primitive—arrays represent geometry primitives, avoiding custom classes. Likely designed for tree-shaking and minimal bundle impact. README does not detail internal organization, algorithm choices, or numerical precision handling.

Tests

README references a test suite that 'builds the package, runs runtime tests, and checks the TypeScript declarations' but provides no metrics on coverage percentage or test count. Presence of CI badge and TypeScript declarations suggests quality discipline, but test extent is not documented.

Maintenance

Last push 2026-06-19 (12 days before analysis date) indicates active maintenance. CI workflow active. No evidence of backlog accumulation or abandoned issues in README. However, low recent star velocity and modest fork count (52) suggest maintainer may be distributing attention across other projects. Repository does not appear stagnant, but growth activity is measured.

Honest verdict

ADOPT IF: you need lightweight, array-based geometry operations in JavaScript; prefer functional APIs over class hierarchies; want minimal bundle overhead in visualization projects; and are comfortable with a narrow, curated feature set. AVOID IF: you require industrial-strength GIS capabilities, need spatial indexing/query performance, or expect comprehensive numerical stability documentation. MONITOR IF: you are choosing between Geometric.js and a more comprehensive library—validate that the reduced scope actually maps to your use case, as adoption evidence is limited and documentation of real-world constraints is sparse.

Independent dimensions

Mainstream potential

3/10

Technical importance

5/10

Adoption evidence

3/10

Risks
  • Maintainer bus factor: single author with no documented governance or succession plan; project longevity depends on one person's continued interest.
  • Limited adoption evidence: no public case studies or production deployments documented; installed base is opaque; community feedback loops may be weak.
  • Sparse algorithm documentation: README does not detail numerical precision, edge-case handling, or performance characteristics of geometric operations; robustness for production use unclear.
  • Narrow feature set by design: intentional simplicity may become a ceiling; any major capability gap requires forking or augmentation.
  • Modest ecosystem visibility: 1,096 stars and stable but slow growth may reflect genuine niche fit or lack of discoverability; hard to distinguish without adoption data.
Prediction

Geometric.js will likely remain a specialized utility for visualization and educational use, neither growing into a mainstream library nor declining into obsolescence. Slow, steady maintenance is probable; major feature expansion is unlikely given design philosophy. Niche adoption may deepen within data journalism and interactive graphics communities.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

JavaScript
99.6%
TypeScript
0.4%

Information

Language
JavaScript
License
MIT
Last updated
3w ago
Created
93mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Open issues

No open issues — clean slate.

Open pull requests

No open pull requests.

Similar repos

svgdotjs

svgdotjs/svg.js

SVG.js is a lightweight, dependency-free JavaScript library for manipulating...

11.8k JavaScript Web Dev
josdejong

josdejong/mathjs

Math.js is a comprehensive mathematics library for JavaScript and Node.js that...

15.1k JavaScript Science
jsxgraph

jsxgraph/jsxgraph

JSXGraph is a JavaScript library for creating interactive mathematical...

1.4k JavaScript Education
Turfjs

Turfjs/turf

Turf is a modular JavaScript library for spatial analysis, providing...

10.4k TypeScript Data
BrunoLevy

BrunoLevy/geogram

Geogram is a C++ library implementing specialized geometric algorithms for mesh...

2.5k C++ Science
vs. alternatives
mathjs (15,042 stars)

Broader mathematical library covering algebra, calculus, and symbolic math. Geometric.js is narrowly focused on geometric primitives; mathjs is general-purpose computation. Different categories rather than direct competition.

jsxgraph (1,369 stars)

Interactive geometry software library emphasizing visualization and construction. Comparable star count but jsxgraph includes rendering; Geometric.js is pure computation. jsxgraph likely heavier; Geometric.js lighter for embedding.

mapbox/earcut (2,475 stars)

Polygon triangulation library. Single-purpose, highly optimized. Geometric.js is multi-operation; earcut is specialized utility. Complementary rather than competing.

leaflet-geoman (2,418 stars)

Interactive map editing plugin. UI-driven, map-specific. Geometric.js provides primitives. Different use cases; Geometric.js is a lower-level tool.

svg.js (11,800 stars)

SVG manipulation library with some geometric capabilities. Geometric.js is computation-first, SVG-agnostic. svg.js is rendering-first. Orthogonal concerns; may be used together.