Logo Lanfrica

Balisa50/nova

Domain:

socioeconomic

Record type:

software
Creator:
Bal
Host:
NOVA — privacy-safe synthetic financial data for West African microfinance. A CTGAN built from scratch in PyTorch, 4-metric validation, FastAPI + Next.js. # NOVA **A universal synthetic-data engine for finance - with two modes - served through a FastAPI + Next.js web app.** - **Create** *(from nothing)* - define columns, distributions and **domain rules**, and NOVA generates brand-new, realistic data **with no source dataset**. Ships with presets for seven financial domains (banking, payments/fraud, insurance, remittances, macro, wealth, corporate) - or define your own. This is the answer to data scarcity in understudied regions: anyone with domain knowledge can make the data they need. - **Copy** *(from real data)* - upload a CSV and a **Conditional Tabular GAN, built from scratch in PyTorch**, learns its joint distribution and generates statistically identical, privacy-safe rows, scored on four independent validation metrics. > This is a research-portfolio project. Every component - the ground-truth generator, the CTGAN, the preprocessing, the validation suite, and the criteria engine - is implemented from first principles. No `sdv`/`ctgan` library is used for the model. --- ## Table of contents 1. What's inside 2. Architecture 3. Quickstart 4. The dataset 5. The CTGAN 6. Validation 7. API 8. Web app 9. Deployment 10. Design decisions & honesty notes 11. License --- ## What's inside ``` nova/ ├── backend/ │ ├── synthfin/ │ │ ├── data/generator.py # structural-causal ground-truth generator │ │ ├── preprocessing.py # mode-specific normalization + one-hot (+inverse) │ │ ├── ctgan.py # Generator, Discriminator, DataSampler, CTGAN │ │ ├── validation.py # KS/Chi2, correlation L1, TSTR, privacy MIA │ │ └── schema.py # automatic schema detection for any CSV │ ├── app/ # FastAPI service (main.py + service.py) │ ├── scripts/ # generate_dataset / check_preprocessing / train / validate │ ├── data/west_african_loans.csv │ └── models/ctgan_final.pth ├── frontend/ # Next.js 16 + TypeScript + Tailwind ├─ …