hazel  by HazelChat

Real-time collaborative chat platform

Created 10 months ago
585 stars

Top 55.5% on SourcePulse

GitHubView on GitHub
Project Summary

A modern, real-time collaborative chat platform, Hazel Chat offers developers a robust, type-safe, and local-first architecture for building feature-rich, offline-capable chat applications. It streamlines development through its functional programming approach and seamless data synchronization, providing a foundation for highly maintainable and performant communication tools.

How It Works

The platform leverages Effect-TS for functional, type-safe backend logic and Effect RPC for robust client-server communication. Its core innovation lies in a local-first architecture powered by Electric SQL, enabling real-time data synchronization and offline functionality with optimistic updates and conflict resolution. Background tasks are managed by Effect Cluster, ensuring durable, distributed workflows. The frontend utilizes React 19, Vite, and TanStack ecosystem components, while the backend runs on Bun with PostgreSQL persistence via Drizzle ORM.

Quick Start & Requirements

Installation involves cloning the repository, installing dependencies with bun install, and running an interactive setup wizard (bun run setup). This wizard configures Docker services (PostgreSQL, Redis, Electric, MinIO), validates the environment, sets up WorkOS authentication, generates secrets, and initializes the database. Development is initiated with bun run dev, starting the web, backend, and cluster services. Prerequisites include Bun (latest), Docker, and a WorkOS account.

Highlighted Details

  • Local-First & Real-time: Electric SQL provides offline support and seamless real-time data synchronization with conflict resolution.
  • Type-Safe RPC: Effect RPC ensures strong type guarantees across client and server boundaries.
  • Distributed Workflows: Effect Cluster handles background jobs with durability, retries, and failure management.
  • Modern Stack: Leverages React 19, Effect-TS, Bun, PostgreSQL, and Cloudflare R2 for file attachments.
  • Rich Feature Set: Includes real-time messaging, user presence, message reactions, pinned messages, rich text editing, and bot integration.

Maintenance & Community

No specific details regarding maintainers, community channels (e.g., Discord, Slack), or sponsorships are provided in the README.

Licensing & Compatibility

The license details are referenced as being available in a LICENSE file, but the specific license type and its implications for commercial use or closed-source linking are not detailed within the provided README text.

Limitations & Caveats

The provided README does not explicitly state any limitations, alpha status, known bugs, or unsupported platforms.

Health Check
Last Commit

4 days ago

Responsiveness

Inactive

Pull Requests (30d)
18
Issues (30d)
4
Star History
63 stars in the last 30 days

Explore Similar Projects

Starred by Patrick von Platen Patrick von Platen(Author of Hugging Face Diffusers; Research Engineer at Mistral) and Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera).

client-python by mistralai

0.3%
707
Python SDK for Mistral AI platform
Created 2 years ago
Updated 1 day ago
Feedback? Help us improve.