Inspiration
What it does
How we built it
CO2 Site Analysis Platform - FOAK Backend
A comprehensive web application for analyzing industrial sites and their potential for CO2 utilization and carbon conversion technologies. This API serves as the backend for the FOAK hackathon project.
Overview
This platform combines data visualization, site analysis, and AI-powered insights to evaluate industrial facilities across multiple regions for their viability in CO2-to-products conversion. The application provides interactive mapping, detailed site analytics, and intelligent recommendations through an integrated chatbot interface.
Features
📍 Interactive Map Visualization
- Global view of industrial sites with geographical positioning
- Site markers with viability scoring (1-10 scale)
- Filterable by region, industry type, and viability score
- Detailed site information on click/hover
📊 Site Analysis Dashboard
- Comprehensive site profiles including:
- Location and operational details
- Primary and secondary product capabilities
- Market pricing and demand analysis
- Electricity costs and infrastructure
- Available incentives and financial support
- Business viability assessments
🤖 AI-Powered Chatbot
- Interactive assistant for site analysis queries
- Natural language processing for complex questions
- Contextual recommendations based on site data
- Integration with the comprehensive site database
🏭 Multi-Product Analysis
Support for various CO2 conversion products including:
- High-Priority Products: Methanol, Ethylene, Propylene, Polyethylene, Polypropylene
- Medium-Priority Products: Ethylene Glycol, PET, Polycarbonate, Formic Acid, Dimethyl Carbonate
- Specialized Products: MTO Olefins, Polyurethane, Aldehydes, Acetyls, DRI-EAR Steel, Oxalate, Phosgene
Technology Stack
Backend
- FastAPI: High-performance Python web framework
- Pydantic: Data validation and settings management
- CORS: Cross-origin resource sharing enabled for web app integration
Data Management
- JSON-based data storage: Flexible schema for site analysis data
- Dual data sources: Manual data and AI-analyzed sites
- Real-time data validation: Ensures data integrity and consistency
Frontend Integration
- Web application with interactive mapping capabilities
- Real-time API communication with the backend
- Responsive design for various device types
Data Coverage
The platform includes analysis of industrial sites across multiple regions:
🇨🇦 Canada
- Oil sands operations (Fort McMurray region)
- Refineries and petrochemical complexes (Alberta)
- Gas processing facilities (Montney, Duvernay formations)
- Chemical manufacturing plants
🇮🇳 India
- Major refineries (Reliance, IOCL, BPCL, HPCL)
- Petrochemical complexes (Gujarat industrial corridor)
- Chemical manufacturing facilities
- Steel and heavy industry sites
🇸🇬 Singapore
- Integrated refining and chemical complexes
- Jurong Island industrial cluster
- Port and logistics facilities
- Advanced manufacturing sites
🇦🇪 UAE
- World-scale refineries (ADNOC Ruwais)
- Petrochemical and industrial zones
- Free trade zone facilities
- Oil and gas processing plants
API Endpoints
GET /site-analyses/latest
Returns comprehensive site analysis data from both manual and AI-analyzed sources.
Response Format:
{
"site_id": 1,
"location_name": "Facility Name",
"latitude": 56.9906,
"longitude": -111.4866,
"viability_score": 8,
"primary_product": "Methanol",
"primary_product_market_price_per_ton_usd": "780.00",
"electricity_price_per_kwh_usd": "0.08",
"can_sell_100_tons_primary_product_within_100_km": true,
"other_viable_products": ["Ethylene", "Propylene"],
"available_incentives": ["Tax credits", "Grants"],
"business_analysis": "Detailed analysis...",
"executive_summary": "Investment thesis summary...",
"cited_sources": [...]
}
Getting Started
Prerequisites
- Python 3.8+
- FastAPI
- Pydantic
- Modern web browser
Installation
- Clone the repository
- Install dependencies using uv:
bash uv sync
Running the Application
Start the backend server:
uv run uvicorn app.main:app --reloadThe API will be available at
http://localhost:8000Access the interactive API documentation at
http://localhost:8000/docs
Web Application
The frontend web application connects to this API to provide:
- Interactive map visualization of all site data
- Detailed site information panels
- AI chatbot integration for natural language queries
- Advanced filtering and search capabilities
Use Cases
Investment Analysis
- Identify high-viability sites for CO2 utilization projects
- Compare market opportunities across different regions
- Assess infrastructure and economic factors
Strategic Planning
- Evaluate regional clusters for industrial development
- Analyze supply chain and logistics considerations
- Identify potential partnerships and collaboration opportunities
Research and Development
- Access comprehensive database for academic research
- Benchmark different industrial sectors and regions
- Support policy development and regulatory analysis
Data Sources
The platform combines multiple data sources:
- Manual Research: Curated industrial facility data (98 sites)
- AI Analysis: Automated site evaluation and scoring
- Market Data: Real-time pricing and demand information
- Geographic Data: Precise location and infrastructure details
Project Structure
├── app/
│ ├── main.py # FastAPI application and API endpoints
│ ├── models.py # Pydantic data models and validation
│ └── data/
│ ├── manual_data.json # Manually curated site data
│ ├── analyzed_sites.json # AI-analyzed site data
│ └── sites_input.json # Raw input data
├── ai.py # AI analysis and data processing
├── pyproject.toml # Project dependencies and configuration
└── README.md # This file
Contributing
This project was developed as part of the FOAK hackathon focused on CO2 utilization and industrial decarbonization. Contributions and improvements are welcome.
Future Enhancements
- Real-time market price integration
- Advanced filtering and search capabilities
- Export functionality for analysis reports
- Integration with additional data sources
- Enhanced AI analysis capabilities
- Expanded geographic coverage ## Challenges we ran into
Log in or sign up for Devpost to join the conversation.