Skip to content

GivenConstructConclude

GeoChat puts an AI assistant and GeoGebra in one desktop math tool. Enter a problem and it plans the construction, writes GeoGebra commands into the canvas, and explains the reasoning behind each step.

macOS and WindowsApache-2.0, open sourceYour data stays local

ABCO
What is given or statedThe construction in progressWhat is concluded

What GeoChat does

These are the features currently supported in the desktop app.

What is given or stated

Your data stays on your machine

Conversations, canvas state and run history are saved to a SQLite file on your own disk. No account and no cloud sync.

./data/geochat-desktop.sqlite

OPT

Bring your own model key

Add your model provider's API key in settings. Requests go directly from your machine to that provider, without passing through GeoChat.

OpenAI · Anthropic · Google · DeepSeek · Alibaba · OpenRouter

The construction in progress

AB

Write commands into GeoGebra

GeoChat writes real commands into the embedded GeoGebra canvas. The resulting figure can be dragged, measured, and edited further.

O = Intersect(m_1, m_2)

Plane and space, one canvas

The GeoGebra runtime ships inside the app. Plane geometry, coordinate geometry, function graphs and solid geometry all use the same workspace.

What is concluded

G

See every step

The construction plan, tool calls and reasoning are shown in order so you can check them one by one.

Problem bank and export

Import a local problem bank to work through sets in bulk, and export any canvas as a .ggb file that a student or colleague can open in their own GeoGebra.

*.ggb

How a problem is completed on the canvas

Read, plan, write commands, explain. The desktop app handles all four stages; only model inference needs the network.

Given triangle ABC, construct its circumcircle.

ABCO
A = (-3, -1)B = (3, -1)C = (1, 3)m_1 = PerpendicularBisector(A, B)m_2 = PerpendicularBisector(B, C)O = Intersect(m_1, m_2)k = Circle(O, A)SetCaption(O, "Circumcenter")
  1. Read

    Identify the given conditions, constraints and goal.

  2. Plan

    Choose the construction order and the geometric objects needed at each step.

  3. Compile

    Convert the construction plan into GeoGebra commands and write them into the canvas one by one.

  4. Explain

    Explain why these objects produce the requested result.

Full demo

From typed problem to finished figure, shown at real speed.

The desktop app

The canvas is the main view. The chat panel can be collapsed or moved, and model settings live in the app's local settings page.

GeoChat Desktop interface: a GeoGebra canvas on the left, a floating AI chat panel on the right.

Questions

Does it need an internet connection?
The canvas, database and other local features work offline. Only model inference needs the network; requests go directly from your machine to the provider you configured.
Does it cost anything?
The app is free and open source under Apache-2.0. You pay your model provider for your own usage; that billing sits entirely with them, and we neither see it nor take a cut.
Do my problems get uploaded to you?
No. We do not run a server that could receive them. Your problem is sent as a prompt to the model provider you configured, and that data is governed by their privacy policy.
Which model providers are supported?
OpenAI, Anthropic, Google, DeepSeek, Alibaba Cloud and OpenRouter are configured out of the box, and you can add compatible custom providers and models in settings.
Is there a Linux build?
The packaging pipeline currently produces macOS and Windows installers only. Linux works from source, and the repository has full build instructions.
Why does it say the developer cannot be verified?
The installers are not code-signed. Signing means paying Apple and a certificate authority every year, which is hard to justify for a solo open-source project right now. The download page has the steps for both platforms.

Install it, give it a problem

Open source, free, no sign-up. All you need to bring is an API key from a model provider.