diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 011b333..53d972b 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,4 +1,4 @@ -# WhatsApp Conversation Summarizer - AI Assistant Instructions +# ConvoLens (formerly WhatsApp Conversation Summarizer) - AI Assistant Instructions ## Project Overview A comprehensive platform for analyzing and summarizing conversations across multiple messaging platforms, starting with WhatsApp. The application provides AI-powered summaries of chat histories with a modern, secure, and scalable architecture. diff --git a/README.md b/README.md index 55decbf..81bbb25 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# ConvoLens (formerly WhatsSummarize) +# ConvoLens -> **Note:** We're rebranding to ConvoLens! This platform is in the process of transitioning from "WhatsSummarize" to our new name. [Learn more about the rebrand →](NAMING_RECOMMENDATIONS.md) +> **Note:** This project was previously known as **WhatsSummarize**. The brand rename is now landing in stages — see [NAMING_RECOMMENDATIONS.md](NAMING_RECOMMENDATIONS.md) for context. [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Next.js](https://img.shields.io/badge/Next.js%2015-000000?style=flat&logo=nextdotjs&logoColor=white)](https://nextjs.org/) @@ -15,7 +15,7 @@ A comprehensive platform for analyzing and summarizing conversations across mess ## 🚀 Project Overview -**ConvoLens** (formerly WhatsSummarize) allows users to unlock insights from their conversation history across messaging platforms. By uploading standard `.txt` export files, users can visualize communication patterns, activity levels, and generate AI-driven qualitative summaries. +**ConvoLens** allows users to unlock insights from their conversation history across messaging platforms. By uploading standard `.txt` export files, users can visualize communication patterns, activity levels, and generate AI-driven qualitative summaries. ### Brand Identity @@ -86,8 +86,8 @@ For a detailed analysis, see [Technology Stack Assessment](docs/PHASE_1_TECH_STA 1. **Clone:** ```bash - git clone https://github.com/JustAGhosT/whatssummarize.git - cd whatssummarize + git clone https://github.com/JustAGhosT/whats-summarize.git + cd whats-summarize ``` 2. **Install:** diff --git a/WARP.md b/WARP.md index 367bd25..a9e2e8d 100644 --- a/WARP.md +++ b/WARP.md @@ -4,7 +4,7 @@ This file provides guidance to WARP (warp.dev) when working with code in this re ## Project Overview -**ConvoLens** (formerly WhatsSummarize) is an AI-powered conversation analysis platform that transforms messaging exports into insights. Users upload chat exports from WhatsApp (and soon Telegram, Discord, etc.) to visualize communication patterns and generate AI-driven summaries. +**ConvoLens** is an AI-powered conversation analysis platform that transforms messaging exports into insights. Users upload chat exports from WhatsApp (and soon Telegram, Discord, etc.) to visualize communication patterns and generate AI-driven summaries. (Previously known as **WhatsSummarize**.) ## Development Commands @@ -50,7 +50,7 @@ pnpm clean # Clean build artifacts This is a **Turborepo monorepo** with multiple apps and shared packages: ``` -whatssummarize/ +convolens/ ├── apps/ │ ├── web/ # Next.js 15 frontend (App Router) │ ├── api/ # Express.js + TypeORM backend @@ -110,7 +110,7 @@ The architecture is designed to support multiple messaging platforms: 4. Add validation function like `isValidTelegramExport()` #### Brand Identity (ConvoLens) -**Current State**: In transition from "WhatsSummarize" to "ConvoLens" +**Current State**: ConvoLens (renamed from "WhatsSummarize") - **Colors**: Deep Purple (#6B46C1) + Bright Cyan (#06B6D4) + Soft Lavender (#C4B5FD) - **Tagline**: "See Your Conversations Clearly" - **Design System**: Migrating from Ant Design to pure Tailwind + Shadcn/UI diff --git a/apps/api/README.md b/apps/api/README.md index 4dfa095..289b61f 100644 --- a/apps/api/README.md +++ b/apps/api/README.md @@ -1,6 +1,6 @@ -# WhatsApp Summarizer Backend +# ConvoLens Backend -A robust backend service for processing and summarizing WhatsApp chat exports. Built with Node.js, TypeScript, Express, and TypeORM. +A robust backend service for processing and summarizing WhatsApp chat exports. Built with Node.js, TypeScript, Express, and TypeORM. (Formerly WhatsSummarize.) ## ✨ Features @@ -30,8 +30,8 @@ A robust backend service for processing and summarizing WhatsApp chat exports. B 1. Clone the repository: ```bash - git clone https://github.com/JustAGhosT/whatssummarize.git - cd whatssummarize/backend + git clone https://github.com/JustAGhosT/whats-summarize.git + cd whats-summarize/apps/api ``` 2. Install dependencies: @@ -162,8 +162,8 @@ This project uses Husky for Git hooks. Pre-commit and pre-push hooks are configu Build and run using Docker: ```bash -docker build -t whatssummarize-backend . -docker run -p 3001:3001 whatssummarize-backend +docker build -t convolens-api . +docker run -p 3001:3001 convolens-api ``` ### Environment Variables for Production diff --git a/apps/web/README.md b/apps/web/README.md index b7f24b1..0797975 100644 --- a/apps/web/README.md +++ b/apps/web/README.md @@ -1,6 +1,6 @@ -# WhatsApp Group Monitor - Frontend +# ConvoLens - Frontend -This is the frontend for the WhatsApp Group Monitor application, built with Next.js, TypeScript, and Ant Design. It provides a user interface for monitoring and interacting with WhatsApp groups. +This is the frontend for ConvoLens (formerly WhatsSummarize), built with Next.js, TypeScript, and Ant Design. It provides the user interface for uploading messaging exports, monitoring groups, and viewing AI-generated conversation summaries. ## Features diff --git a/apps/web/src/app/landing-page.tsx b/apps/web/src/app/landing-page.tsx index 426b171..dbe58c5 100644 --- a/apps/web/src/app/landing-page.tsx +++ b/apps/web/src/app/landing-page.tsx @@ -120,7 +120,7 @@ const LandingPage = () => {
WhatsSummarize Dashboard {

Ready to get started?

-

Try WhatsSummarize today and gain new insights from your conversations.

+

Try ConvoLens today and gain new insights from your conversations.

{ Loved by users worldwide

- See what people are saying about WhatsSummarize + See what people are saying about ConvoLens

{[ { - quote: "WhatsSummarize helped me understand communication patterns in my team chat that I never noticed before.", + quote: "ConvoLens helped me understand communication patterns in my team chat that I never noticed before.", author: "Sarah J.", role: "Project Manager" }, diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index b7fa950..097a332 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -8,8 +8,18 @@ import { Inter } from "next/font/google" const inter = Inter({ subsets: ["latin"] }) export const metadata = { - title: "WhatsSummarize - WhatsApp Conversation Analyzer", + title: "ConvoLens - WhatsApp Conversation Analyzer", description: "Analyze and summarize your WhatsApp conversations with AI", + openGraph: { + title: "ConvoLens - WhatsApp Conversation Analyzer", + description: "Analyze and summarize your WhatsApp conversations with AI", + siteName: "ConvoLens", + }, + twitter: { + title: "ConvoLens - WhatsApp Conversation Analyzer", + description: "Analyze and summarize your WhatsApp conversations with AI", + card: "summary_large_image", + }, } export default function RootLayout({ children }) { diff --git a/apps/web/src/components/Layout/index.tsx b/apps/web/src/components/Layout/index.tsx index 54ed597..272ce54 100644 --- a/apps/web/src/components/Layout/index.tsx +++ b/apps/web/src/components/Layout/index.tsx @@ -57,7 +57,7 @@ export const Layout: React.FC = ({ children, showSidebar = true }) /> )} - WhatsSummarize + ConvoLens
diff --git a/apps/web/src/components/layouts/footer/index.tsx b/apps/web/src/components/layouts/footer/index.tsx index 56ca9cf..82b9653 100644 --- a/apps/web/src/components/layouts/footer/index.tsx +++ b/apps/web/src/components/layouts/footer/index.tsx @@ -16,12 +16,12 @@ export function Footer() {
{/* Logo and description */}
-

WhatsSummarize

+

ConvoLens

A powerful tool to analyze and summarize your WhatsApp conversations, providing insights and analytics about your chats.

- + GitHub @@ -83,7 +83,7 @@ export function Footer() {

- © {new Date().getFullYear()} WhatsSummarize. All rights reserved. + © {new Date().getFullYear()} ConvoLens. All rights reserved.

diff --git a/apps/web/src/components/layouts/navigation/Navigation.tsx b/apps/web/src/components/layouts/navigation/Navigation.tsx index 45a7baf..876cbfd 100644 --- a/apps/web/src/components/layouts/navigation/Navigation.tsx +++ b/apps/web/src/components/layouts/navigation/Navigation.tsx @@ -163,7 +163,7 @@ export function Navigation() { {/* Logo */}
- WhatsSummarize + ConvoLens
diff --git a/apps/web/src/lib/supabase/client.ts b/apps/web/src/lib/supabase/client.ts index b09a048..915f9c0 100644 --- a/apps/web/src/lib/supabase/client.ts +++ b/apps/web/src/lib/supabase/client.ts @@ -62,7 +62,7 @@ function createMockBrowserClient() { expires_at: Date.now() + 3600000, user: { id: 'mock-user-id', - email: 'dev@whatssummarize.local', + email: 'dev@convolens.local', user_metadata: { name: 'Development User' }, app_metadata: {}, aud: 'authenticated', diff --git a/docs/AUTHENTICATION.md b/docs/AUTHENTICATION.md index e3f5731..12b5438 100644 --- a/docs/AUTHENTICATION.md +++ b/docs/AUTHENTICATION.md @@ -1,6 +1,6 @@ # Authentication System Documentation -This document outlines the authentication system implemented in the WhatsApp Summarizer application. +This document outlines the authentication system implemented in the ConvoLens application. ## Features @@ -20,7 +20,7 @@ Create a `.env.local` file in the root directory with the following variables: ```env NEXT_PUBLIC_SUPABASE_URL=your-supabase-url NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key -NEXT_PUBLIC_APP_NAME=whatssummarize +NEXT_PUBLIC_APP_NAME=convolens ``` ### Supabase Configuration diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 6a14731..b1f5b29 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -138,14 +138,14 @@ ### How to Contribute -1. Check the [GitHub Issues](https://github.com/JustAGhosT/whatssummarize/issues) for open tasks +1. Check the [GitHub Issues](https://github.com/JustAGhosT/whats-summarize/issues) for open tasks 2. Fork the repository and create a feature branch 3. Submit a pull request with your changes 4. Ensure all tests pass and add new tests as needed ### Reporting Issues -Please report any bugs or feature requests using the [GitHub Issue Tracker](https://github.com/JustAGhosT/whatssummarize/issues). +Please report any bugs or feature requests using the [GitHub Issue Tracker](https://github.com/JustAGhosT/whats-summarize/issues). ## Changelog diff --git a/docs/USER_GUIDE.md b/docs/USER_GUIDE.md index 83ea3cc..fe449f5 100644 --- a/docs/USER_GUIDE.md +++ b/docs/USER_GUIDE.md @@ -1,4 +1,4 @@ -# WhatsApp Summarizer - User Guide +# ConvoLens - User Guide ## Getting Started @@ -10,7 +10,7 @@ ### Account Setup -1. Visit [WhatsApp Summarizer](https://app.whatssummarize.com) +1. Visit [ConvoLens](https://app.convolens.com) 2. Click "Sign Up" and create an account 3. Verify your email address 4. Complete your profile setup @@ -24,7 +24,7 @@ 3. Tap ⋮ (Android) or (iPhone) 4. Select More > Export chat 5. Choose "Without Media" -6. Share to WhatsApp Summarizer app +6. Share to the ConvoLens app ### 2. Viewing Summaries @@ -107,12 +107,12 @@ ### Help Center -Visit our [Help Center](https://help.whatssummarize.com) for articles and guides. +Visit our [Help Center](https://help.convolens.com) for articles and guides. ### Contact Us -- **Email**: [Email](mailto:support@whatssummarize.com) -- **Twitter**: [@whatssummarize](https://twitter.com/whatssummarize) +- **Email**: [Email](mailto:support@convolens.com) +- **Twitter**: [@convolens](https://twitter.com/convolens) - **Live Chat**: Available in the app ## FAQ @@ -135,4 +135,4 @@ Currently web-only, but mobile apps are coming soon. ## Feedback -We'd love to hear your feedback! Use the in-app feedback form or email us at [feedback@whatssummarize.com](mailto:feedback@whatssummarize.com) +We'd love to hear your feedback! Use the in-app feedback form or email us at [feedback@convolens.com](mailto:feedback@convolens.com) diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml index 3fb4831..0df3c87 100644 --- a/docs/api/openapi.yaml +++ b/docs/api/openapi.yaml @@ -1,11 +1,11 @@ openapi: 3.0.0 info: - title: WhatsApp Summarizer API - description: API documentation for the WhatsApp Summarizer application + title: ConvoLens API + description: API documentation for the ConvoLens application (formerly WhatsSummarize) version: 1.0.0 contact: name: Support - email: support@whatssummarize.com + email: support@convolens.com license: name: MIT url: https://opensource.org/licenses/MIT diff --git a/docs/runbook.md b/docs/runbook.md index 56d325f..b0ae511 100644 --- a/docs/runbook.md +++ b/docs/runbook.md @@ -1,4 +1,4 @@ -# WhatsApp Summarizer - Runbook +# ConvoLens - Runbook ## Table of Contents - [Overview](#overview) @@ -11,7 +11,7 @@ - [Security](#security) ## Overview -This runbook contains operational procedures for the WhatsApp Summarizer application. +This runbook contains operational procedures for the ConvoLens application. ## Prerequisites - Access to Supabase dashboard @@ -24,8 +24,8 @@ This runbook contains operational procedures for the WhatsApp Summarizer applica ### Local Development Setup ```bash # Clone the repository -git clone https://github.com/yourusername/whatssummarize.git -cd whatssummarize +git clone https://github.com/JustAGhosT/whats-summarize.git +cd whats-summarize # Install dependencies pnpm install @@ -158,5 +158,5 @@ supabase db reset ## Contact Information - **Primary On-call**: [Name] - [Phone] - [Email] - **Secondary On-call**: [Name] - [Phone] - [Email] -- **Infrastructure Team**: infra@whatssummarize.com -- **Security Team**: security@whatssummarize.com +- **Infrastructure Team**: infra@convolens.com +- **Security Team**: security@convolens.com diff --git a/infra/README.md b/infra/README.md index 2554253..19bc222 100644 --- a/infra/README.md +++ b/infra/README.md @@ -1,10 +1,15 @@ -# WhatsSummarize Infrastructure +# ConvoLens Infrastructure -Azure infrastructure as code using Bicep templates for WhatsSummarize. +Azure infrastructure as code using Bicep templates for ConvoLens. + +> **Note:** Azure resource names (e.g. `rg-whatssummarize-*`, `kvwhatssummarizedev`, +> `cosmos-whatssummarize-dev`, `oai-whatssummarize-dev`) intentionally still +> reference the legacy project name — renaming live Azure resources is a +> separate, user-driven decision tracked in PR4 / cross-repo follow-ups. ## Overview -This directory contains all infrastructure configuration for deploying WhatsSummarize to Azure: +This directory contains all infrastructure configuration for deploying ConvoLens to Azure: ``` infra/ diff --git a/packages/contexts/src/auth-context.tsx b/packages/contexts/src/auth-context.tsx index d003838..1a03fe9 100644 --- a/packages/contexts/src/auth-context.tsx +++ b/packages/contexts/src/auth-context.tsx @@ -60,8 +60,16 @@ export type AuthContextType = { const AuthContext = createContext(undefined) // Storage key for user data -const USER_STORAGE_KEY = 'whatssummarize_user' -const SESSION_STORAGE_KEY = 'whatssummarize_session' +const USER_STORAGE_KEY = 'convolens_user' +const SESSION_STORAGE_KEY = 'convolens_session' + +// Legacy storage keys from the WhatsSummarize → ConvoLens rename. +// Kept here purely so the migration shim below can copy values forward +// without signing existing users out. These constants (and the migration +// shim) should be removed ~30 days after the rename ships, or once +// telemetry confirms zero legacy reads. +const OLD_USER_STORAGE_KEY = 'whatssummarize_user' +const OLD_SESSION_STORAGE_KEY = 'whatssummarize_session' /** * Creates a Supabase-like client interface @@ -175,6 +183,34 @@ export function AuthProvider({ children }: { children: ReactNode }) { useEffect(() => { let isMounted = true + // One-shot localStorage migration from `whatssummarize_*` → + // `convolens_*`. Without this, every existing user would be signed out + // on the deploy that ships the brand rename. Safe to run on every + // mount: after the first run, the legacy keys are gone, so subsequent + // mounts are no-ops. Remove this block (and the OLD_* constants + // above) ~30 days after deploy. + if (typeof window !== 'undefined') { + try { + const migrations: Array<[string, string]> = [ + [OLD_USER_STORAGE_KEY, USER_STORAGE_KEY], + [OLD_SESSION_STORAGE_KEY, SESSION_STORAGE_KEY], + ] + for (const [oldK, newK] of migrations) { + const legacy = localStorage.getItem(oldK) + if (legacy === null) continue + const existing = localStorage.getItem(newK) + if (existing === null) { + localStorage.setItem(newK, legacy) + } + localStorage.removeItem(oldK) + } + } catch (err) { + // localStorage can throw in private-mode / quota-exceeded + // scenarios — never let that block auth init. + console.warn('[AuthContext] Legacy storage migration skipped:', err) + } + } + const initializeAuth = async () => { try { // Try to load cached user for immediate display