Python/FastAPI Backend Engineer — Real-Time Slack-Style Chat (WebSocket, Redis, PostgreSQL)
Worldwide
We are building TeamChat, a workspace-based team collaboration platform (similar to Slack) with real-time messaging, threads, file sharing, and AI-powered features. We are hiring for 5 specialized roles in parallel; this role owns the real-time messaging core — the most critical subsystem of the platform. We have a detailed requirements document and architecture plan ready to share with shortlisted candidates. Strong performance leads to ongoing, long-term collaboration. CORE RESPONSIBILITIES & SCOPE OF WORK 1. WebSocket Gateway: Build the real-time delivery layer (FastAPI + WebSocket) handling connection lifecycle, authentication handshake (JWT), heartbeats, reconnection with message replay, and multi-device sessions per user. 2. Messaging Engine: Channels (public/private), DMs, and threaded replies. Message send/edit/delete with edit history, emoji reactions, @mentions and @channel/@here, link unfurling hooks. Guaranteed ordering per channel and at-least-once delivery with client-side dedup (message IDs). 3. Presence & Ephemeral State: Online/away/offline presence, typing indicators, and per-channel read receipts / unread counts — designed on Redis with TTL-based expiry so it scales beyond a single node. 4. Data Model & Fan-out: PostgreSQL schema for workspaces/channels/messages/memberships with pagination optimized for "jump to date" and infinite scroll. Redis pub/sub fan-out across multiple gateway instances. 5. API Contract: Versioned REST API (CRUD/history/search hooks) + documented WebSocket event protocol (OpenAPI + AsyncAPI or equivalent) for the frontend and AI teams to consume. 6. Quality: Unit + integration tests (pytest), load-test scripts for 1,000+ concurrent connections, structured logging. REQUIRED TECH STACK - Backend: Python 3.11+, FastAPI, asyncio - Database: PostgreSQL, Redis (pub/sub, streams) - Infra (consume only): Docker, AWS - Testing: pytest, locust or k6 PROJECT DETAILS - Engagement: Hourly, $13–$30/hr depending on experience. 30+ hrs/week, initial 3 months, ongoing long-term for the right person. - Process: Daily async standup (English, text), code review via GitHub PRs, 2-week sprints. At least 3–4 hours of overlap with JST (UTC+9) working hours. - IP & Code: All code delivered in our GitHub org from day one; full source ownership by us. - Language: English required. Urdu-speaking developers welcome. QUESTIONS TO ANSWER IN YOUR PROPOSAL 1. Describe a real-time system you have built (WebSocket/socket.io/SSE). What was the peak concurrent connection count, and how did you scale beyond one server? 2. How would you guarantee message ordering and handle reconnection/replay for a mobile client with an unstable network? 3. Share GitHub/portfolio links for 1–2 relevant projects. 4. Your timezone, weekly availability, and proposed hourly rate. 5. Start your proposal with the word TEAMCHAT so we know you read the full post.
- More than 30 hrs/weekHourly
- 3-6 monthsDuration
- IntermediateExperience Level
$13.00
-
$30.00
Hourly- Remote Job
- Complex projectProject Type
Skills and Expertise
Activity on this job
- Proposals:15 to 20
- Interviewing:0
- Invites sent:0
- Unanswered invites:0
About the client
- Japan3:02 PM
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by
Other open jobs by this Client (4)
- DevOps Engineer — AWS, Terraform, CI/CD & WebSocket Scaling for Real-Time Chat PlatformHourly
- Frontend Engineer (React/TypeScript) — Real-Time Chat UI for Slack-Style Platform (WebSocket)Hourly
- AI Engineer — RAG & Semantic Search for Team Chat Platform (Python, pgvector, Embeddings)Hourly
- Python/FastAPI Backend Engineer — Real-Time Slack-Style Chat (WebSocket, Redis, PostgreSQL)Hourly