Inspiration

Every other messaging app has its flaws. WhatsApp? Made by Meta (RIP privacy) Telegram? Too many bots. Signal? eh... pass

What it does

It sends message (singular) to a client over a server.

How we built it

I used the open-source Signal Protocol send transmit a message across a network in an Android App. (it's much harder than it sounds, trust me, just look below)

Challenges we ran into

  • Understanding Cryptography
  • Understanding Networking
  • Understanding Android Permissions for Networking
  • Implementing Secure Persistent Storage for Public/private key pairs
  • No documentation because EVERYTHING IS OUTDATED THE LIBRARY IM USING IS ALREADY DEPRECATED THEY WANT ME TO USE RUST OR SOMETHING LIKE WHAAAT (sorry I'm very unhinged its 2am where I live and there's school tomorrow)

Accomplishments that we're proud of

  • Implemented the Signal Protocol 🎉🎉🎉
  • Somehow I managed to squeeze in inter-device networking
  • Following Material Design guidelines in the 5 on-screen elements I had

What we learned

  • A LOT about Cryptography
  • A bit about networking
  • Never again to sign up for a hackathon on Common Test Week (my GPA going to drop by half rn)

What's next for KnockKnock

KnockKnock was supposed to be my Computer Science module project, but I decided to do the hardest part (which I allocated myself two weeks for) in two days (thanks past me). This project will undergo further modifications such that it will actually be useful.

Built With

  • android
  • kotlin
  • networking
  • signal-protocol
Share this project:

Updates