Skip to content
← Back to Work

Case Study

OSSignal

A low-bandwidth aggregation engine delivering technical grants, hackathons, and developer signals across Africa, optimized for fast loading without client-side rendering bloat.

Next.jsSupabaseAutomated Ingestion Workers

01 — The Problem

Entrepreneurs and business leaders make decisions based on signals - new regulations, market shifts, competitor moves, emerging trends, unmet demands. But these signals are scattered across dozens of sources: news outlets, government gazettes, social media, industry reports, community forums.

No individual can monitor all relevant sources consistently. By the time most people notice an opportunity, the early-mover advantage is gone.

This problem is especially acute in African markets where:

  • Information is fragmented across many small sources
  • Data isn’t aggregated the way it is in developed markets (no Bloomberg for Zimbabwean SMEs)
  • The time between signal and opportunity is often shorter (less competition, faster markets)
  • Informal information networks (WhatsApp groups, word-of-mouth) contain signals that never make it to formal publications

02 — Context

Details to be added by Vincent.

03 — Why I Built It

Details to be added by Vincent.

04 — Approach

AI Opportunity Intelligence is a system that:

  1. Ingests information from multiple sources - news, social media, government publications, market data, job postings, tender notices
  2. Analyses signals using AI to identify patterns, emerging trends, and potential business opportunities
  3. Scores opportunities based on market size, competition, timing, and relevance to the user’s interests
  4. Delivers insights through a dashboard and WhatsApp notifications - surfacing what matters before it becomes obvious

The core insight: what looks like scattered information to a human brain becomes identifiable patterns when processed by AI at scale.

05 — Architecture

┌─────────────────────────────────────────────────────┐
│                    Data Sources                       │
│  News APIs │ Social Media │ Gov Publications │ RSS   │
└──────────────────────┬──────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────┐
│              Ingestion Pipeline (Celery)              │
│  Fetch → Clean → Deduplicate → Store                │
└──────────────────────┬──────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────┐
│            AI Analysis Layer (LangChain)              │
│  Classify → Extract Entities → Score → Cluster      │
└──────────────────────┬──────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────┐
│              Opportunity Engine                       │
│  Pattern Detection → Scoring → Ranking → Alerts     │
└──────────────────────┬──────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────┐
│              Delivery Layer                           │
│  Dashboard (FastAPI) │ WhatsApp Notifications        │
└─────────────────────────────────────────────────────┘

06 — Technology

Python + FastAPI - Chose for the AI/ML ecosystem. FastAPI gives async performance without sacrificing Python’s AI library access.

PostgreSQL - Relational database for structured opportunity data, with full-text search for signal matching. Considered vector databases but structured queries were more important for this use case than semantic search.

Celery + Redis - Background task processing for ingestion pipelines. Sources are fetched on schedules without blocking the API. Redis handles task queuing and caching of recent results.

LangChain - Orchestrates the AI analysis pipeline. Handles prompt chaining, structured output parsing, and model switching. Allowed rapid iteration on the analysis prompts without rewriting pipeline code.

OpenAI API - Used for classification, entity extraction, and opportunity scoring. The reasoning capability of GPT-4 class models made it possible to identify non-obvious connections between signals.

07 — My Role

Details to be added by Vincent.

08 — Challenges

Details to be added by Vincent.

09 — What Worked

Details to be added by Vincent.

10 — What Didn’t

Details to be added by Vincent.

11 — What I Learned

Details to be added by Vincent.

12 — Current Status

Details to be added by Vincent.

13 — Demo / Repository

Details to be added by Vincent.

14 — What’s Next

Details to be added by Vincent.