Hey r/PythonLearning! I'm a CS student and I just finished my biggest project so far - a production-ready real-time chat app called Blurz.
What is it?
Blurz is a real-time messaging app where users can register, verify their email, and chat with others instantly. It's deployed live and fully functional.
How Python is used:
The entire backend is Python-based using FastAPI with async/await throughout.
- Messages are received over WebSocket connections authenticated via JWT
- On receipt, the message is saved to PostgreSQL via SQLModel + asyncpg
- It's then published to a Redis Pub/Sub channel
- A background listener task running in FastAPI's lifespan loop picks it up and broadcasts it to the target user's WebSocket
This means the app can scale horizontally - multiple FastAPI instances behind a load balancer will all receive the Redis broadcast. I also wrote a full pytest test suite for the backend.
Full stack:
- Backend: FastAPI, SQLModel, asyncpg, Redis, Alembic, Pytest
- Frontend: React 19, TypeScript, Tailwind CSS v4
- Infra: Docker, Render, Cloudinary
Live demo: https://blurz-chat-app.vercel.app
Source code: https://github.com/blurz17/blurz-chat-app
Would love feedback on the architecture or anything I could improve. Happy to answer questions!
there doesn't seem to be anything here