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