How Real-Time Collaboration Works
Meridian uses Convex’s reactive architecture to enable true real-time collaboration without manual refresh.Architecture Overview
Convex Subscriptions
When you open a table, your client subscribes to changes:These subscriptions stay active and push updates automatically.
Convex Propagates Updates
Convex detects the database change and pushes updates to all subscribed clients within milliseconds.
No Manual Refresh NeededUnlike traditional BI tools, you never need to click “refresh” or reload the page. Updates happen automatically, just like Google Docs.
Presence Awareness
See who else is viewing the same data in real-time.Presence System
Meridian uses Convex Presence Component to track active users:Presence Features
- Active user list - See avatars of everyone viewing the table
- User names - Hover to see who’s who
- Session tracking - Automatic cleanup when users leave
- Room-based - Each table is a separate room
Notifications System
Stay informed about team activity with automatic notifications.Notification Types
Meridian tracks several types of events:What Gets Notified
Query Execution
When someone runs a SQL query, all team members see a notification with the query and who ran it.
Agent Activity
AI agent queries and analyses appear in the activity feed with the user who triggered them.
Insights Generated
When auto-insights are discovered, everyone is notified about the findings.
Chart Creation
New charts appear in the notification feed so the team knows what visualizations exist.
Notification UI
Notifications appear in the table sidebar:- Chronological timeline
- User avatars and names
- Timestamp for each event
- Expandable details
- Auto-scrolling to latest
Query History & Reproducibility
Every query is logged for transparency and reproducibility.Query Log Structure
Query Timeline
View a chronological timeline of all queries:- Time-ordered list of queries
- User attribution for each query
- Success/failure indicators
- Execution time metrics
- Replay button to re-run queries
- Filter by user or date range
Agent Thread Sharing
Agent conversations are saved and accessible to the whole team.Thread Structure
Sharing Benefits
- Knowledge transfer - New team members can review past analyses
- Avoid duplication - Check if someone already analyzed a question
- Learn from others - See how experienced analysts approach problems
- Collaboration - Pick up where a colleague left off
Thread Selection
Live-Updating Charts
Charts update automatically when anyone changes the data.How It Works
No Batch ProcessingUnlike Tableau or PowerBI which batch-process updates, Meridian updates in milliseconds. This is live-time, not near real-time.
Best Practices for Team Collaboration
Communicate Intent
Communicate Intent
Before making significant changes:
- Check who else is active in the table
- Use team chat to coordinate
- Create a new thread for exploratory work
- Use descriptive query comments:
Use Descriptive Thread Titles
Use Descriptive Thread Titles
When creating agent threads, use clear titles:❌ “Analysis 1”
✅ “Customer Churn Analysis for Q1 2024”❌ “Questions”
✅ “Product Performance Deep Dive - Electronics Category”This helps teammates find relevant work.
Review Query History
Review Query History
Before starting an analysis:
- Check the query timeline
- See if someone already did similar work
- Build on their queries instead of starting from scratch
- Reference their thread for context
Document Insights
Document Insights
When you discover something important:
- Create a chart to visualize it
- Save the agent thread with a descriptive title
- Add a comment in your SQL query
- Share the finding in team chat
- Tag relevant teammates in notifications
Respect Ongoing Work
Respect Ongoing Work
If you see a teammate is:
- Running a query sequence - Wait for completion
- In an agent conversation - Review their thread first
- Creating charts - Avoid moving their charts until they’re done
- Analyzing specific data - Coordinate before updating that data
Use Agent Threads Wisely
Use Agent Threads Wisely
Threads are persistent and shared:
- Start a new thread for each distinct analysis
- Continue existing threads when building on previous work
- Name threads descriptively so others can find them
- Clean up test threads that aren’t useful
Conflict Resolution
Meridian handles concurrent edits gracefully.Concurrent Queries
Multiple users can query simultaneously:- Queries execute in order received
- Each query is logged separately
- Results appear for all users
- No race conditions due to Convex’s consistency model
Concurrent Updates
If two users update the same data:Chart Positioning
If two users move the same chart:- Last write wins
- Position updates propagate to all clients
- No corruption or conflicts
- Changes are atomic
Team Communication Patterns
Daily Standup Review
- Open the query timeline
- Review what the team worked on yesterday
- Check agent threads for insights discovered
- Discuss any surprising findings
- Plan today’s analysis work
Asynchronous Collaboration
- Start an agent thread with your analysis question
- Save the thread with a descriptive title
- Leave a note in team chat about what you discovered
- Teammates can review and continue your work
- Build institutional knowledge over time
Pair Analysis Sessions
- Both team members open the same table
- One person drives (runs queries)
- Other person observes and suggests
- Both see results in real-time
- Switch roles periodically
Performance at Scale
Built for TeamsMeridian’s architecture scales to support multiple concurrent users without performance degradation:
- DuckDB handles parallel queries efficiently
- Convex scales reactive subscriptions automatically
- TanStack Start provides server-side rendering
- Cloudflare R2 serves files with global CDN
Optimization Tips
- Limit data fetch - Use WHERE clauses and LIMIT
- Pre-aggregate for charts - GROUP BY before visualization
- Index hot paths - Frequently queried columns benefit from indexes
- Use thread history - Don’t re-run expensive queries unnecessarily
What’s Next?
Uploading Data
Learn how to add new datasets for team analysis
Using AI Agents
Collaborate with AI to analyze data faster