Shipped our new onboarding flow today. Thanks to everyone who tested it last week.
Web platformsProfessional networking platform
A professional network with real-time messaging, on web, Android and iOS
People keep in touch with the people they have worked with, build a reputation through what they post, and find their next role. One API serves the website and both mobile apps.
Illustrative screen with sample data. Client data is not shown.
How it works
- Web and mobile apps React on the web, Expo on Android and iOS
- One API Node.js and Express, any number of servers
- Redis Sessions, rate limits, live updates, jobs
- PostgreSQL Drizzle ORM, indexed for the feed
- Client
- A startup client
- Year
- 2026
- Platforms
- Web, Android, iOS
- Built with
- TypeScript, Node.js, Express, PostgreSQL, Drizzle ORM, Redis, BullMQ, WebSockets, React, Expo
- Team
- Awais Tariq
Members build a profile, connect with colleagues, post updates, message each other in real time, join groups and apply for jobs. Companies post roles and find people. The website and the Android and iOS apps are clients of the same API, so a member’s session, privacy settings and premium status are one record everywhere.
What we built
- Feed, profiles, connections with mutual counts, and “people you may know”
- Real-time messaging with reactions and @mentions, and live group rooms
- Jobs with search filters, notifications with per-member preferences
- Premium membership with card payments, and résumé import into a profile
- An admin console for staff, support tickets and moderation
- Android and iOS apps built with Expo and React Native, sharing the API contract with the web app
What was hard
Real-time that still works with more than one server. The first version kept each server’s open connections in memory, so a message only reached people connected to the same server process. We moved the fan-out to Redis pub/sub, which lets any number of API servers run behind a load balancer, and added database pool limits and the indexes the feed was missing.
Security before scale. We ran four full audit-and-fix rounds before launch. They closed stored cross-site scripting, gaps in CSRF protection, sessions that were not revoked when they should have been, and a check on who may join a live group room.
How it runs
Docker on a Linux server behind Caddy, with connection pooling, backups, error tracking and Prometheus monitoring, plus a written deploy guide for the client.