olympiad geometry, minus the grind
does the bash
for you.
Give it a plane-geometry diagram. It reads the construction, assigns coordinates, and turns the whole configuration into a system of algebraic equations you can check symbolically.
Built for olympiad contestants and coaches working on configuration-heavy problems (IMO, USAMO) who would rather not grind through the algebra by hand.
- A
- (0.300, 1.663)
- R
- (0.154, 0.567)
- (BMR)∩(CNR)
- (0.078, 0.000)
- dist to BC
- 1.1×10−15
IMO 2004 · Problem 1
Let ABC be acute with AB ≠ AC. The circle on diameter BC meets the sides at M, N; O is the midpoint of BC. The bisectors of ∠BAC and ∠MON meet at R. Then circles BMR and CNR meet again on BC.
every point recomputes from coordinates as A moves
real olympiad figures. click one and it runs in the terminal
how it works
from a diagram to equations you can check.
The engine derives the algebra for every object as a chain of steps. It has to: written as one expression per object, the same construction runs to millions of characters.
step 1 of 3
read the construction
GeoBash opens the GeoGebra file and recovers every object, plus what it depends on.
O = Midpoint(B, C)ω = Circle(O, B)M = Intersect(ω, Segment(A, B))N = Intersect(ω, Segment(A, C))R = Intersect(AngleBisector(B, A, C),AngleBisector(M, O, N))
step 2 of 3
assign coordinates
Free points become variables. Every other object gets written in terms of them.
only A is free here, so the whole figure depends on two unknowns: a and b
step 3 of 3
derive a chain of steps
Each object is a short binding that reuses earlier ones, so the whole system stays readable.
the real engine, right here
interactive reduction terminal
Pick a figure or drop in your own .ggb file. The engine reads the construction, assigns coordinates, and returns every object with the steps that define it.
each step typesets as LaTeX — switch to plain to copy it
no figure loaded.
.ggb file anywhere on this window. Every object shows up here with its coordinates and the steps that define it.for papers & write-ups
cite GeoBash
If you use GeoBash for research, write-ups, or competition analysis, please cite it as follows.
it makes us very happy
@misc{geobash,author = {Thun and Pun},title = {{GeoBash}},year = {2026},howpublished = {Software},url = {https://github.com/blackslex/geobash},note = {Version v0.1}}