All updates
Release 0.1.0 - Open source foundation

Open source foundation

The open-source monorepo launch with authentication, API keys, contacts, and Docker-based local development.

GitHubAuthAPI KeysContactsDevOpsMonorepoEmail

Planning

  • Monorepo architecture Centralized Drizzle schema with @reloop/* packages and clear separation between web, dashboard, and backend services. Turborepo for build orchestration.
  • Open source launch Public GitHub repository under Apache 2.0 with README, getting started guides, and API package for typed Elysia clients.
  • Technology stack decisions Next.js for frontends, Elysia (Bun) for backend services, Drizzle ORM for database, Redis for caching/sessions, and Caddy as reverse proxy.

Design

  • Design system foundation @reloop/tailwind and @reloop/ui package integration; global styles, PostCSS configuration, icon component with consistent attribute naming.
  • Landing content pages About, engineering, product beliefs, deliverability, community, and campaign narrative pages with content structure and visual hierarchy.
  • Dashboard layout system Navbar with breadcrumb navigation, organization management sidebar with animations, and full-height page components.

Frontend

  • Dashboard application New Next.js dashboard with navbar, breadcrumbs, adaptive layout, organization-scoped routing, and loading state management.
  • Authentication system Login, signup, password reset pages, Google/GitHub OAuth integration, appearance and security settings pages.
  • Contacts & API keys pages Initial Contacts, API Keys, and Webhooks pages with CreateOrganizationModal in org layout.
  • Domains & mailboxes Domain pages with DNS table and clipboard copy; mailbox list and AddNewMailboxModal with form validation.
  • Team settings Invites UI, members table with @tanstack/react-table, Nuqs integration for URL state, Team section renamed from Members.
  • Organization settings Logo upload with preview, name/slug editing, delete workspace with confirmation, dynamic org switcher in sidebar.
  • Web landing pages Marketing site with landing page, footer with navigation links, and link-based routing using Next.js Link component.

Backend

  • Auth service better-auth with Redis sessions, organization invitations with role defaults, PG_URL environment variable standardization, logging configuration with enhanced timestamps.
  • Database foundation Initial auth schema with Drizzle migrations, drizzle studio script for visual inspection, centralized schema exports from @reloop/db package.
  • Domain & mail API Add domain endpoint, DKIM key generation, mail send router with request validation, and API route configuration in Caddyfile.
  • Email templates package @reloop/emails package with transactional email templates (invitation, password reset), build pipeline, and logo assets.
  • API package @reloop/api package for storing typed Elysia API clients with admin script commands and consistent package structure.
  • Organization management Member invitation feature, organization member management, dependency updates, sidebar component enhancements with navigation and animations.

DevOps

  • One-command local setup Setup script plus docker-compose for PostgreSQL, Redis, Dovecot, Postfix, and Rspamd. Single command bootstraps the entire development stack.
  • Local development environment Caddy reverse proxy with local.reloop.sh domain, environment templates, API routes in Caddyfile, firewall rules, SSL certificate configuration.
  • CI foundations Backend workflow files, compose network fixes for reproducible local stacks, context path updates for Docker builds.
  • Package infrastructure @reloop/tsconfig for shared TypeScript configuration, @reloop/tailwind for design tokens, refactored import paths across frontend applications.
  • Monorepo tooling Turborepo configuration, bun workspaces, Biome for linting/formatting, Husky for git hooks, and package.json scripts for dev/build/lint.
import Reloop from 'reloop-email';

const reloop = new Reloop('rl_live_...');
await reloop.emails.send({
  to: 'user@example.com',
  subject: 'Welcome',
  html: '<p>Hello from Reloop.</p>',
});