EchoBoard

A unified workspace that blends real‑time chat, AI assistance, interactive whiteboards, and personal journaling.

Type
Project
Timeframe
Aug 2025 – Present
Toolkit
Next.js, TypeScript, Tailwind, Framer Motion, Figma
Year
2025 • Ongoing

Introduction & Problem


Problem

The Problem We're Solving

Distributed teams juggle chat, whiteboards, and docs across multiple tools.

Fragmented Collaboration Tools

Teams constantly switch between multiple disconnected applications

💬
Chat App
📝
Whiteboard
🤖
AI Assistant
📓
Notes
↔️Context switching breaks flow↔️

Fragmented workflow

Context constantly switches between chat, whiteboards, docs, and notes—ideas get lost and momentum breaks.

No in‑context AI

AI is often a separate tab. Teams can't ask questions, cite sources, or summarize in the exact place collaboration happens.

Real‑time sync pain

Presence, cursors, and concurrent edits are hard to get right—latency and conflicts degrade trust in the tool.

Solution & Features

Solution

The Solution

EchoBoard unifies key collaboration and productivity features into one seamless, real‑time environment. It provides chat, AI assistance, whiteboarding, and personal journaling — all synced instantly, so teams stay in flow and ideas stay connected.

  • AI‑powered collaboration right where you work
  • Single tool replacing 3–5 separate apps
  • Real‑time sync with zero context switching

EchoBoard - Unified Workspace

One platform that brings everything together

EchoBoard unified workspace interface showing chat, whiteboard, and AI features
All-in-one collaboration platform

Key Features

Core Capabilities

Unified Platform Architecture

All features seamlessly integrated in one interface

💬

Real-time Chat

Instant messaging with AI assistance

📝

Interactive Whiteboards

Multi-user drawing and collaboration

🤖

AI-Powered Assistance

Context-aware responses and citations

📓

Personal Journaling

Rich text editing with search

🔄Real-time synchronization across all features🔄

Collaboration

  • Multi‑user rooms with role‑based permissions
  • Real‑time chat with AI assistance
  • Interactive whiteboards with live collaboration

AI‑Powered

  • Context‑aware responses
  • Web search with inline citations
  • Voice‑to‑text transcription

Productivity

  • Personal journaling with rich text editing
  • Search and tagging across all content
  • Export and backup capabilities

Tech & Design

Sections 5–6

Technical Architecture & UI/UX Design

Built and designed solo — from systems architecture to interface details.

Technology Stack

Modern, scalable architecture built with cutting-edge tools

Frontend

ReactNext.js 15 + React 19
TypeScriptTypeScript 5
Tailwind CSSTailwind CSS 4

Backend

DB
PostgreSQL
ClerkClerk Auth
Supabase

AI & Real-time

AI
GPT-4o
🔍
Tavily Search
📝
tldraw

5. Technical Architecture

Frontend

Next.js 15 (App Router) + React 19 with TypeScript 5 and Tailwind CSS 4. Streaming SSR, server actions, and code‑splitting for speed.

Framework
Next.js 15 (App Router), React 19 concurrent features
Language
TypeScript 5 with strict configuration
Styling
Tailwind CSS 4, OKLCH color system, custom design tokens
Performance
Streaming SSR, image & font optimization, route‑level code splitting
Backend

Supabase + PostgreSQL with Row Level Security and real‑time subscriptions. Server components fetch data securely.

Database
PostgreSQL (Supabase) with RLS and indexed queries
Auth
Clerk + Google OAuth with role‑based access
Realtime
Supabase Realtime + WebSockets for presence/cursors
SSR
Supabase SSR helpers for secure server‑side rendering
AI & Intelligence

GPT‑4o powers chat, summarization, and guidance. Tavily Core supports web search with inline citations. Voice input via speech‑to‑text.

Model
OpenAI GPT‑4o with streamed token‑by‑token UI
Search
Tavily Core for citations and source popovers
Voice
Real‑time speech‑to‑text for hands‑free input
Context
Conversation memory scoped to room and user role
Real‑time

tldraw for whiteboards with multi‑cursor presence and conflict‑free updates. Optimistic UI and background sync.

Whiteboard
tldraw integration with persistent storage
Presence
Live cursors, typing indicators, and room status
Streaming
NDJSON streaming for AI responses
Offline
Optimistic updates and background sync

6. UI/UX Design System

Design Principles

Clean, accessible, and performant user experience

🎨

Minimal Design

Clean surfaces with generous white space

Accessible First

WCAG compliant, keyboard-first flows

Performance

Streaming SSR and optimized loading

🌙

Dark Mode Ready

OKLCH tokens for consistent theming

Design Philosophy

  • Minimal, calm surfaces with generous white space
  • Accessible by default (WCAG), keyboard‑first flows
  • Motion used sparingly to guide attention
  • Dark mode ready via OKLCH tokens

Component Architecture

Primitives
Radix UI patterns; headless, accessible building blocks
Variants
Class Variance Authority for scaleable component states
Motion
Framer Motion micro‑interactions (enter/exit, press)
Tokens
Spacing, radii, type scale, and color mapped to Tailwind

Theming & Tokens

Color
OKLCH palettes for consistent contrast across themes
Type
Variable fonts with optical sizing for crisp rendering
Density
Comfortable defaults with compact variants for data‑dense views

Up next

