Kursal Chat banner

Kursal Chat

9 devlogs
96h 5m 49s

A peer-to-peer, end-to-end encrypted messaging app that puts you in control. No servers. No tracking. Just your private conversations.

This project uses AI
  • Front-end aka interface (the most important part is the back-end anyway)
  • Help on the install scripts
  • Slight help on some functionalities (no code writing)
  • Proof-testing my ideas
Demo Repository

Loading README...

Kubik

[LOCK IN] So many bug fixes and improvements! :D


šŸš€ What’s done?

  • Fixed logging, with rotating logging files that get .tar.gz’d
  • Fixed keychain 😭
  • File associations: .kursal files can be opened in-app and trigger events (like long term code files)
  • ANDROID FIX! it now works on android too! (UI buggy though)
  • PROPER PreKey generation fixes
  • Tested the lookup_rendezvous feature to re-sync listening addresses between two contacts - HOLY MOLY IT WOKRS
  • you cannot add yourself as a contact anymore. dont try this.

What next ✨

  • still improve UI
  • editing, deleting, reactions
  • F I L E transfers (unlimited size!)

oh yeah and i made a demo video! check that one out on the github release :p

Attachment
Attachment
Attachment
0
Kubik

[LOCK IN] Improvements! And a public prototype šŸŽ‰


šŸš€ What’s done?

  • Added an auto-updater to the app
  • Key utilities shell script (for generating signing keys)
  • Added a log system (with rotating file name)
  • USERNAMES AND AVATAR!!! you can share it (or not) to your contacts
  • In-app benchmarks (only one for now)
  • Revised One-Time-Password hashing parameters (it was too strong)

What next ✨

  • Would be cool to have a ā€œper-deviceā€ build script or like a ā€œself-buildā€ script
  • Test app on all devices… (gosh)
Attachment
Attachment
0
Kubik

[LOCK IN] fixed lots of bugs… and some improvements :D


šŸš€ What’s done?

  • started by adding a android/ios support! (apk to install, or ipa for iPhone but like.. you need something like altstore)
  • fixed DNS swarm multiaddr
  • check the DHT record before accepting the entry
  • interface improvements (small ones)
  • you can now remove a contact! (will clear messages)
  • ability to block/unblock contacts (to keep message history)

What next ✨

  • still interface 😭
  • usernames and avatar (lol i didnt do that since last devlog)
Attachment
Attachment
0
Kubik

[LOCK IN] uh i thought i had to devlog more than 10 hours so uh.. sorry for the 14h devlog šŸ˜…


šŸš€ What’s done?

  • spent $28 of claude credits for the interface… to be the same 😭
  • fixed bugs! lots of ’em:
    • security code now works :p (prevents man in the middle attack)
    • one time password and long term code works now… lol
    • nearby contact works better now (it was really buggy before)
  • PEER ID ROTATION, that was so haardd 😭 but IT WORKS HOLY MOLY

What next ✨

  • interface… still… i’m outta credits though bruh
  • test… test… test… (again)
  • usernames and avatar (it looks ugly right now LOL)
  • kursal:// protocol

there’s still lots of work to be done! but take a look at the screenshots it’s coming together :)))

Attachment
Attachment
Attachment
0
Kubik

IT’S STARTING TO ALL COME TOGETHER šŸ—£ļø


šŸš€ What’s done?

  • Debugged lots of magic
  • Whole CLI sidequest LOL: Open a new relay with a TOML config to participate to the Kursal Network
  • GOT MDNS TO WORK AND MESSAGING HOLY MOLY (see screenshots :p)
  • Oh and i bought the https://kursal.chat domain name (fire)

What next ✨

  • still make the interface better (right now it’s made with GPT-5.3, I bought credits to make with Claude, probs Opus will see)
  • test… test… test

i’m so proud of that project I think i’m seeing the end of it! i think

Attachment
Attachment
Attachment
0
Kubik

okay… FINALLY done with the backend stuff!


šŸš€ What’s done?

  • Went through all the code to look for bugs and vulnerabilities (thanks code rabbit)
  • Wrote all the bindings for Tauri!
  • Started writing the web interface with AI

What next ✨

  • finish the interface lol
  • debug stuff 😭 (seems like connections aren’t working yet)

next devlogs will probably contain real screenshots lol

Attachment
Attachment
0
Kubik

Last utilities functions written! I can finally start working on putting everything together!


šŸš€ What’s done?

  • Finished the One-Time-Password
  • Long-Term-Code: Generate, share and load long term cryptographic keys (omg that sounds so nerd lol)
  • Nearby Share: that was the most difficult, made modular structures to allow MDNS discovery… and maybe bluetooth in the future? (that would be fiiireee)
  • Messaging Pipeline: Connection between messages and database, global message structure and more :p
  • oh and more tests

What next ✨

  • Look for bugs and vulnerabilities… Yeah I want and have to check for those lol
  • Start working with Tauri! (allows to make desktop apps)

I think I’m done with the hardest… but there’s still a long way to go lol, hopefully i’ll make it in time before the end of the event…. ;-;

Attachment
Attachment
0
Kubik

Same as before, more utility functions to use later! Got more progress done!


šŸš€ What’s done?

  • Finished Crypto Layer
  • Message Types: serialize, deserialize & more
  • Network Layer: manages the decentralized network
  • Peer ID Rotation: utility functions to rotate peer ID (enhanced security :p)
  • DHT Rendezvous: prepare all the Distributed Hash Table magic
  • Contact Management: Saving/Loading contacts
  • One Time Password (OTP): In progress! Prepare, hash, publish and fetch the entry

What next ✨

  • Finish the OTP
  • More first contact options (long term code, nearby share)

I don’t know how I’ve managed to add so much stuff LOL

Still VERY nerd sorry I still don’t have any demo :(

Attachment
Attachment
0
Kubik

Sorry it’s hard to show anything for now, it’s really like project scaffolding and useful functions… But I did a whole plan with steps that will take quite some time :)


What’s done? šŸš€

  • Project Scaffolding & dependencies (had to install libsignal, was quite hard lol)
  • Custom Rust Errors (really useful!)
  • Database Storage: makes saving encryption keys easier basically
  • Identity: Generate key pairs and stuff (nerd magic i guess)
  • Crypto: Dilithium-5 signing, message en/decryption, pre-key bundle generator
  • oh and tests for each category :p

What next ✨

  • Message Types
  • Network Layer (will take HUGE amount of time)
  • and maybe Peer ID rotation? maybe?

I know this sounds like nerd as heck but I dont have any choice lol that’s literally my project 🤷

I also made a website for this project: https://kursal.openvoxel.studio if you wanna check it out, there’s also a whitepaper about the technical stack, even though it has been reworked a bit

Attachment
Attachment
0