Skip to content
md ~/projects/cipher
Project archive

2026

Cipher - Final Project

  • Go
  • Flutter
  • WebRTC

Overview

An end-to-end encrypted peer-to-peer messaging app, built with a teammate and published in IJANA (2026). Messages never reach a central server in plain text. The Go core connects over WebRTC first, falls back to UDP and then to an encrypted relay, and is bridged to Flutter with Gomobile.

01 · Problem

In common messaging apps, messages pass through central servers. If the server is compromised or unreachable, both communication and privacy are at risk.

02 · Solution

Together with a teammate, I designed a P2P architecture that connects devices directly. We wrote the networking and cryptography core in Go: it connects over WebRTC first, falls back to UDP and then to an encrypted relay. The core is bridged to the Flutter interface with Gomobile, and messages are end-to-end encrypted.

03 · Outcome

Developed as our graduation project, the system was published as "Cipher: An End-to-End Encrypted Peer-to-Peer Instant Mobile Messaging System" in the International Journal of Advanced Networking and Applications (IJANA, Vol. 18, Issue 2, 2026).