Frontend Engineer (React/TypeScript) — Real-Time Chat UI for Slack-Style Platform (WebSocket)

Posted 2 weeks ago

Worldwide

Summary

We are building TeamChat, a workspace-based team collaboration platform (similar to Slack). This role owns the entire web client: a fast, polished, real-time chat UI. We have detailed UI requirements and an API/event contract from the backend team ready to share with shortlisted candidates. One of 5 parallel roles; strong performance leads to ongoing, long-term collaboration. CORE RESPONSIBILITIES & SCOPE OF WORK 1. App Shell & Navigation: Workspace switcher, channel sidebar with sections/unread badges, quick switcher (Cmd+K), responsive layout down to tablet. 2. Message List: Virtualized infinite scroll (tens of thousands of messages), day separators, new-message divider, edit/delete states, reactions, threads in side panel, optimistic sending with retry/failed states. 3. Composer: Rich text (bold/italic/code blocks), @mention and emoji autocomplete, file attach with upload progress, draft persistence per channel. 4. Real-Time Integration: WebSocket event handling (new message, edits, presence, typing, read receipts) with reconnection and state reconciliation; client state via Zustand/Redux + TanStack Query. 5. Notifications UI: Unread/mention badges, notification preference screens, in-app toasts. 6. Quality: Component library with Storybook, unit tests (Vitest/RTL), Lighthouse performance budget, dark mode. REQUIRED TECH STACK - React 18+, TypeScript (strict), Vite - State: Zustand or Redux Toolkit + TanStack Query - Styling: Tailwind CSS - Real-time: native WebSocket handling - Testing: Vitest, React Testing Library, Storybook 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). - 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. Share a complex real-time or data-heavy UI you built (links/screenshots/GitHub). What was the hardest rendering-performance problem and how did you solve it? 2. How would you implement optimistic message sending with failure recovery? 3. Have you built a virtualized message/feed list before? With which library, and why? 4. Timezone, weekly availability, proposed rate. 5. Start your proposal with the word TEAMCHAT.

  • More than 30 hrs/week
    Hourly
  • 3-6 months
    Duration
  • Intermediate
    Experience Level
  • $13.00

    -

    $30.00

    Hourly
  • Remote Job
  • Complex project
    Project Type
Skills and Expertise
Mandatory skills
Tailwind CSS
React
TypeScript
Activity on this job
  • Proposals:20 to 50
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Jun 2, 2026
  • Japan
    渋谷区12:34 PM

Explore similar jobs on Upwork

HTML
Microsoft Outlook
CSS
Web Design
Sales
Appointment Setting

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers 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

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo