jagnani73P.03
[the record]STATUS: NTU SINGAPORE — AUG 2026

Shikshak

HACK THIS FALL 2020 · 1ST
the online classroom, rebuilt without video — a blackboard streamed as pixels, ~85% less data
fig. 1 — a blackboard captured as a pixel stream — ~85% less data than videoOpenCV · Socket.IO

CAMERA · blackboard

STUDENT · canvas

raw video 3GB/day
0%
01THE PROBLEM3GB/day put class out of reach

Remote learning meant video calls burning upwards of 3GB of mobile data a day — putting class out of reach for rural and low-income students.

Shikshak ("teacher" in Hindi) rethinks the online classroom from scratch. Instead of streaming video, a teacher writes on a physical blackboard; a real-time ML pipeline detects the board, isolates its surface, and converts the content into a compact pixel array — about 85% less data than raw video. Won First Position at Hack This Fall 2020.

02THE ARCHITECTUREOpenCV → pixel array → Socket.IO

An ML pipeline (OpenCV, Canny edge detection) finds the board's corners and converts the surface to a pixel-mapped array — ~85% smaller than video. That array streams over Socket.IO, where the Canvas API rebuilds the board; WebRTC carries audio-only so teacher and students stay in voice contact.

01

DETECT

find + isolate the blackboard

OpenCV · Canny

02

COMPRESS

surface → pixel array, ~85% smaller

imutils

03

STREAM

push the array in real time

Socket.IO

04

REBUILD

canvas redraw + audio-only voice

Canvas API · WebRTC

STACK — React · TypeScript · OpenCV · Socket.IO · WebRTC · Canvas API
03THE HARD PARTaudio-only, in sync

I built the full frontend — the teacher calibration interface and the student canvas. The trickiest piece was WebRTC audio: constraining the peer connection to audio only while keeping it synced with the Socket.IO data channel:

01

board calibration

teacher sets the boundary before a session

02

pixel-stream canvas

student-side reconstruction of the board

03

audio-only WebRTC

voice without the video overhead

04

data-channel sync

keeping audio aligned with the pixel stream

04IN THE WILDplates 01–03 · the classroom