Singapore Web, App, AI Automation & Custom Software Developer
Real automation case study

A Singapore-wide accident alert system that turns live traffic data into useful Telegram notifications.

This project needed more than a normal script. It had to scan Singapore reliably, avoid duplicate alerts, handle API and Telegram failures calmly, and send timely accident updates into a Telegram group without someone staring at a dashboard all day.

Coverage Singapore-wide scan Frequency every 60 seconds Delivery Telegram group alerts
Traffic monitor Live scan
Singapore
Scan 10 overlapping Singapore regions Filter Waze-sourced accident alerts Send deduplicated Telegram notifications
Problem

Singapore traffic data is useful only if it arrives cleanly and quickly.

The project needed to monitor accident alerts across Singapore without relying on a person to keep refreshing a map. A single broad query was not enough because location data can be uneven, duplicated or noisy. The system needed structured coverage and sensible filtering.

Solution

A dependency-free PHP worker with concurrent regional scanning.

We built a PHP automation that calls Waze-sourced alert data through the OpenWeb Ninja API, scans 10 overlapping Singapore regions every minute, filters for accident alerts, removes duplicates, stores state and sends formatted Telegram group messages with a Waze map link.

Outcome

A practical alert system that keeps moving without daily hand-holding.

The finished system delivered 419 accident alerts in a recent 24-hour operational snapshot, with 0 Telegram delivery failures recorded in that snapshot. More importantly, it turned raw external data into a workflow people could actually use.

Workflow built

From traffic API data to Telegram alert.

Custom software services
01

Scheduled Scan

A lightweight worker runs every minute so the system can check fresh traffic information without manual action.

02

Regional Coverage

The monitor checks 10 overlapping Singapore regions instead of trusting one broad request to catch everything neatly.

03

API Collection

It reads Waze-sourced alert data through the OpenWeb Ninja API and normalises the useful fields for processing.

04

Accident Filtering

The system keeps Singapore accident alerts and ignores unrelated alert types, non-Singapore items and incomplete data.

05

Deduplication

Incident IDs are remembered for 7 days so the Telegram group does not receive the same alert again and again.

06

Telegram Delivery

Formatted alerts are sent to the Telegram group with location details and a Waze link for quick follow-up.

Architecture decision

Why "just call the API once" was not enough.

On paper, an alert bot sounds simple. Call API, send message, done. Then real life comes in wearing slippers and says: duplicate alerts, missing coordinates, API timeouts, region boundary issues, Telegram failures and state tracking. So the system had to be boring in the best way: predictable, defensive and easy to monitor.

The build avoids unnecessary dependency weight and keeps the moving parts understandable. It uses concurrent scanning to reduce delay, a local state store for deduplication and retry metadata, and operational checks so we can see whether the worker is still healthy.

10-region Singapore scan grid 60-second polling cycle Singapore-only filtering 7-day duplicate prevention Telegram retry handling Monitor status command Waze location link Dependency-free PHP implementation
Alert format Useful, not noisy.

The Telegram message focuses on what matters: incident type, location, time and a map link for fast action.

Recent 24-hour snapshot 419 alerts delivered
Delivery quality 0 Telegram failures recorded
System flow

The moving parts were kept clear and inspectable.

OpenWeb Ninja Waze API
Concurrent region scan
Singapore accident filter
Deduplicate and retry state
Telegram group alert
What made this robust

The quiet safeguards matter more than the flashy parts.

Many automations look impressive in a demo. The real test is what happens at 2am when the API is slow, Telegram rejects a request, or the same accident appears through multiple regions. This system was designed with those small annoying realities in mind, because small annoying realities are usually where business systems break.

Retry queue for failed Telegram sends Region overlap to reduce missed boundary cases Duplicate suppression using incident IDs CLI-friendly monitor checks Configuration kept outside public output Lightweight runtime for simple hosting
Business applications

The same automation thinking works beyond traffic alerts.

Operational alert bots

Send Telegram, WhatsApp-style or email alerts when important business events happen.

API monitoring systems

Pull external data, clean it, check rules and notify the right team without manual refresh work.

Location-aware workflows

Track jobs, incidents, service areas, branches, delivery zones or map-based activity.

Custom business automation

Replace repeated checking, copying and chasing with a system that handles the routine parts.

Need a system that watches things for you?

We can turn messy data, APIs and alerts into a practical business workflow.

If your team is still checking dashboards, copying messages, monitoring inboxes or refreshing portals manually, there may be a calmer way to build it.

Discuss an automation
Anees Khan of Getcha Solutions
Quick contact card

Anees Khan

Founder-led web, mobile app and custom management systems team. Send us your issue, current website, or idea and we will help identify the practical next step.

Pricing starting point

Start with a clear scope before you start spending heavily.

Small fixes, audits and consultation can start from a practical entry point. Full websites, apps and systems are quoted after scope, screens, roles and workflow are clear.

  • Free initial audit or consultation for serious enquiries
  • Different options for fix, improve, rebuild or new build
  • Clear deliverables before development begins

Request a free audit