Local AI assistant for reviewing suspicious Pakistani notices and messages with MiniCPM, Nemotron-Parse, and Docker CUDA support.
See the codeReview suspicious Pakistani messages and screenshots before you click, pay, or reply.
Try the live demo · Read the field notes · View the trace dataset

NoticeCheck is the fully local version of my earlier Pakistan Notice Helper, created for the Hugging Face Hackathon. It helps people review suspicious Pakistani messages and screenshots before acting on them.
The app handles SMS messages, bank alerts, bills, courier notices, challans, emails, and screenshots. Each assessment includes:
The hosted demo uses Hugging Face ZeroGPU. The same Transformers pipeline runs privately on a local NVIDIA GPU through Docker Compose.
flowchart LR
A{Input type}
B[Text notice]
C[Screenshot]
D[NVIDIA Nemotron-Parse v1.2]
E[Extracted text]
F[MiniCPM5-1B]
G[Structured risk assessment]
H[Risk label]
I[Warning signs]
J[Safer actions]
K[Optional reply]
L[(Privacy-safe trace)]
A -->|Paste message| B
A -->|Upload image| C
C --> D --> E
B --> F
E --> F
F --> G
G --> H
G --> I
G --> J
G --> K
G -. Optional and redacted .-> L
| Component | Technology |
|---|---|
| Reasoning model | openbmb/MiniCPM5-1B |
| Screenshot OCR | nvidia/NVIDIA-Nemotron-Parse-v1.2 |
| Inference | PyTorch and Transformers |
| Hosted compute | Hugging Face ZeroGPU |
| Local compute | NVIDIA CUDA through Docker Compose |
| Interface | Custom Gradio, HTML, CSS, and JavaScript |
[!IMPORTANT] Local inference requires Docker Compose 2.30 or newer, a supported NVIDIA GPU with a current driver, NVIDIA Container Toolkit on Linux, and enough disk space and VRAM for both models.
Clone the repository, download its Git LFS assets, and confirm that NVIDIA Container Toolkit exposes the GPU inside Docker:
git clone https://github.com/kingabzpro/local-notice-check.git
cd local-notice-check
git lfs install
git lfs pull
docker run --rm --gpus all \
pytorch/pytorch:2.9.1-cuda12.8-cudnn9-runtime \
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"
docker compose up --build
The GPU check must report True and print the NVIDIA GPU name.
Open http://localhost:7860.
The first run downloads both models. Docker stores them in a persistent volume, so later starts can reuse them.
Create a .env file beside compose.yaml to override the defaults:
NOTICECHECK_PORT=7860
TRANSFORMERS_MODEL_REPO=openbmb/MiniCPM5-1B
MODEL_ENABLE_THINKING=0
HF_TOKEN=
Stop the containers:
docker compose down
Remove the containers and downloaded model volumes:
docker compose down --volumes
Local Docker inference keeps notices and screenshots away from remote model APIs. Optional trace publishing excludes raw text, screenshots, OCR text, links, identifiers, and full model responses. See the trace dataset card for the schema and privacy rules.
[!TIP] Leave
HF_TOKENempty to run locally without publishing privacy-safe traces to Hugging Face.
[!WARNING] NoticeCheck provides decision support, not proof that a sender is genuine. Never share OTPs, PINs, passwords, CVVs, CNIC numbers, or card details. Verify suspicious messages through an official website, app, statement, card, or independently located helpline.
The interface and generated assessments are currently English-only. OCR may detect other languages, but the app does not generate Urdu assessments.
Local AI assistant for reviewing suspicious Pakistani notices and messages with MiniCPM, Nemotron-Parse, and Docker CUDA support.
See the codeReview suspicious Pakistani messages and screenshots before you click, pay, or reply.
Try the live demo · Read the field notes · View the trace dataset

NoticeCheck is the fully local version of my earlier Pakistan Notice Helper, created for the Hugging Face Hackathon. It helps people review suspicious Pakistani messages and screenshots before acting on them.
The app handles SMS messages, bank alerts, bills, courier notices, challans, emails, and screenshots. Each assessment includes:
The hosted demo uses Hugging Face ZeroGPU. The same Transformers pipeline runs privately on a local NVIDIA GPU through Docker Compose.
flowchart LR
A{Input type}
B[Text notice]
C[Screenshot]
D[NVIDIA Nemotron-Parse v1.2]
E[Extracted text]
F[MiniCPM5-1B]
G[Structured risk assessment]
H[Risk label]
I[Warning signs]
J[Safer actions]
K[Optional reply]
L[(Privacy-safe trace)]
A -->|Paste message| B
A -->|Upload image| C
C --> D --> E
B --> F
E --> F
F --> G
G --> H
G --> I
G --> J
G --> K
G -. Optional and redacted .-> L
| Component | Technology |
|---|---|
| Reasoning model | openbmb/MiniCPM5-1B |
| Screenshot OCR | nvidia/NVIDIA-Nemotron-Parse-v1.2 |
| Inference | PyTorch and Transformers |
| Hosted compute | Hugging Face ZeroGPU |
| Local compute | NVIDIA CUDA through Docker Compose |
| Interface | Custom Gradio, HTML, CSS, and JavaScript |
[!IMPORTANT] Local inference requires Docker Compose 2.30 or newer, a supported NVIDIA GPU with a current driver, NVIDIA Container Toolkit on Linux, and enough disk space and VRAM for both models.
Clone the repository, download its Git LFS assets, and confirm that NVIDIA Container Toolkit exposes the GPU inside Docker:
git clone https://github.com/kingabzpro/local-notice-check.git
cd local-notice-check
git lfs install
git lfs pull
docker run --rm --gpus all \
pytorch/pytorch:2.9.1-cuda12.8-cudnn9-runtime \
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"
docker compose up --build
The GPU check must report True and print the NVIDIA GPU name.
Open http://localhost:7860.
The first run downloads both models. Docker stores them in a persistent volume, so later starts can reuse them.
Create a .env file beside compose.yaml to override the defaults:
NOTICECHECK_PORT=7860
TRANSFORMERS_MODEL_REPO=openbmb/MiniCPM5-1B
MODEL_ENABLE_THINKING=0
HF_TOKEN=
Stop the containers:
docker compose down
Remove the containers and downloaded model volumes:
docker compose down --volumes
Local Docker inference keeps notices and screenshots away from remote model APIs. Optional trace publishing excludes raw text, screenshots, OCR text, links, identifiers, and full model responses. See the trace dataset card for the schema and privacy rules.
[!TIP] Leave
HF_TOKENempty to run locally without publishing privacy-safe traces to Hugging Face.
[!WARNING] NoticeCheck provides decision support, not proof that a sender is genuine. Never share OTPs, PINs, passwords, CVVs, CNIC numbers, or card details. Verify suspicious messages through an official website, app, statement, card, or independently located helpline.
The interface and generated assessments are currently English-only. OCR may detect other languages, but the app does not generate Urdu assessments.