Architecture Overview¶
Overview¶
SignBridge follows a layered architecture separating presentation, application logic, business logic, and data storage.
Presentation Layer¶
The front is built using HTML, CSS and JavaScript. The browser sends HTTP requests to the application layer and then receives session data in return. Then the sign language model runs entirely in the client side via TensorFlow.js, which means that no video data is sent to the server.
Application Layer¶
The application layer handles all server-side logic using Python and Flask. It consists of two main components:
WebRTC — This is used for peer-to-peer video calling and signalling is handled by SocketIO webscoket server in
call/sockets.pyWebsocket Server — built with Flask-SocketIO running on gevent, handles real-time events such as room joining, call signalling, and chat messages.
Business Logic¶
Sign language recognition runs client-side in the browser using:
TensorFlow.js — runs the SLSL classifier in the browser
Data Layer¶
Flask — manages the application, blueprints, and database access via Flask-SQLAlchemy
SQLite — used for local development
PostgreSQL — used in production on Render