> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openkol.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Tech Stack

> How OpenKol is built, served, and kept reliable.

<img src="https://mintcdn.com/openkol/bkuYaAyiMZotx2On/images/techstack.png?fit=max&auto=format&n=bkuYaAyiMZotx2On&q=85&s=00dec476b789e061ec6ced6c4bfe7f28" alt="Techstack" width="1500" height="750" data-path="images/techstack.png" />

OpenKol is designed around a simple idea: **deterministic scoring + fast rendering**.

The stack favors:

* a single cohesive app surface (UI + APIs)
* pure-function scoring modules
* caching around expensive external calls

***

## Frontend

* **Next.js** application with **React** and **TypeScript**
* **Tailwind CSS** with **Radix UI** components

***

## Backend

* Next.js **API routes** for analysis, normalization, and data lookups
* Edge runtime OG image rendering via `@vercel/og`
* Scoring modules implemented as **pure TypeScript functions** (same inputs → same outputs)

***

## Data and caching

* **Postgres** for normalized posts and analysis snapshots
* **Redis** for cached analysis, posts, and candles
* **LocalStorage** for lightweight client history (recent analyses)

***

## External data

* DEX analytics provider for pool discovery and candle data
* X and Telegram adapters for public post metadata

***

## Ops and safety

* Environment variables for API keys and infra URLs
* Health checks and guardrails to keep analysis consistent when upstream data is missing or delayed
