Inspiration
Geotechnical engineering runs on borehole logs, the sheets that record what is underground before anything gets built. Firms hold years of these logs as scanned PDFs, photocopies, and images. When engineers need that data for a new project, it is often re-entered by hand: strata, SPT N-values, moisture curves, sample records, elevations, and other subsurface information. That work is slow, repetitive, error-prone, and repeated across projects.
I am not a geotechnical engineer, so I started by talking to one. A civil engineering professor confirmed the problem was real and pushed me to think beyond OCR toward decision support. The opportunity was unlocking historical data that is difficult to search, compare, and reuse.
Generic OCR alone is not enough. Much of the information is encoded in drawn geometry: plotted curves, hatched strata columns, printed axis scales, and layouts that vary by firm. Reading a borehole log correctly means understanding both text and document structure. That is the problem I built NobeLeap to solve.
What it does
NobeLeap turns raw borehole logs into structured, searchable subsurface intelligence in minutes instead of hours of expert transcription.
Engineers upload PDFs, scans, or phone photos. The pipeline extracts soil layers and descriptions, SPT N-values, sample records, moisture data, DCPT resistance curves, grain-size data, remarks, elevations, coordinates, project headers, and more depending on the format.
Depths and elevations resolve to ±0.1m, while printed values such as survey datums are transcribed exactly as recorded.
Every digitized borehole appears on an interactive GIS map. Engineers can filter by radius, date, client, location, or project details and open the original source log from its map pin.
The same data feeds a Gemini-powered AI assistant that answers questions across a firm's uploaded archive and cites the source sheets behind its answers for verification. The original document remains the source of truth. Structured data can also be exported into customized Word and PDF reports.
NobeLeap is a live commercial SaaS platform calibrated to each firm's log formats during onboarding.
For judge dashboard access and login credentials, please see the GitHub README.
How we built it
NobeLeap uses a hybrid AI and computer vision pipeline rather than a single model.
Fine-tuned YOLOv8 detectors locate plots, columns, and important regions. PaddleOCR and EasyOCR handle text and numerical recognition. OpenCV drives structure analysis, morphological calibration, axis interpretation, and curve tracing.
A calibration layer maps pixels to real-world depth and elevation using the printed scales on each sheet. For plotted curves, I built a momentum-based tracer that follows the engineering curve through gridlines, labels, and interference.
Gemini through Vertex AI handles tasks pure computer vision is not well suited for, including parsing soil descriptions, interpreting table headers, understanding multi-page continuations, and powering the AI assistant.
Production runs on Google Cloud. A CUDA-enabled GPU worker and the Next.js/TypeScript application run in Docker on Compute Engine. Vertex AI handles LLM calls, Cloud Storage holds backups, Supabase handles authentication, and Stripe handles billing.
Reliability is enforced through 320 automated tests, including a golden-file regression suite covering 1,400+ human-verified extracted values across four firms' log formats, a DPI-invariance harness, and pinned dependency images that keep outputs byte-identical between local development and production.
Challenges we ran into
- Tracing curves that OCR can't see. DCPT resistance curves cross gridlines, labels, and hatching. Axis calibration lets the tracer remove known structure and follow the actual stroke. Sub-pixel curve accuracy came from geometry, not a bigger model.
- "Works on my laptop, fails in production." The GPU VM initially produced different extractions. I traced this to dependency drift, OCR orientation misclassification, and a Docker deployment that silently dropped GPU access. Pinned environments produced byte-identical outputs across local and production systems.
- Every firm's logs are different. A pipeline that worked on one format could break on another, so firm-specific calibration became a core product feature.
- Privacy for a public demo. Real logs contain client information, so I built fictional demo sheets without exposing client data.
- Doing this solo. Building NobeLeap required work across ML, computer vision, OCR, infrastructure, GPU deployment, testing, GIS, authentication, billing, and frontend development.
Accomplishments that we're proud of
- Our first paying customer. A real engineering firm paid to use NobeLeap during the hackathon and has been onboarded onto its calibrated borehole log formats.
- A real business, not a demo. NobeLeap is live at nobeleap.com with production billing, authentication, GPU extraction, GIS mapping, report generation, and daily backups.
- Human-level extraction precision. Depths and elevations resolve to ±0.1m, verified against more than 1,400 human-checked extracted values.
- Deterministic extraction. The same sheet produces byte-identical output across local development and production.
- Verifiable AI. The assistant cites the source sheets behind its answers. Trustworthiness is a feature, not a disclaimer.
What we learned
Trustworthy applied AI is a systems problem, not a model-selection problem. Accuracy depends on preprocessing, calibration, document geometry, evaluation, deployment consistency, and verification. Golden tests, deterministic environments, and root-cause debugging improved NobeLeap more than increasing model size.
I also learned to use each technology for what it is good at. The LLM handles semantic ambiguity, while calibrated computer vision preserves numerical and spatial precision. The combination is more reliable than asking either one to read the entire document alone.
What's next for NobeLeap
Our immediate focus is growth: converting onboarding conversations into long-term customers and scaling from individual projects to archives containing thousands of historical sheets.
The roadmap is driven by customer requests:
- Industry format interoperability. Direct export to AGS, gINT, and OpenGround so digitized data flows into the tools firms already use.
- Handwritten field logs. Extending NobeLeap's calibration-plus-Gemini approach to handwriting could unlock historical records that remain difficult to digitize and search.
The long-term goal is simple: turn every geotechnical firm's archive into a living dataset that engineers can query, map, compare, and build on.
Built With
- caddy
- cloudflare
- cuda
- docker
- easyocr
- gemini
- google-cloud
- google-compute-engine
- leaflet.js
- next.js
- numpy
- opencv
- paddleocr
- pytest
- python
- pytorch
- react
- stripe
- supabase
- tailwindcss
- typescript
- ultralytics
- vertex-ai
- yolov8
Log in or sign up for Devpost to join the conversation.