Logo Lanfrica

PixelAndPotion/sync-beat

Domain:

socioeconomic

Record type:

software
Creator:
Pix
Host:
A South African market intelligence tool built in pure Python. SYNC BEAT aggregates live economic and commodity data, scores overall market health using a custom weighted quantitative model, detects risk signals against a 30-day historical baseline, and generates a professional one-page PDF analyst brief. # SYNC BEAT: SA Market Intelligence A South African market intelligence tool built in pure Python. SYNC BEAT aggregates live economic and commodity data, scores overall market health using a custom weighted quantitative model, detects risk signals against a 30-day historical baseline, and generates a professional one-page PDF analyst brief. ## Why it exists Junior analysts at Corporate and Investment Banking desks spend their mornings doing exactly what SYNC BEAT automates pulling macro data, scoring conditions, flagging anomalies, and producing a brief for stakeholders. SYNC BEAT is a working prototype of that workflow. ## How it works | Layer | What it does | |---|---| | PULSE | Fetches live ZAR/USD, ZAR/GBP, ZAR/EUR and gold price from free APIs | | CORTEX | Scores market health 0–100 using a custom weighted quantitative model | | SIGNAL | Detects deviations from 30-day historical averages stored in SQLite | | BRIEF | Generates a professional PDF analyst brief with one click | ## SA Market Health Score A composite index built on four weighted indicators: | Indicator | Weight | Rationale | |---|---|---| | ZAR / USD | 40% | Primary measure of SA investor confidence | | Gold (USD/oz) | 35% | SA is a top global gold producer — directly impacts export earnings | | ZAR / GBP | 15% | Secondary EM sentiment indicator | | ZAR / EUR | 10% | EU is SA's largest trading partner | Each indicator is normalised against a defined reference range and weighted to produce the composite score. ## Stack - Python 3.10+ - Tkinter — GUI and canvas animation - SQLite — 30-day historical data persistence - ReportLab — PDF brief generation - Frankfurter API — ECB exchange rates (free, no key) - CoinGecko API — commodity price proxy (free, no key) - Threading — non-blocking data fetches ## Run it ```bash pip install requests reportlab python sync_beat.py ``` ## File structure ``` sync-beat/ ├── sync_beat.py # Main application and GUI ├── scoring_engine.py …