FastGeo — Mining Data & AI Platform
Tech Stack:
Overview
FastGeo is an enterprise mining and geoscience data platform that brings geological data management, analytics, visualization, reporting, and AI-assisted exploration into one product.
The platform helps technical teams work with drillhole, geology, assay, sampling, and QA/QC data. GeoLake extends these workflows with analytical reports, interactive data experiences, and an AI assistant that can use database and dive context to support data exploration.

My role
- Role: Software Engineer
- Duration: 2.5 months
- Scope: Full-stack product development across GeoLake reporting, AI-assisted workflows, access control, data synchronization, and platform reliability
I worked across the Next.js frontend and .NET backend, translating complex data and permission requirements into consistent user workflows. My contributions focused primarily on GeoLake rather than the platform's wider 3D modeling capabilities.
The problem
Mining and geoscience teams work with large, interconnected datasets that are often distributed across specialist tools and operational workflows. Finding the right dataset, validating access, preparing reports, and interpreting results can require substantial manual effort.
FastGeo centralizes these workflows while supporting tenant isolation, project-level permissions, structured reporting, and AI-assisted analysis. This creates demanding engineering requirements around data context, authorization, long-running operations, synchronization, and safe execution of analytical queries.
What I worked on
GeoLake reports and data catalog
- Developed report-management workflows and reusable report catalog utilities.
- Integrated MotherDuck connections and improved catalog synchronization.
- Built GeoLake Dive catalog and gallery experiences for discovering analytical applications.
- Improved report navigation, external report handling, and secure iframe-based experiences.
- Preserved linked dives and report context during replace and append import workflows.

AI-assisted data exploration
- Improved GeoLake Chat with streaming and provisional responses, clearer error handling, and SQL syntax highlighting.
- Added support for database, multi-dive, and active-artifact context so conversations could remain grounded in the user's selected data.
- Implemented controls for stopping active conversations and managing response versions.
- Contributed to conversation summaries, tracing, progress events, and estimated AI usage costs.
Roles, permissions, and tenant controls
- Implemented role-based access control for GeoLake Chat and dashboards.
- Built Work Role management across the interface, API, data model, migrations, permission seeds, and project access rules.
- Added tenant-level LLM quota management and secure API-key configuration.
- Improved administrative interfaces for roles, permissions, and usage controls.
Backend reliability and security
- Strengthened tenant dive registration with transactions, concurrency handling, and advisory locks.
- Added validation around SQL previews and analytical execution.
- Improved secure report sharing, recipient checks, and HTTPS restrictions for external URLs.
- Added unit tests for reporting, permissions, tenant configuration, synchronization, and AI-related services.
Technical architecture
The frontend uses Next.js, React, and TypeScript with Ant Design for product UI. Redux Toolkit and TanStack Query coordinate local and server state, while SignalR supports real-time updates. Three.js and React Three Fiber power parts of the platform's geological visualization experience.
The backend is built with .NET 8 and Entity Framework Core. It provides tenant-aware APIs, authorization, background processing, report services, AI orchestration, and integrations with MotherDuck. GeoLake uses MotherDuck as an analytical data layer for catalogs, reports, dives, and AI-assisted query workflows.


Key challenges
Keeping AI responses grounded in data context
A useful analytical assistant must know which database, dive, and artifact the user is working with. I contributed to propagating and normalizing this context across the frontend and backend while retaining responsive streaming behavior and actionable error feedback.
Applying permissions consistently
GeoLake capabilities span navigation, dashboards, chat, reports, projects, and backend services. I worked on a Work Role model that connected interface visibility with server-side authorization and tenant-aware access rules.
Synchronizing analytical resources safely
Catalog synchronization and dive registration can be triggered concurrently. I contributed transaction boundaries, locking, and validation to reduce duplicate work and protect tenant data consistency.
Outcome
My work helped make GeoLake a more cohesive product surface: users could discover reports and dives, carry relevant data context into AI conversations, and access features according to their assigned roles. The supporting backend changes improved synchronization, tenant controls, secure sharing, and operational reliability.
The project strengthened my experience delivering full-stack features in a data-intensive enterprise platform where AI behavior, analytical infrastructure, authorization, and real-time user feedback must work together.
Product gallery
Geological visualization

Core imagery and analytical overlays

From grid-based to visual logging


Structured logging workflow

Field capture and sensor integration


What I learned
FastGeo deepened my understanding of analytical data products and multi-tenant enterprise software. It reinforced the importance of explicit context propagation, authorization at every layer, concurrency-safe background work, and observable AI workflows.
“FastGeo is a commercial project. Source code, customer data, internal infrastructure, and confidential implementation details are not publicly available.
”