v1.0 — Open Source

Intelligent Data Quality

A lightweight API wrapper + AI-powered scanner that connects to any database and surfaces bad data, bias, outliers, and inconsistencies in seconds.

0
Quality checks
0
DB adapters
0
% open source
0
Commands to start

Everything your data needs

12 automated checks covering every dimension of data quality, powered by AI analysis.

🔍

Null & Missing Detection

Per-field null percentage with severity scoring. Catches empty strings, N/A values, and hidden missing data.

🧬

Duplicate Analysis

Exact record deduplication plus key-field uniqueness checks for IDs, emails, and other constrained fields.

Type Inconsistencies

Detects mixed types, numeric strings, and mismatched formats across all fields automatically.

📊

Statistical Outliers

IQR-based outlier detection flags extreme values that may indicate data entry errors or corruption.

⚖️

Bias Detection

Identifies gender skew, category imbalance, and collection bias patterns across demographic fields.

🤖

AI-Powered Report

Claude streams a full executive summary with risk assessment, field recommendations, and remediation steps.

Run it yourself

Connect to any REST API database or load demo data to see the analyzer in action.

http://localhost:3000 — DataPulse Analyzer
disconnected
Found in Supabase → Settings → API
Found in Supabase → Settings → API → anon public
Get yours at console.anthropic.com. Key stays in your browser only.
Quality score
Records
Fields
Critical issues
Findings
AI Report
Raw data
Run analysis to see findings

Works with any database

Five built-in adapters. Drop in your connection string and you're live.

Supabase
supabase
🐘
PostgreSQL
postgres
🐬
MySQL
mysql
🗄️
SQLite
sqlite
🍃
MongoDB
mongodb
🔥
Firebase
firebase
🪐
PlanetScale
planetscale
Neon
neon
🔷
BigQuery
bigquery
❄️
Snowflake
snowflake
📋
Airtable
airtable
📝
Notion
notion
Redis
redis
🔗
GraphQL
graphql
📄
CSV Files
csv

Clean REST endpoints

Every table in your database exposed as a fully filterable, paginated JSON API.

GET  /:tablefetch records
# Basic fetch GET /users?limit=200&offset=0 # Filter operators GET /users?status=active GET /users?age__gt=30 GET /users?email__null=true GET /users?name__like=alice # Sort & paginate GET /users?sort=created_at&order=desc
POST /query/rawraw SQL
# Run any SELECT query { "sql": "SELECT * FROM users WHERE age > ? AND status = ?", "params": [30, "active"] } # Response { "data": [...], "count": 42 }
GET  /tableslist tables
# Auth header required x-api-key: your-secret-key # Returns all tables { "tables": [ "users", "orders", "products" ] }
POST /:tablecreate record
# Insert a record POST /users { "name": "Alice", "email": "[email protected]", "age": 30 } # Returns the created record { "id": 42, "name": "Alice", ... }

Up in 3 commands

Zero database required to start — SQLite auto-creates a demo table on first run.

1

Clone & install

Download the project files and install dependencies. Node.js 18+ required.

npm install
2

Configure your database

Edit config.json — set type to your database and fill in credentials. Leave as-is to use the built-in SQLite demo.

{ "type": "postgres", "host": "..." }
3

Start the server

The API wrapper starts on port 3000. Then paste the endpoint URL into the analyzer above.

npm start

Admin Controls

Manage features, access, and display settings for DataPulse.

🔒
Admin Access Required
Enter the admin password to access controls.