Now in preview

Ask your BIM + GIS data anything.

Geoxide is an embeddable AI assistant that connects to your building models, GIS layers, documents and the web, and actually understands them. You ask questions in plain language and watch the answers light up on a live 3D globe.

Try the live, interactive demo on real Valencia BIM + GIS data, or reach out for a walkthrough on your own.

See it live.

Pick a renderer and try it yourself, on real Valencia BIM + GIS data.

Stop digging through files.

Ask one question, in plain language, and get an answer backed by your data, your documents, and the web.

Ask in plain language

Type questions the way you'd ask a colleague. No query languages, no GIS expertise, no training required.

"Which rooms on Level 3 exceed 50 m²?"

See it on the globe

Answers don't just come back as text. They light up as layers and 3D models on a live map, so you can see where things are, not only read about them.

Results appear as map layers in real time

BIM meets GIS

Building models and geographic features, together at last. Ask questions that span both, from floors and walls to parcels, roads and utilities, all at once.

"Show buildings within 200 m of the river with more than 5 floors"

Documents and the web, cited

Point Geoxide at a regulation, ordinance or web page and it fetches the content, reads it, and folds it into the answer alongside your own data, with a citation back to the exact page or section it came from.

"Setback rule per Art. 24, p. 7 of the ordinance"

Turn regulation into a checked constraint

A rule like "keep 500 m from a watercourse" becomes a structured, cited constraint, reviewed by a person before it's ever applied. The model can never approve its own proposal.

buffer · exclude · penalize · require_within · setback

Anywhere, even outside your data

Ask about a place your database doesn't cover and Geoxide geocodes it and pulls live OpenStreetMap data for it, so an answer never just stops at "not in the database."

"What's around Plaza del Ayuntamiento?"

A look inside.

The chat assistant and the 3D globe, working on real BIM + GIS data.

Buildings within 250 m of Valencia's city centre highlighted on the map, with the reasoning explained in chat
Spatial queries drawn live, like buildings within 250 m of the city centre, with the reasoning explained in plain language.
A georeferenced IFC/BIM office building rendered in 3D on the Cesium globe
Georeferenced IFC/BIM models rendered in 3D on the globe, in their real-world location.
Constraint layers, including watercourse, protected-area and population exclusion buffers, drawn on the map as the agent builds them
Constraints turned into real exclusion and buffer zones, drawn on the map as the agent builds them.

Screenshots from a development build. Want to see it run on your own data? Get in touch.

Bring your own AI client.

Geoxide is also an MCP server, so you can call its tools straight from Claude Desktop, Cursor, or any MCP-compatible client.

The same tools, over MCP

Map queries, document search, constraint proposals and more are exposed as MCP tools, so any MCP-aware client can call them directly, with your own geometry and citations intact.

Or just point your OpenAI SDK at it

An OpenAI-compatible chat endpoint means existing tooling built for that API can talk to Geoxide with no adapter code.

Under the hood.

Built from the ground up in Rust. It embeds anywhere, doesn't depend on any one renderer, and works with whatever AI provider you choose.

Agentic RAG core

An async Rust agent runs tool calls over your data, using SQL, spatial queries and semantic search to turn a plain-language question into a precise answer.

Works with your map

The assistant isn't tied to any one renderer. It drives Cesium, Leaflet or whatever map you already run through a single adapter, so it drops into the stack you've already got.

IFC / BIM ingest

Industry-standard IFC files are parsed, georeferenced, and exported to 3D meshes, so you can query rooms, walls, beams, columns and slabs by name, type or property.

PostGIS + pgvector

Geographic features and embeddings live in PostGIS. The agent connects with a strictly read-only role, so your data stays where it is and is never copied or migrated.

Embeddable SDKs

TypeScript and Rust SDKs over a shared wire protocol, with token streaming, typed map actions and automatic reconnect. Drop the chat straight into your own app and map renderer.

Runs on your own infrastructure

Designed to run on-premise, inside your own environment, where your data never leaves. Bring your own AI provider too, whether that's Anthropic Claude, any OpenAI-compatible API, or a local model.

Semantic search

Find elements by meaning, not just exact names, using pgvector embeddings. Useful for design intent, specifications and the unstructured notes that don't fit a tidy column.

Project workspaces & exports

Everything the agent collects and produces, from documents to layers to constraints, is auto-saved as versioned artifacts in a project, and exports as GeoPackage, GeoJSON, QGIS/QML or OGC SLD styles, or a full zip bundle.

RustBevyWebGPU / WASMPostGIS pgvectorIFCTypeScriptCesium & Leaflet MCPAWS

From data to answers.

Three steps, once your data is connected.

1

Connect your data

Point Geoxide at the data you already have — IFC/BIM models, GIS layers, your spatial databases. It understands them in place, ready to ask. No migration, no second copy.

2

Ask a question

Type your question in plain language. The agent picks the right data sources and searches across all of them.

3

See the answer

Get a clear response with the matching elements highlighted as layers on the 3D globe.

About me.

I'm Rafael Gaitán, a software engineer specialised in 3D graphics, geospatial systems and real-time rendering, with more than two decades building high-performance visualization and simulation software. Geoxide is my take on what a modern, AI-native interface to BIM + GIS data should feel like.

It's mostly written in Rust, built with a good deal of help from AI coding tools along the way. I'm available for consulting and freelance work around 3D/geospatial visualization, rendering engines, and AI-assisted data tooling.

What I can help with

  • 3D & geospatial visualization (globes, terrain, BIM/GIS)
  • Real-time rendering engines (Rust, Bevy, WebGPU, WASM)
  • IFC / BIM data pipelines & PostGIS spatial backends
  • AI-assisted tooling & agentic RAG over domain data
  • Embeddable SDKs & product architecture

Get in touch.

Interested in Geoxide on your own data, or in working together? I'd love to hear from you.