Challenges/Read AI/General/Keeping Meetings in Sync (Private Link)

    Keeping Meetings in Sync (Private Link)

    Simplify and stabilize Read's meeting sync system

    System Design
    Data Synchronization
    Conflict Resolution
    API Integration
    Backend Engineering
    Estimated Time:
    1 hour
    Difficulty:Intermediate
    Status:Not started
    Start this challenge

    Create a free account to upload your work. Your progress saves as a draft until you submit.

    What You'll Be Doing

    Role: Senior Backend Engineer Team: Backend Infrastructure Location: Remote

    Scenario — "Keeping Meetings in Sync"

    Read AI connects to Google Calendar, Outlook, Slack, and Zoom to summarize and analyze meetings. When users update or delete events, Read must stay perfectly aligned — no duplicates, no ghosts, no outdated data.

    Problem: Events can arrive out of order or from multiple providers describing the same meeting. Sometimes only one instance of a recurring meeting moves or gets canceled.

    Your Task: Design a lightweight sync service that keeps Read's internal event store consistent. It should:

    • Ingest updates from multiple providers
    • Use timestamps or version keys to decide which update wins
    • Handle creates, updates, deletes, and recurring exceptions
    • Resolve duplicates or overlaps in a predictable way

    Example event input:

    {
      "provider": "google_calendar",
      "op": "updated",
      "id": "gcal_123",
      "start": "2025-10-16T17:00:00Z",
      "updated_at": "2025-10-08T09:02:00Z"
    }
    

    Submit a video walking us through your approach, along with a system design sketch and a conflict resolution plan.

    Challenge Guidelines

    • Video: 7–10 minutes (continuous recording, one take)
    • Written Artifacts: Two short (max 1 page each) documents
    • Scenario: Simplify and stabilize Read's meeting sync system
    • AI Usage Declaration: Required

    What You'll Accomplish

    Design event synchronization systems across multiple providers

    Implement conflict resolution strategies for distributed data

    Handle out-of-order updates and eventual consistency

    Build predictable deduplication logic

    Design for reliability in asynchronous systems

    How Your Work Will Be Scored

    System Design Clarity — 40% Practical Problem Solving — 30% Conflict Resolution Thinking — 20% AI Usage Transparency — 10%

    What to Submit

    Required Submissions:

    1. System Design Sketch (Required)
      • Format: PDF or Document
      • Length: 1 page maximum
      • Outline or sketch how events flow through your sync service and how you determine the "latest" version
    2. Sync & Conflict Resolution Plan (Required)
      • Format: PDF or Document
      • Length: 1 page maximum
      • In plain language, describe how your service handles duplicates, missing data, or late updates — and how you'd prevent noise or unnecessary retries
    3. Video Recording (Required)
      • Format: MP4
      • Length: 7-10 minutes (continuous recording, one take)
      • Must include all three components detailed below

    Submission Guidelines

    Video Requirements:

    Your 7-10 minute video must include ALL three components:

    1. Introduction (1-2 minutes)

    • Share one example of a time you automated something or improved reliability in a backend system

    2. Traits Assessment (2-3 minutes)

    Which kind of challenge fits you best — and why?

    • Scenario A — "The Thursday Fix" (Execution): You've found duplicate meetings caused by one bad update order from Google Calendar. You need to ship and verify a small, safe fix today.
    • Scenario B — "The Pattern Hunt" (Discovery): You notice recurring data mismatches between Slack, Zoom, and Calendar events. No one's scoped it yet — you'll investigate and design a lasting solution.

    There's no "correct" choice — just share your thoughts.

    3. Challenge Response (3-5 minutes)

    Walk us through your approach to the main challenge:

    • How would your system decide which event version is correct?
    • How would you handle missing, late, or conflicting updates?
    • What's one quick improvement you'd ship first to boost reliability?

    AI Usage Declaration:

    At the end of your video, please state:

    • ☐ I did not use any AI tools
    • ☐ I used AI tools (briefly describe how, including prompts and edits)

    System Design Sketch

    Document · 1 page maxRequired

    Format: .pdf, .doc, .docx, .rtf, .txt, .md

    Outline or sketch how events flow through your sync service and how you determine the "latest" version of an event.

    Sign in to upload files

    Sync & Conflict Resolution Plan

    Document · 1 page maxRequired

    Format: .pdf, .doc, .docx, .rtf, .txt, .md

    In plain language, describe how your service handles:

    • Duplicates
    • Missing data
    • Late updates
    • How you'd prevent noise or unnecessary retries

    Sign in to upload files

    Video Recording

    Video · 7-10 minRequired

    Format: .mp4, .mov, .webm

    Record a continuous, one-take video walking through your design.

    1. Introduction (1-2 minutes)

    • Share one example of a time you automated something or improved reliability in a backend system

    2. Traits Assessment (2-3 minutes) Which scenario fits you best — and why?

    • Scenario A — "The Thursday Fix" (Execution): You've found duplicate meetings caused by one bad update order from Google Calendar. You need to ship and verify a small, safe fix today.
    • Scenario B — "The Pattern Hunt" (Discovery): You notice recurring data mismatches between Slack, Zoom, and Calendar events. No one's scoped it yet — you'll investigate and design a lasting solution.

    There's no "correct" choice — just share your thoughts.

    3. Challenge Response (3-5 minutes)

    • How would your system decide which event version is correct?
    • How would you handle missing, late, or conflicting updates?
    • What's one quick improvement you'd ship first to boost reliability?

    AI Usage Declaration: At the end, state whether you used AI tools (and briefly describe how).

    Sign in to upload files