Inspiration
Vietnam is facing a digital safety crisis on two fronts. Data from the Global Anti-Scam Alliance shows that Vietnamese citizens lost roughly 391.8 trillion VND (around $16.23 billion USD) to scams in 2023 alone — that's 3.6% of the entire national GDP. The Ministry of Public Security logged over 4,800 phone scam cases in just the first half of 2025, and surveys reveal that 80.2% of Vietnamese say scammers reach them primarily through phone calls. At the same time, Pew Research Center places Vietnam among the hardest-hit countries for fake news, with 72% of respondents encountering misinformation on social media regularly and false information spreading roughly six times faster than verified content.
What hit closest to home is that the people most vulnerable — our parents, our grandparents — are the ones least equipped to fight back. They don't know how to reverse-search a headline or analyze a caller's script for red flags. We wanted to build something so simple that anyone could use it: just shake your phone.
One of our four team members is an active contributor to Chong Lua Dao (chongluadao.vn), Vietnam's leading anti-fraud non-profit founded by cybersecurity expert Ngo Minh Hieu (Hieu PC). That firsthand experience fighting real scams every day made this problem impossible to ignore — and gave us a foundation of real-world scam intelligence to build on.
What it does
CheckVar is a Flutter-based Android app that provides real-time scam and fake news detection through a single shake gesture.
Shake to Detect Fake News: While browsing any app — Facebook, X, a news site, anything — the user shakes their phone. CheckVar captures a screenshot and stores it in device RAM, runs on-device OCR to extract visible text, then cleans and preprocesses it into key phrases. Those phrases are fed into a GPT model that generates optimized search queries, which hit Serper's web search API. The results are evaluated through a tier-based trust ranking that prioritizes Vietnam's top official news outlets (VnExpress, Tuoi Tre, VTV) and international agencies (Reuters, AP, BBC). Finally, a GPT model synthesizes everything into a final analysis and delivers a clear verdict overlay: verified, unverified, or flagged as likely false, complete with source links.
Real-Time Scam Call Detector: During a live phone call, CheckVar uses Android's Accessibility Services to capture live audio captions and generate a running transcript natively on-device. The transcript text is continuously fed through a TF-IDF gate that produces a scam likelihood score. If the score crosses the 0.5 threshold, a TF-IDF multiclass classifier kicks in to identify the specific scam type — police impersonation, bank staff fraud, prize scams, urgency tactics — and the user gets an immediate on-screen warning with the scam classification.
Community Scam Intelligence Hub: Users can report new scam patterns directly from the app. A public web portal lets anyone browse the full catalog of known scam patterns. Validated community reports are packaged into lightweight model update patches, so the on-device AI stays current with emerging tactics. The community trains the AI together.
How we built it
We built CheckVar with Flutter (Dart) targeting Android, using a hybrid architecture that keeps privacy-sensitive processing on-device while leveraging cloud APIs only where necessary.
For the scam call detector, we built a pipeline around Android's Accessibility Services to capture live audio captions during phone calls, generating a native on-device transcript in real time. The transcript feeds into a two-stage TF-IDF classification system: first, a binary gate scores the conversation's scam likelihood, and if the score exceeds the 0.5 threshold, a multiclass TF-IDF classifier identifies the specific scam type. This approach is lightweight enough to run on any Android phone without noticeable performance impact. ElevenLabs powers a natural-sounding Vietnamese voice warning system so users are alerted even when they're not looking at the screen, and also serves as an accessibility narration layer for visually impaired users.
For the fake news detector, the pipeline starts with a screen capture stored in device RAM, followed by on-device OCR to extract visible text. The raw text goes through a cleanup and preprocessing stage that distills it into key phrases. A GPT model then converts those phrases into optimized search queries, which are sent to Serper's web search API. The returned results are evaluated through our tier-based trust ranking system that weights official Vietnamese news organizations and established international outlets higher. Finally, a GPT model synthesizes all the search results and trust scores into a final analysis and user-facing verdict.
The shake gesture is detected through Android's Accelerometer API via Flutter's sensors plugin, and warnings are displayed using Android's System Alert Window for non-intrusive overlays on top of any app.
Every component follows a privacy-by-design philosophy: no audio is recorded or stored, transcripts and screen captures exist only in volatile memory during an active session, and everything is wiped the moment the session ends.
Challenges we ran into
Accessibility Services for live captions are fragile. Android's Accessibility Services behave differently across OEM skins and Android versions. Getting reliable, real-time audio captions during active phone calls required careful handling of edge cases — some devices throttle caption updates, others delay them, and permission flows vary. We had to build robust fallback logic and test across multiple devices.
On-device OCR accuracy on messy screen content. Screenshots from social media feeds are visually noisy — overlapping UI elements, emojis, ads, mixed languages. Getting clean text extraction from on-device OCR without a cloud service meant tuning our preprocessing pipeline heavily to filter out junk and isolate the actual claims worth verifying.
Tuning the TF-IDF threshold. The 0.5 threshold for the scam detection gate sounds simple, but getting it right was a balancing act. Too low and users get flooded with false positives on normal conversations. Too high and real scams slip through. We iterated through real Vietnamese scam transcript data from our Chong Lua Dao experience to calibrate it.
Building a multi-stage pipeline that stays fast. The fake news flow has six steps — capture, OCR, preprocessing, GPT query generation, Serper search, GPT analysis — and each one adds latency. We had to optimize every handoff to keep the total response time acceptable, especially on mid-range phones where OCR and preprocessing are slower.
Legal complexity around call audio processing. Vietnam's Personal Data Protection Law (PDPL) only took effect on January 1, 2026, and Article 29 specifically addresses eavesdropping and wiretapping. We spent significant time analyzing the legal framework to ensure our architecture — user-initiated, ephemeral, on-device, no storage — satisfies the law's requirements. This wasn't just a technical challenge; it shaped our entire product design.
Making it truly simple. It sounds easy to say "just shake your phone," but making the shake gesture reliable without triggering accidentally (walking, fidgeting) while still being responsive when the user actually needs it took a lot of calibration of accelerometer thresholds and timing windows.
Accomplishments that we're proud of
A complete privacy-first architecture that actually works. We didn't just write a privacy policy — we made privacy a technical guarantee. No audio is ever recorded. No transcripts are ever stored. Screen captures exist only in RAM and are wiped immediately after OCR. Every third-party integration was selected and configured to uphold this standard.
A lightweight scam classifier that punches above its weight. TF-IDF isn't the flashiest approach, but our two-stage gate-then-classify pipeline runs instantly on any Android phone with no model download, no GPU requirement, and no cloud dependency. It's fast, offline-capable for the classification step, and accurate enough to catch real Vietnamese scam patterns — trained on data informed by actual Chong Lua Dao casework.
A six-step fake news pipeline that feels like one tap. Capture → OCR → preprocessing → GPT query generation → Serper search → GPT analysis. Six steps, but to the user it's just: shake, wait a few seconds, get a verdict with sources. Making that complexity invisible was a design achievement we're proud of.
A genuine connection to Vietnam's anti-fraud ecosystem. This isn't a team that Googled "common scams in Vietnam." Our team member's active contribution to Chong Lua Dao and working relationship with Hieu PC and the NCSC means CheckVar's detection engine is grounded in real scam intelligence from day one. We have a warm path toward formal data integration with Vietnam's largest public scam reporting database, the Anti-Phishing Working Group's global threat feed.
Meaningful sponsor technology integration. We used Agora and ElevenLabs not as checkboxes but as core infrastructure. Agora powers real-time audio capabilities. ElevenLabs makes the app accessible to visually impaired users and ensures warnings are impossible to miss.
A product our families can actually use. The shake gesture means our parents and grandparents — the people most targeted by scammers — can protect themselves without learning a new app or navigating complex menus. One shake. That's it.
What we learned
Sometimes the simplest model is the right model. We initially explored heavyweight deep learning approaches for scam detection, but TF-IDF with a two-stage gate-and-classify pipeline turned out to be faster, more interpretable, and accurate enough for real-time use on mid-range phones. Not every problem needs a transformer.
A multi-step pipeline needs obsessive latency budgeting. Our fake news flow has six stages, and each one adds time. We learned to assign a latency budget to every step and optimize ruthlessly — on-device OCR and preprocessing had to be near-instant so the GPT and Serper calls didn't push total wait time past what users would tolerate.
The people most at risk from scams are the least likely to adopt complex solutions. Every feature we debated came back to the same question: would our grandmother use this? That filter killed a lot of ideas that were technically interesting but practically useless for the people who need protection most.
Community-driven intelligence is more powerful than any single dataset. The crowdsourced model update approach — where validated user reports feed back into the on-device AI — creates a defense system that evolves faster than scammers can adapt. No static database can match that.
What's next for CheckVar
Q2 2026: Launch the Community Scam Intelligence Hub with a public web portal and in-app reporting. Expand the AI scam database. Release the Google Play public beta. Deploy the ElevenLabs voice warning system.
Q3–Q4 2026: Pursue a formal data-sharing agreement with Chong Lua Dao to integrate their verified scam database. Leverage our NCSC and APWG connections for national anti-fraud reporting integration with the Authority of Information Security (hotline 156).
H1 2027: Pilot partnerships with Viettel, Mobifone, and Vinaphone to bundle CheckVar as a native carrier service — "Viettel SafeCall powered by CheckVar" — on prepaid and postpaid plans.
H2 2027: OEM discussions with Samsung Vietnam and Xiaomi Vietnam for featured placement in carrier app stores. Expand the scam model to cover emerging deepfake voice and AI-generated fraud patterns.
2028: Southeast Asian expansion to Thailand, Philippines, and Indonesia with localized scam models via the APWG global network. White-label SDK licensing to regional telecom carriers. iOS release where Apple's platform restrictions allow it.
The long-term goal is for CheckVar to become embedded infrastructure — not just an app you download, but a layer of protection that comes built into your phone and your carrier plan. One shake at a time.

Log in or sign up for Devpost to join the conversation.