Inspiration
In South Africa, where the youth unemployment rate sits at a staggering 45.5% and overall unemployment hovers around 32.9%, job seekers are struggling. These numbers are mainly in the vulnerable and underserved communities, which are increasingly being targeted by scam job posts and fake recruitment schemes 🕵️♂️💼.
These scams are often spread through: 📱 WhatsApp groups 📄 PDF documents 📢 Social media job boards 📧 Email attachments
They waste valuable time, steal personal information, or even demand upfront payments 💸. With no simple or trusted way to verify the legitimacy of a job offer, many desperate applicants are left guessing and often fall victim.
What it does
Reality Checker is an AI-powered tool designed to protect job seekers from falling prey to fake job opportunities, which is a growing threat in South Africa’s high-unemployment environment 🇿🇦.
It scans job ads and documents (📄 PDF, DOC, 🔗 links, or 📋 pasted text) and instantly provides:
✅ A Trust Score – Labels like "Likely Legit", "Possibly Scam", or "High Risk" based on content analysis 🧠 A Clear Rationale – Highlights suspicious keywords, unusual formatting, shady sender info, and more 🛡️ Practical Safety Tips – Personalised suggestions to help users apply more safely 💬 WhatsApp & Web Interface – Making it accessible anytime, anywhere
Think of it as a real-time scam detector, giving job seekers the confidence and clarity they need, before they apply
How we built it
The Reality Checker was built with a mission to empower job seekers—especially in scam-prone areas across South Africa—by providing an AI-driven solution to detect fraudulent job offers.
Here’s a breakdown of the tech and tools behind it:
🔧 Tech Stack Frontend: Built with a clean and lightweight web interface using React.js for speed and accessibility
WhatsApp Integration: Powered by Twilio’s WhatsApp API, allowing users to send job ads directly via chat
AI Backend: Uses OpenAI’s GPT-4 model to intelligently analyze job ad content, supported by:
Custom heuristics to flag known scam patterns
Prompt engineering to guide reliable and contextual analysis
Server/Processing Layer: Developed with Node.js and Express, handling file parsing (PDF, DOC), text extraction, and real-time communication
Cloud Hosting: Deployed on Render/Railway for ease of use during the hackathon (can be moved to AWS/Azure post-validation)
No Database: For the MVP, we kept things stateless to ensure privacy nothing is stored
🧠 AI + Heuristics: A Hybrid Approach Reality Checker blends AI with manually curated red flags, such as:
Overuse of generic phrases like “immediate start” or “no experience needed”
Lack of company details or suspicious domains in sender emails
Keyword patterns like “admin fee” or “WhatsApp HR”
This hybrid method allows the system to balance flexibility and reliability, giving users a trust score with a plain-language explanation and helpful next steps.
Challenges we ran into
Building Reality Checker came with its fair share of obstacles—technical, practical, and human:
🧠 1. Balancing AI with Accuracy While GPT-4 is powerful, we had to fine-tune prompts and rules to avoid false positives (flagging legit jobs as scams) or false negatives (missing subtle red flags). Designing prompts that simulate human reasoning—without being overly strict or too vague—required iterative testing.
📄 2. Parsing Inconsistent Document Formats Job ads came in all shapes and sizes PDFs, DOCs, screenshots, and messy pasted text. Extracting clean, readable text from these documents without breaking the analysis pipeline was tricky. We had to experiment with several text extraction libraries and fallback strategies.
📶 3. WhatsApp Integration Limitations Integrating WhatsApp via Twilio had rate limits, media handling quirks, and required specific formatting to return rich responses (like trust scores and recommendations). Making the experience feel instant and smooth within WhatsApp took extra effort.
👥 4. Trust and UX in a Sensitive Use Case Because we’re dealing with real fears and frustrations of job seekers, especially those in vulnerable communities, we had to make sure the tone of the feedback wasn’t alarmist but informative. We worked hard to strike a balance between authority and empathy.
Accomplishments that we're proud of
✅ 1. Building a Real, Working WhatsApp Bot We successfully built and deployed a fully functional WhatsApp-based AI assistant that job seekers can use right from their phones—no app installs, no complicated onboarding. Just send a message, and get trusted feedback. Simple, fast, and impactful 💬🤖.
🔐 2. Helping Job Seekers Stay Safe By combining AI with real-world scam detection patterns, we created a tool that gives job seekers confidence in their applications. We're especially proud to help vulnerable communities who are often targeted by scams and have no easy way to verify job posts.
🇿🇦 3. Localized for South Africa We crafted custom heuristics and prompts tailored to South African job scam patterns—from fake government vacancies to “admin fee” learnership tricks. This local relevance makes Reality Checker much more effective than generic AI tools.
⚡ 4. Fast Turnaround for a Meaningful Problem Despite tight hackathon timelines, we built an MVP that not only works, but also delivers real value. Users can upload PDFs, paste text, or share links and get immediate trust assessments—all through web or WhatsApp.
What we learned
🤖 1. AI Needs Guidance We learned that even advanced models like GPT-4 require carefully crafted prompts and context to produce useful, safe, and accurate responses. Prompt engineering isn't just a skill—it's a superpower when building AI-driven apps.
📂 2. Real-World Inputs Are Messy From scanned PDFs to broken text formatting in job ads, we learned how unpredictable real-world data can be. Building a tool that can handle the messiness of everyday documents is crucial for practical impact.
🧩 3. Heuristics Still Matter While AI is powerful, traditional rule-based red flags (like spotting words such as “admin fee” or missing contact info) are still incredibly useful. Combining AI with heuristics made our tool smarter and more grounded.
💬 4. WhatsApp Is the Ideal Channel We saw firsthand how WhatsApp is deeply embedded in daily life, especially in South Africa. By meeting users where they already are, we can lower technical barriers and increase adoption—no new apps, no confusion.
🧠 5. Safety and Empathy Go Hand in Hand We learned how important it is to communicate risk without fearmongering. Job seekers are often under pressure; our tone needed to be supportive, not alarming—and that shaped both our UX and our AI outputs.
What's next for Reality Checker (Scam/Job Doc Analyzer)
Reality Checker has proven its value as an MVP—but this is just the beginning. Here’s what’s coming next:
📲 1. Multi-language Support South Africa is multilingual 🇿🇦. We plan to support job ads and responses in Zulu, Xhosa, Sesotho, Afrikaans, and more—making Reality Checker accessible to a wider audience and increasing trust.
🔐 2. Optional User Accounts with History We’ll add lightweight user accounts so job seekers can track their previous checks, see scam patterns over time, and get personalized safety tips—while still respecting privacy.
🤝 3. Partnerships with Government & NGOs We aim to collaborate with youth employment platforms, government job portals, and non-profits to integrate Reality Checker directly into existing workflows and make it available at scale.
🧠 4. Machine Learning on Local Scams By collecting anonymised examples (opt-in), we want to train a custom ML model that learns local scam patterns, improving accuracy over time and reducing dependency on global AI APIs.
📈 5. Dashboard & Reporting Tools We’ll develop a backend dashboard to show trends like:
📊 Number of jobs verified
🚩 Most flagged scam keywords
🌍 Geographic scam hotspots
This can help policy makers, researchers, and digital safety advocates take data-driven action.
Built With
- alembic
- claude
- docker
- express(node)
- fastapi
- github
- html5
- httpx
- jinja
- openai
- pdfplumber
- postgresql
- pydantic
- python
- python-docx
- react
- redis
- sqlalchemy
- sqlite
- tailwind
- twilio
- typescript
- uvicorn
- websockets
Log in or sign up for Devpost to join the conversation.