Transforming raw subsurface data into actionable geological insights. LAS Analyzer is a full-stack platform designed to bridge the gap between complex petrophysical data and modern AI reasoning.
- π Production App: las-analyzer.vercel.app
- π System API: https://13-126-13-42.sslip.io/api
- π Health Status: https://13-126-13-42.sslip.io/health
If you are an evaluator or developer looking to run this project locally, please jump to our dedicated guide above.
Unlike generic data parsers, this system is engineered specifically for the Log ASCII Standard (LAS) format.
- Header Intelligence: Automatically mines critical metadata like
WELL,FIELD,API Number, andCompanyfrom the LAS header. - Metadata Indexing: Pre-calculates statistical envelopes (
min,max,mean) for every curve during ingestion. This allows the AI to have instant "Contextual Awareness" without re-processing entire datasets for every query. - Hybrid Storage Architecture: Combines the durability of Amazon S3 (for raw file preservation) with the agility of PostgreSQL (for structured data access and performance).
Visualization is the fundamental tool for geological reasoning.
- Synchronized Multi-Track Views: Render multiple curves side-by-side on a shared, unified depth axis.
- Precision Interaction: Built-in support for zooming, panning, and interval isolation to focus on specific reservoirs or zones of interest.
- Modern UI/UX: A clean, "Glassmorphism" dashboard built with Tailwind CSS and Plotly.js, optimized for high-density data interpretation.
We've integrated the world's most sophisticated reasoning model (Claude 3.5 Sonnet) directly into the workflow.
- Automated Lithology Insights: Identifies rock types, fluid contacts, and potential anomalies based on numerical curve signatures.
- Persistent AI Assistant: A specialized chatbot that understands the current well you are viewing. It doesn't just guess; it checks the actual statistics and metadata of the active well to answer your questions.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PRESENTATION LAYER β
β β
β ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ β
β β File Upload β β Visualization β β AI Insights β β
β β Component β β Dashboard β β Panel β β
β β β β β β β β
β β - Drag & Drop β β - Plotly Charts β β - Analysis β β
β β - Validation β β - Curve Select β β - Statistics β β
β β - Progress β β - Depth Range β β - Insights β β
β ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Chatbot Interface (Bonus) β β
β β - Message Input/Display β β
β β - Context-Aware Responses β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
HTTP/REST API
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β APPLICATION LAYER β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β API Gateway / Router β β
β β - CORS Middleware β β
β β - Request Logging β β
β β - Global Error Handling β β
β β - Input Validation (Custom) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β ββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββ β
β β β β β
β ββββββΌββββββββββ ββββββββββββββββΌβββββββββ βββββββββββββββββΌ β β
β β File Service β β Data Service β β AI Service β β
β β β β β β β β
β β - Parse LAS β β - Query Measurements β β - Interpret β β
β β - Upload S3 β β - Filter by Depth β β - Analyze β β
β β - Validate β β - Aggregate Stats β β - Chat β β
β ββββββββββββββββ βββββββββββββββββββββββββ βββββββββββββββββββ β
β β β β β
βββββββββββΌβββββββββββββββββββββββΌββββββββββββββββββββββββββΌβββββββββββ
β β β
β ββββββββββββββΌβββββββββββββββ β
β β β β
β β Direct Data Access β β
β β (via pg-pool) β β
β β β β
β ββββββββββββββ¬βββββββββββββββ β
β β β
βββββββββββΌβββββββββββββββββββββββΌββββββββββββββββββββββββββΌβββββββββββ
β PERSISTENCE LAYER β
β β
β ββββββββββββββββββββ βββββββββββββββββββββββββββββββββββ β
β β Amazon S3 β β PostgreSQL Database β β
β β β β β β
β β Bucket: β β βββββββββββββββββββββββββββββ β β
β β las-files/ β β β wells β β β
β β β β β - metadata & header β β β
β β Object Key: β β βββββββββββββββββββββββββββββ β β
β β {wellId}/ β β β β
β β original.las β β βββββββββββββββββββββββββββββ β β
β β β β β curves β β β
β β Access: β β β - curve definitions β β β
β β - IAM Role β β βββββββββββββββββββββββββββββ β β
β β - Pre-signed β β β β
β β URLs β β βββββββββββββββββββββββββββββ β β
β ββββββββββββββββββββ β β measurements β β β
β β β - depth-indexed values β β β
β ββββββββββββββββββββ β β - indexed on (curve, β β β
β β Claude API β β β depth) β β β
β β β β βββββββββββββββββββββββββββββ β β
β β - API Key in β β β β
β β Backend ENV β β βββββββββββββββββββββββββββββ β β
β β - Rate Limits β β β interpretations β β β
β β - Error Retry β β β - AI-generated insights β β β
β ββββββββββββββββββββ β βββββββββββββββββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Layer | Tech Choice | Why? |
|---|---|---|
| Frontend | React 19 + Vite | Minimal bundle size, blazing fast HMR, and modern hooks. |
| Styling | Tailwind CSS | Utility-first approach for consistent, premium aesthetics. |
| Backend | Node.js (Express) | High concurrency for I/O bound parsing tasks. |
| Database | PostgreSQL 16 | Relational power for complex well-to-curve modeling. |
| AI Intelligence | Claude 3.5 Sonnet | Superior technical reasoning compared to other LLMs. |
| Infrastructure | Docker + AWS | Industry-standard reliability and container portability. |
/frontend: React application, UI components, and visualization logic./backend: Express API, LAS parsing engine, and database logic./docker-compose.yml: Local and production container orchestration./.github/workflows: Fully automated Build -> Push -> Deploy pipelines.run_locally.md: Comprehensive developer onboarding guide.
This project follows professional DevOps practices:
- Build: Every push to
maintriggers a GitHub Action to build a production Docker image. - Storage: Images are securely stored in Amazon ECR.
- Deployment: The pipeline SSHes into an AWS EC2 instance and orchestrates a fresh rollout using Docker Compose.
- Frontend: Automatically synchronized and served via Vercel with global edge CDN.
[Placeholder: Google Drive Link(will add after making the video)]
- Core Architecture: Decoupled Full-Stack design via REST API.
- Data Ingestion: Multi-stage parsing and S3/Postgres storage.
- Visualization: Interactive Track-based Plotly.js charts.
- AI Interpretation: Deep petrophysical analysis via Anthropic AI.
- Bonus Feature: Specialized context-aware Well Chatbot.
- Cloud Deployment: Live on AWS and Vercel.
- Documentation: Standard
READMEandLocal Setupguides.
Author: adldi07 (Adesh Kumar | IIT ISM Dhanbad) Project Status: π’ Production Ready / Full Feature Complete
Designed and engineered for One-Geo as a demonstration of high-performance full-stack data applications.