Inspiration

Most communication apps require heavy desktop apps or native mobile downloads to access advanced features like real-time delivery tracking, reactions, and calling. I wanted to build a web-first communication ecosystem that delivers a high-fidelity native app experience directly inside a basic mobile browser—without forcing users to install bulky software.

How I Built It

ChatSun is engineered using a highly performant, microservices-driven cloud architecture.

  • The Engine: Python (FastAPI) serves as the core asynchronous web server handling long-lived WebSocket connections.
  • The Storage: MongoDB Atlas tracks fluid multi-document message schemas and user states, while dynamic asset uploads are securely processed.
  • The Interface: The frontend is a responsive glassmorphism client application constructed with HTML, CSS, JavaScript, and Tailwind CSS, hosted on Netlify.
  • The Security: User sessions are protected using a dual-layer authentication engine powered by Google OAuth, email OTP workflows, and stateless secure JSON Web Tokens (JWT) mapped against Argon2 password hashes.

Challenges I Faced

Because my desktop hardware was too slow to handle heavy local development server loads, I engineered this entire full-stack platform directly from a smartphone terminal.

I had to adapt by utilizing cloud-based GitHub container workspaces (Codespaces) to build, test, and run my Docker environments. Typing thousands of lines of asynchronous logic, managing WebRTC signaling loops, and debugging complex network states on a 6.4-inch mobile screen required extreme discipline in modular system design and remote cloud execution.

Another massive hurdle was handling automated cold-starts and database connection sleep timeouts on free-tier hosting networks (Render). I solved this by writing a custom background thread worker loop in Python to keep my core microservices responsive during evaluation.

What I Learned

Through this project, I mastered the internals of asynchronous Python network architecture, bi-directional WebSocket state tracking, and handling mobile hardware telemetry via the browser's native DeviceMotionEvent sensors (enabling our signature physical shake-to-hang-up call action). Most importantly, I proved that you do not need an expensive computer setup to engineer scalable, high-level developer products.

Built With

Share this project:

Updates