👨‍💻💻🦾🔬

Manuel Solalinde's CV

View the Project on GitHub manolosolalinde/cv

BKV Streamlit Apps - BKV Corporation

Data Scientist/Developer: Manuel Solalinde (manolosolalinde@gmail.com)

A single, unified multi-page Streamlit platform that bundles a growing collection of reservoir and production engineering tools, each selectable from the sidebar. The apps share one data pipeline — daily production, injection and SCADA sensor data live in AWS S3 as parquet and are read on demand by well ID — and one deployment, a containerized Streamlit service running on ECS Fargate. Heavier batch jobs (per-well report generation) fan out across parallel Lambda functions; in-app user documentation is published with MkDocs.

This page covers the engineering toolkit; the platform’s flagship optimization app is documented separately:

Applications

Resolution Visualizer

Shows the data-collection frequency (resolution) of a well’s SCADA sensor readings, broken down by day and by sensor channel — a quick way to spot logging gaps or changes in sampling rate.

Salt Water Injection

An Infinite Reservoir Radial Pressure Propagation Calculator that models how pressure spreads outward from an injection well into an assumed infinite, homogeneous aquifer using the Theis equation, ΔP = (ρ·g·Q / 4πT)·E₁(u), with the exponential integral evaluated via scipy.special.exp1.

Well Communication

Detects potential pressure communication between wells by correlating their detrended gas-production residuals, exposed through three sub-applications: Map Selection Analysis (pick wells on an interactive map and run all pairwise correlations), Trend Production Analysis (inspect a single well’s decomposition), and Well Pair Analysis (compare two wells by well ID).

Critical Rate Sensitivities

Calculates the minimum gas flow rate needed to lift liquids out of a wellbore (preventing liquid loading), across three modes: an interactive Default sensitivity view, a batch CRS Report, and a single-well Report Preview.

CO2 Runtime History

A real-time sensor dashboard for the active CO2 injection sites, remapping raw SCADA tags to human-readable fields.

Horner Plots

Performs pressure-transient analysis on well shut-in data: it auto-detects pressure-drop events, fits a Horner regression, and estimates reservoir permeability.

Hall Plots

Analyzes injection-well performance via the Hall method — cumulative pressure differential vs. cumulative injected volume — where slope changes reveal injectivity decline or improvement over time.

Design decisions & trade-offs

Architecture

All tools run inside one containerized Streamlit application using Streamlit’s multi-page architecture — each tool is a numbered page in the sidebar — deployed to AWS ECS Fargate. Per-well production, injection and sensor data is stored in S3 as parquet and read on demand by well ID; batch report generation (Critical Rate Sensitivities, Gas Injection) fans out across parallel Lambda functions that write results back to S3, and operator decisions persist in DynamoDB. Numerical work is done with Pandas / NumPy / SciPy (exponential integral, robust regression) and Plotly for interactive visualization, drawing on shared in-house engineering libraries (PVT, critical-rate and reservoir calculations). Infrastructure is managed with Pulumi, packaged with Docker, and shipped through GitHub Actions CI/CD. In-app user documentation is built and served with MkDocs.

Note: Screenshots and internal application URLs are omitted, as they display proprietary client data. Available on request, subject to client approval.