Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RiskMate - Emerging Risk Model

RiskMate is a curated decision-support instrument for emerging risks. It allows an organisation to supply a profile (industry, size, geography) and instantly receive a board-ready emerging-risk outlook. The risks are grouped across time horizons and scored for velocity, impact, and confidence.

Features

  • Profile-Driven Insights: Get customized risk outlooks tailored to your specific industry, organization size, and geographical region.
  • Deterministic Scoring: The scoring engine uses curated rules to assign horizon, velocity, and impact scores, ensuring transparency and defensibility.
  • AI-Assisted Data Ingestion: Uses AI to extract candidate emerging risks from institutional reports (WEF, Allianz, Swiss Re, etc.) while keeping the scoring strictly rule-based.
  • Executive Dashboard: A clean, React-based frontend that visualizes the risk landscape through heat maps, radar charts, and executive summaries.
  • Role-Based Access: Distinguishes between Risk Leads (view-only) and Administrators (access to data ingestion pipelines).

Tech Stack

  • Backend: FastAPI (Python), SQLAlchemy, PostgreSQL
  • Frontend: React 19, Vite, Tailwind CSS v4, shadcn/ui
  • AI/LLM: Configurable support for Gemini, Groq, and OpenRouter (for text extraction and filtering).

Setup and Running

You can run RiskMate locally with a few simple steps. No Docker required.

1. Prerequisites

  • Python 3.11+
  • Node.js 20+
  • PostgreSQL (We recommend a free Supabase project. Make sure to use the Transaction pooler connection string on port 6543).

2. Configure the Backend

  1. Navigate to the backend directory.
  2. Copy the environment file: cp .env.example .env
  3. Edit the .env file with your credentials:
    • DATABASE_URL: Your PostgreSQL connection string.
    • JWT_SECRET: A secure random string for authentication. Generate one with python -c "import secrets; print(secrets.token_urlsafe(48))"
    • GEMINI_API_KEY: Your LLM API key for data ingestion.

3. Install Backend Dependencies

cd backend
python -m venv .venv

# On macOS / Linux
source .venv/bin/activate
# On Windows
.venv\Scripts\activate

pip install -r requirements.txt
playwright install chromium  # Required for scraping some sources

4. Setup Database and Load Rules

# Run migrations to create tables
alembic upgrade head

# Load curated engine rules (this is required to populate the engine)
python -m riskmate.curated.loader

5. Run the Ingestion Pipeline

To populate the risk library, run the pipeline. This will fetch and extract data from the sources.

python -m riskmate.pipeline.run --all

Note: You can also set up the scheduler (python -m riskmate.pipeline.scheduler) to keep data fresh automatically.

6. Start the Servers

Backend:

cd backend
uvicorn riskmate.main:app --reload --port 8000

Frontend:

cd frontend
npm install
npm run dev

Open your browser and navigate to http://localhost:5173. The first account you create will automatically be granted Administrator privileges, giving you access to the Ingestion and pipeline dashboard.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages