Pulse is a professional-grade SaaS platform designed to bridge the trust gap between high-end freelancers and their clients. By automating activity tracking and providing real-time, high-transparency project portals, Pulse eliminates the need for manual status reports and constant "check-in" meetings.
- Automated Activity Streams: Real-time integration with development tools (GitHub, Figma, etc.) to showcase work as it happens.
- Client "Magic Link" Portals: Frictionless, secure, passwordless access for clients to monitor project health and milestones.
- Pulse Health Indicator: An intelligent algorithm that visualizes project momentum and identifies potential bottlenecks before they become issues.
- Integrated Workspace: Built-in task management, real-time chat, and automated invoicing system.
- Enterprise-Grade Security: Powered by Supabase RLS and Firebase Auth for robust data isolation and secure access.
- Frontend: Next.js 15 (App Router), TypeScript, Tailwind CSS
- Animations: Framer Motion (motion/react)
- Database & Real-time: Supabase (Postgres + RLS + Realtime)
- Authentication: Firebase Auth
- State Management: Zustand (with Persistence)
- Validation: Zod + React Hook Form
- UI Components: Radix UI + Custom Tailwind primitives
Pulse uses a Server-as-Source-of-Truth architecture combined with high-performance client-side state:
- Activity Capture: Integration hooks send activity data to the Pulse API.
- Verification Engine: Logs are processed and verified against project milestones.
- Real-time Sync: Clients view progress via passwordless "Magic Link" portals, powered by Supabase Realtime.
- Optimistic UI: Zustand manages local state for instant feedback, reconciled with server state via TanStack Query.
- Row Level Security (RLS): Every database query is scoped to the
auth.uid(), ensuring complete data isolation. - Passwordless Portals: Client portals use signed, unique tokens for access, eliminating friction while maintaining high security.
- Strict Validation: All API inputs and environment configurations are strictly validated using Zod.
- Node.js 20+
- Supabase Project
- Firebase Project
Create a .env.local file based on .env.example:
NEXT_PUBLIC_SUPABASE_URL="your-supabase-url"
NEXT_PUBLIC_SUPABASE_ANON_KEY="your-supabase-key"
NEXT_PUBLIC_FIREBASE_API_KEY="your-firebase-key"
...npm install
npm run devBuilt with ❤️ for the future of work.