← Work

Computer vision LPR / Incoresoft integration / NestJS

eCaller

A smart student dismissal system for schools. When a parent's car reaches the gate, Incoresoft licence-plate recognition, the camera platform adopted by Aramco, reads the plate and fires an event to eCaller, which calls that parent's children on the classroom dismissal screen in real time.

  • Computer vision LPR
  • Incoresoft integration
  • NestJS
  • Socket.io
  • TypeScript
  • Arabic RTL
Role
Full-stack engineer
Year
2026
call when the car arrives
Automatic
Incoresoft licence-plate recognition reading number plates from a camera stream, the trigger for eCaller's automatic student dismissal calls

School dismissal is a queue of cars and a list of names. eCaller turns the car itself into the request: when a registered parent's car reaches the gate, the right children are called in their classroom automatically.

From the gate to the classroom

eCaller dismissal flow: a parent's car arrives, Incoresoft reads the plate and matches it, an event calls the eCaller API, and Socket.io pushes the call to the classroom screeneCaller dismissal flow: a parent's car arrives, Incoresoft reads the plate and matches it, an event calls the eCaller API, and Socket.io pushes the call to the classroom screen

The camera does the calling. The school's screens see it the moment it happens.

Where Incoresoft fits

Incoresoft is the video-analytics platform adopted by Aramco, and its licence-plate recognition module does the seeing. It reads each plate in the gate lane and checks it against a list, which for a school is the list of registered guardian cars. The screenshot at the top of this page is that module running on a test stream.

The integration lives in Incoresoft's own event editor. eCaller is registered there as an event: when a listed plate is recognised, the rule calls the eCaller API. A successful call also sends a Telegram message, and a failed one ends the rule.

Incoresoft event editor with the eCaller rule: start, an API call to eCaller, a Telegram notification on success, and a stop on failure

The whole integration is one rule: plate recognised, call the API, confirm on Telegram.

What the school sees

On the eCaller side, a NestJS API receives the event, resolves the car to its guardian and the children that guardian can collect, and pushes the call over Socket.io. The teacher's dashboard is Arabic-first and right to left.

eCaller teacher dashboard in Arabic with the dismissal screen, early-leave permissions, student and guardian management, teachers, reports and settings

The dismissal screen shows live call requests by class. Early-leave permissions, students, guardians and reports sit beside it.

The cold open of How I ship software with AI agents happened on this project: a 3,000-line agent diff that didn't compile, two hours before an eCaller staging demo.