7. Database & Data Model · 8. Real‑time Collaboration

Continue

Data & Real-time

Sections 7–8

Database & Data Model · Real‑time Collaboration

Solo Project — I designed the schema, wrote policies, and wired realtime.

Database Architecture

PostgreSQL with Row Level Security and real-time subscriptions

Core Tables

👥
profiles

User profiles & metadata

🏠
rooms

Collaborative spaces

💬
messages

Chat with AI citations

Security & Permissions

🔒
Row Level Security

Granular access control

👑
Role-Based Access

OWNER/EDITOR/VIEWER roles

Real-time Sync

WebSocket subscriptions

7. Database & Data Model

PostgreSQL on Supabase with strict RLS. Entities are room‑scoped where applicable and keyed for fast timelines.

profiles

User profiles, display names, and metadata

rooms

Collaborative spaces with visibility (private/public)

memberships

User ↔ room roles & permissions (OWNER/EDITOR/VIEWER)

messages

Chat messages with optional AI citations

journals

Personal notebooks (per‑user)

journal_entries

Rich text entries with tags & timestamps

room_invites

Email‑based invitations with token expiry

notifications

Event notifications with read state

RBAC & Constraints

  • Roles stored in memberships; enforced in policies and app
  • Foreign keys with ON DELETE CASCADE for clean teardown
  • Indexed queries for messages(room_id, created_at) and entries(journal_id, created_at)

ER Overview (simplified)

rooms
id • owner_id • visibility
memberships
room_id • user_id • role
messages
room_id • author_id • created_at

(Foreign keys with ON DELETE CASCADE; indexes on timeline columns.)


Real-time Collaboration Architecture

Multi-user synchronization with conflict resolution

Presence & Cursors

👤
Live Presence

See who's online

🖱️
Multi-cursor

Real-time cursor tracking

Whiteboard Sync

📝
tldraw Integration

Multi-user drawing

🔄
Conflict Resolution

Last-writer-wins strategy

AI Streaming

🤖
NDJSON Streaming

Token-by-token responses

Optimistic UI

Instant feedback

8. Real‑time Collaboration

Realtime is powered by Supabase Realtime + WebSockets. Presence and cursors are ephemeral; persistent content is stored in Postgres. tldraw is wired to a room‑scoped store with conflict‑aware updates.

Presence & Typing

See who’s online, where their cursor is, and who’s typing

Live Whiteboards

Multi‑user drawing via tldraw; diff‑based synchronization

Streaming AI

NDJSON token streaming renders responses progressively

Optimistic UI

Mutations apply instantly, reconcile on ack; background sync

Conflict Handling

Room‑scoped locks and last‑writer‑wins for lightweight cases

Performance Considerations

  • Message timelines indexed; pagination by created_at
  • Connection pooling; client subscriptions batched per room
  • Lightweight payloads for presence; avoid writing ephemeral state to DB

Up next

9. Performance & Optimization · 10. Development Workflow

Continue

Outcomes & Learnings

Sections 12–13

Outcome & Impact · Reflection & Learnings

Solo project — delivery from architecture to UI polish.

Project Impact Overview

Measurable improvements in team collaboration and productivity

-40%

Fewer Context Switches

Less tool switching reported in pilot sessions

+25%

Faster Decisions

Time to consensus during whiteboard sessions

<2min

Setup Time

From invite to first collaborative action

12. Outcome / Impact

EchoBoard reduces tool‑switching and keeps teams in flow by unifying chat, AI, whiteboards, and journaling in one real‑time surface.

−40%
Fewer Switches
less context switching reported in pilot sessions
+25%
Faster Decisions
time to consensus during whiteboard sessions
< 2 min
Setup Time
from invite to first collaborative action

Qualitative Wins

  • AI answers in‑context with citations, so the team trusts the output
  • Whiteboards + chat side‑by‑side capture decisions where they happen
  • Personal journals reduce meeting follow‑ups and capturable knowledge loss

Tool Consolidation

EchoBoard can replace or reduce reliance on:

  • Chat app
  • Whiteboard app
  • Personal notes app
  • Lightweight task tracker

Development Journey

Key learnings and challenges overcome during development

Challenges Faced

⚖️
Consistency vs UX

Balancing conflict resolution with smooth UI

🧠
AI Context Boundaries

Room-scoped memory management

What Worked Well

Streaming SSR

Responsive, calm user experience

🧩
CVA Variants

Tidy component state management

Future Iterations

📊
Audit Logging

Granular tracking for enterprise

🎬
Session Replay

Replayable whiteboard sessions

13. Reflection & Learnings

Key Challenges

  • Realtime consistency vs. UX smoothness
    Balancing conflict resolution with optimistic UI required scoped locks and pragmatic LWW rules for drawings/messages.
  • AI context boundaries
    Room‑scoped memory and explicit citations improved trust while avoiding cross‑room leakage.
  • Design tokens at scale
    OKLCH tokens simplified dark mode contrast, but demanded careful mapping to Tailwind for consistency.

What Worked

  • Streaming SSR + NDJSON created a responsive, calm feel
  • CVA variants kept component states tidy and predictable
  • Schema first: modeling memberships/roles early avoided policy churn

Next Iterations

  • Granular audit log for enterprise rooms
  • Replayable whiteboard sessions with time‑scrub
  • Inline tasks with due‑dates extracted from chat via AI