Caschat

Inspiration

I have always wanted to build my personal chatting application to be highly secure. I wanted a platform where data privacy isn't just a dream, but the core foundation of the entire system.

What it does

Caschat allows users to instantly send and receive secure messages. it provides a seamless chat experience while ensuring that communication remains private and protected between users.

How I built it

  • Frontend & UI: Developed using the Godot Engine, using its powerful scene system and node structure to design the application interface.
  • Networking: used the HTTPRequest nodes in Godot to communicate smoothly with my cool pocket base backend api.
  • Backend Database: Self-hosted and configured a PocketBase instance to manage user authentication, real-time message routing, and data storage.

Challenges I ran into

  • UI/UX Design: I want unable to create a beautiful and user-friendly interface. So, I spent time learning and studying designs on Figma and adapted those professional layout concepts into Godot's UI control nodes.
  • Hosting: Finding a reliable, completely free VPS (Virtual Private Server) to host tmy PocketBase instance was very difficult, but through research, I successfully deployed the backend for free.

Accomplishments that I'm proud of

  • Cross-Discipline Engineering: I Successfully used a game engine (Godot) to act as a highly functional, lightweight desktop/mobile chat client.
  • Self-Hosting Triumph: Successfully deployed and configured my own cloud infrastructure using a free-tier VPS and PocketBase.
  • Bridge Built: Seamlessly connected Godot's HTTP architecture with a real-time backend database.

What I learned

  • How to adapt gaming UI tools to fit standard application design guidelines.
  • The ins and outs of Linux server management, port forwarding, and maintaining a live VPS instance.
  • Best practices for handling JSON data streams and asynchronous HTTP requests within Godot.

What's next for Caschat

  • True End-to-End Encryption (E2EE): Implementing client-side cryptographic keys so even the database cannot read the messages.
  • Rich Media Support: Adding the ability to share images, voice notes, and files safely.
  • Push Notifications: Integrating background listeners so users never miss a message when the app is closed.

Built With

  • gdscript
  • godot
Share this project:

Updates