Zeppler
Real-Time Dating Platform
Real-time dating platform featuring email and Google authentication, user profile discovery, a real-time chat system, and an admin moderation panel.

01Context & Problem
The platform required a responsive web experience where users could discover profiles and communicate in real time. The scope included email and Google authentication, user profile discovery, a real-time chat system with WebSockets, and an admin moderation panel.
02Engineering Ownership
What I Built
- ▸Built email and Google authentication workflows using JWT and OAuth 2.0 (Google).
- ▸Implemented user profile discovery interfaces and endpoints using React and Express.js.
- ▸Engineered the real-time chat system using Socket.IO and WebSockets.
- ▸Created the admin moderation panel with role-based access control in React.
What I Did Not Build
- ▸Worked from product specifications provided by the client rather than designing the user interface myself.
03Stack & Rationale
Client interface and state management for user profile discovery and active chats.
Bidirectional real-time communication enabling instant message delivery.
REST APIs for profile management and authentication paired with the real-time server.
Document storage for user accounts, profiles, and chat message history.
04System Architecture
Component topology, data flows, and authorization boundaries:
05Authentication & Authorization
06Hard Technical Challenges & Solutions
Restricting Socket Access to Authenticated Users
Problem: Socket connections required verification before allowing users to enter chat rooms or send messages.
Solution: JWT verification was integrated into Socket.IO connection middleware, establishing the authenticated user identity before chat events were processed.
Admin Moderation Access Control
Problem: Admin moderation tools required access to user profiles and reports without exposing moderation endpoints to standard users.
Solution: Role-based access control middleware checked administrative privileges on protected Express.js routes before allowing moderation actions.
07What I Would Do Differently Now
If I were building this platform today, I would add automated testing for the Socket.IO event handlers and REST API endpoints. I would also containerize the application using Docker and set up CI/CD with GitHub Actions to automate testing.