Skip to content

Commit 59d2f52

Browse files
Sai Sridhar Tarraclaude
authored andcommitted
Rebrand: InboxIQ → Threadly with custom SVG logo system
- Design new Threadly logo: thread-chain icon (3 stacked lines with connecting dots on a purple gradient rounded square) + wordmark with "Thread" in dark slate and "ly" in brand purple (#7C3AED) - Add logo.svg (light wordmark), logo-dark.svg (white wordmark for dark backgrounds), and icon.svg (standalone icon for favicon/PWA) - Update manifest.json: name/short_name → Threadly, theme-color → #7C3AED, add SVG icon entry for modern browsers - Update _document.tsx: meta description and theme-color to match new brand - Replace all Zap icon + "InboxIQ" text combos with <img> logo in: Layout.tsx (desktop + mobile sidebar), pages/index.tsx (navbar, footer), pages/auth/signin.tsx, pages/auth/signup.tsx (both panel variants) - Replace all remaining "InboxIQ" text in: landing page copy, auth pages, privacy.tsx, hero URL bar mockup, package.json - Update the hero browser mockup URL bar to app.threadly.ai Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent cc56bd9 commit 59d2f52

11 files changed

Lines changed: 149 additions & 69 deletions

File tree

frontend/components/Layout.tsx

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -177,11 +177,9 @@ export default function Layout({ children, title }: LayoutProps) {
177177
{/* ── Desktop Sidebar ── */}
178178
<aside className="hidden lg:flex lg:w-64 lg:flex-col lg:border-r lg:border-gray-200 dark:border-gray-700 lg:bg-white dark:lg:bg-gray-900 lg:fixed lg:inset-y-0">
179179
{/* Logo */}
180-
<div className="flex items-center gap-2.5 px-4 py-5 animate-fade-in">
181-
<div className="flex h-8 w-8 items-center justify-center rounded-lg bg-gradient-to-br from-primary-500 to-primary-700 shadow-sm">
182-
<Zap className="h-4 w-4 text-white" />
183-
</div>
184-
<span className="text-lg font-bold text-gray-900 dark:text-gray-100">InboxIQ</span>
180+
<div className="flex items-center px-4 py-5 animate-fade-in">
181+
<img src="/logo.svg" alt="Threadly" className="h-8 w-auto dark:hidden" />
182+
<img src="/logo-dark.svg" alt="Threadly" className="h-8 w-auto hidden dark:block" />
185183
</div>
186184

187185
<div className="flex flex-1 flex-col overflow-y-auto">
@@ -199,11 +197,9 @@ export default function Layout({ children, title }: LayoutProps) {
199197
/>
200198
<aside className="absolute left-0 top-0 bottom-0 w-64 bg-white dark:bg-gray-900 flex flex-col shadow-2xl animate-slide-in-left">
201199
<div className="flex items-center justify-between px-4 pt-4 pb-2">
202-
<div className="flex items-center gap-2">
203-
<div className="flex h-8 w-8 items-center justify-center rounded-lg bg-gradient-to-br from-primary-500 to-primary-700">
204-
<Zap className="h-4 w-4 text-white" />
205-
</div>
206-
<span className="text-lg font-bold text-gray-900 dark:text-gray-100">InboxIQ</span>
200+
<div className="flex items-center">
201+
<img src="/logo.svg" alt="Threadly" className="h-8 w-auto dark:hidden" />
202+
<img src="/logo-dark.svg" alt="Threadly" className="h-8 w-auto hidden dark:block" />
207203
</div>
208204
<button
209205
onClick={() => setSidebarOpen(false)}

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "inboxiq-frontend",
2+
"name": "threadly-frontend",
33
"version": "0.1.0",
44
"private": true,
55
"scripts": {

frontend/pages/_document.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ export default function Document() {
1111
rel="stylesheet"
1212
/>
1313
<link rel="icon" href="/favicon.ico" />
14-
<meta name="description" content="InboxIQ - AI-Powered Email Command Center for service businesses" />
14+
<meta name="description" content="Threadly - AI-powered email thread management for service businesses" />
1515
<link rel="manifest" href="/manifest.json" />
16-
<meta name="theme-color" content="#2563eb" />
16+
<meta name="theme-color" content="#7C3AED" />
1717
</Head>
1818
<body>
1919
<Main />

frontend/pages/auth/signin.tsx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ export default function SigninPage() {
2222
return (
2323
<>
2424
<Head>
25-
<title>Sign In — InboxIQ</title>
26-
<meta name="description" content="Sign in to your InboxIQ account." />
25+
<title>Sign In — Threadly</title>
26+
<meta name="description" content="Sign in to your Threadly account." />
2727
</Head>
2828
<div className="flex min-h-screen bg-gray-50">
2929
<div className="flex flex-1 flex-col justify-center py-12 px-4 sm:px-6 lg:px-8">
@@ -38,11 +38,8 @@ export default function SigninPage() {
3838
</Link>
3939

4040
{/* Logo */}
41-
<div className="flex items-center gap-2.5 mb-8">
42-
<div className="flex h-10 w-10 items-center justify-center rounded-xl bg-primary-600">
43-
<Zap className="h-5 w-5 text-white" />
44-
</div>
45-
<span className="text-2xl font-bold text-gray-900">InboxIQ</span>
41+
<div className="flex items-center mb-8">
42+
<img src="/logo.svg" alt="Threadly" className="h-9 w-auto" />
4643
</div>
4744

4845
{/* Header */}
@@ -100,7 +97,7 @@ export default function SigninPage() {
10097
sign_in: {
10198
email_label: 'Email address',
10299
password_label: 'Password',
103-
button_label: 'Sign in to InboxIQ',
100+
button_label: 'Sign in to Threadly',
104101
social_provider_text: 'Continue with {{provider}}',
105102
link_text: 'Forgot your password?',
106103
},

frontend/pages/auth/signup.tsx

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,14 @@ export default function SignupPage() {
3030
return (
3131
<>
3232
<Head>
33-
<title>Sign Up — InboxIQ</title>
34-
<meta name="description" content="Create your InboxIQ account and start managing email with AI." />
33+
<title>Sign Up — Threadly</title>
34+
<meta name="description" content="Create your Threadly account and start managing email with AI." />
3535
</Head>
3636
<div className="flex min-h-screen">
3737
{/* Left Panel */}
3838
<div className="hidden lg:flex lg:w-1/2 bg-gradient-to-br from-primary-600 to-primary-800 flex-col justify-center px-16">
39-
<div className="flex items-center gap-3 mb-12">
40-
<div className="flex h-10 w-10 items-center justify-center rounded-xl bg-white/20">
41-
<Zap className="h-5 w-5 text-white" />
42-
</div>
43-
<span className="text-2xl font-bold text-white">InboxIQ</span>
39+
<div className="flex items-center mb-12">
40+
<img src="/logo-dark.svg" alt="Threadly" className="h-9 w-auto" />
4441
</div>
4542
<h2 className="text-4xl font-extrabold text-white leading-tight mb-6">
4643
Your inbox, finally under control
@@ -70,11 +67,8 @@ export default function SignupPage() {
7067
<div className="flex flex-1 flex-col justify-center px-6 py-12 lg:px-12 bg-white">
7168
<div className="mx-auto w-full max-w-md">
7269
{/* Mobile logo */}
73-
<div className="lg:hidden flex items-center gap-2 mb-8">
74-
<div className="flex h-8 w-8 items-center justify-center rounded-lg bg-primary-600">
75-
<Zap className="h-4 w-4 text-white" />
76-
</div>
77-
<span className="text-xl font-bold text-gray-900">InboxIQ</span>
70+
<div className="lg:hidden flex items-center mb-8">
71+
<img src="/logo.svg" alt="Threadly" className="h-8 w-auto" />
7872
</div>
7973

8074
<div className="mb-8">

frontend/pages/index.tsx

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,8 @@ function Navbar() {
2525
<nav className="fixed top-0 left-0 right-0 z-50 bg-white/90 backdrop-blur-sm border-b border-gray-100">
2626
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
2727
<div className="flex h-16 items-center justify-between">
28-
<div className="flex items-center gap-2">
29-
<div className="flex h-8 w-8 items-center justify-center rounded-lg bg-primary-600">
30-
<Zap className="h-4 w-4 text-white" />
31-
</div>
32-
<span className="text-lg font-bold text-gray-900">InboxIQ</span>
28+
<div className="flex items-center">
29+
<img src="/logo.svg" alt="Threadly" className="h-8 w-auto" />
3330
</div>
3431
<div className="hidden md:flex items-center gap-8">
3532
<a href="#features" className="text-sm text-gray-600 hover:text-gray-900 transition-colors">Features</a>
@@ -77,7 +74,7 @@ function Hero() {
7774
</span>
7875
</h1>
7976
<p className="mx-auto mt-6 max-w-2xl text-xl text-gray-600 leading-relaxed">
80-
InboxIQ reads, categorizes, and prioritizes every email for your service business.
77+
Threadly reads, categorizes, and prioritizes every email for your service business.
8178
Never miss an urgent client message, auto-draft replies, and extract action items — all with AI.
8279
</p>
8380
<div className="mt-10 flex flex-col sm:flex-row items-center justify-center gap-4">
@@ -107,7 +104,7 @@ function Hero() {
107104
<div className="h-3 w-3 rounded-full bg-amber-400" />
108105
<div className="h-3 w-3 rounded-full bg-green-400" />
109106
<div className="ml-3 flex-1 rounded-md bg-white border border-gray-200 px-3 py-1 text-xs text-gray-400">
110-
app.inboxiq.ai/dashboard
107+
app.threadly.ai/dashboard
111108
</div>
112109
</div>
113110
{/* Dashboard content mockup */}
@@ -116,7 +113,7 @@ function Hero() {
116113
<div className="w-14 sm:w-52 bg-white border-r border-gray-100 p-3 flex flex-col gap-2">
117114
<div className="flex items-center gap-2 mb-3">
118115
<div className="h-6 w-6 rounded-md bg-primary-600 flex-shrink-0" />
119-
<span className="hidden sm:block text-xs font-bold text-gray-900">InboxIQ</span>
116+
<span className="hidden sm:block text-xs font-bold text-gray-900">Thread<span className="text-primary-600">ly</span></span>
120117
</div>
121118
{['Dashboard','Inbox','Actions','Settings'].map((item, i) => (
122119
<div
@@ -215,7 +212,7 @@ const features = [
215212
{
216213
icon: Zap,
217214
title: 'AI That Learns You',
218-
description: 'The more you use InboxIQ, the smarter it gets. It learns your preferences, business context, and communication style over time.',
215+
description: 'The more you use Threadly, the smarter it gets. It learns your preferences, business context, and communication style over time.',
219216
color: 'text-red-600',
220217
bg: 'bg-red-50',
221218
},
@@ -260,7 +257,7 @@ function HowItWorks() {
260257
step: '01',
261258
icon: Mail,
262259
title: 'Connect your Gmail',
263-
description: 'Securely connect your Gmail account with one click using Google OAuth. InboxIQ never stores your email credentials.',
260+
description: 'Securely connect your Gmail account with one click using Google OAuth. Threadly never stores your email credentials.',
264261
color: 'bg-primary-600',
265262
},
266263
{
@@ -452,15 +449,15 @@ const testimonials = [
452449
role: 'Founder, Apex Web Studio',
453450
avatar: 'SC',
454451
avatarColor: 'from-purple-400 to-purple-600',
455-
quote: "InboxIQ has completely changed how I run my agency. I used to spend 2 hours a day in email. Now it's 20 minutes. The AI reply drafts alone are worth every penny.",
452+
quote: "Threadly has completely changed how I run my agency. I used to spend 2 hours a day in email. Now it's 20 minutes. The AI reply drafts alone are worth every penny.",
456453
stars: 5,
457454
},
458455
{
459456
name: 'Marcus Johnson',
460457
role: 'Freelance Consultant',
461458
avatar: 'MJ',
462459
avatarColor: 'from-blue-400 to-blue-600',
463-
quote: "I was skeptical about AI email tools but InboxIQ blew me away. It caught an urgent client message I would have missed during a busy week. That single email saved a $15k contract.",
460+
quote: "I was skeptical about AI email tools but Threadly blew me away. It caught an urgent client message I would have missed during a busy week. That single email saved a $15k contract.",
464461
stars: 5,
465462
},
466463
{
@@ -479,7 +476,7 @@ function Testimonials() {
479476
<div className="mx-auto max-w-7xl">
480477
<div className="text-center mb-16">
481478
<h2 className="text-4xl font-bold text-gray-900">Loved by service business owners</h2>
482-
<p className="mt-4 text-xl text-gray-600">Join hundreds of businesses saving time with InboxIQ.</p>
479+
<p className="mt-4 text-xl text-gray-600">Join hundreds of businesses saving time with Threadly.</p>
483480
</div>
484481
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
485482
{testimonials.map((t) => (
@@ -544,11 +541,8 @@ function Footer() {
544541
<div className="mx-auto max-w-7xl">
545542
<div className="grid grid-cols-2 md:grid-cols-5 gap-8">
546543
<div className="col-span-2">
547-
<div className="flex items-center gap-2 mb-4">
548-
<div className="flex h-8 w-8 items-center justify-center rounded-lg bg-primary-600">
549-
<Zap className="h-4 w-4 text-white" />
550-
</div>
551-
<span className="text-lg font-bold text-white">InboxIQ</span>
544+
<div className="flex items-center mb-4">
545+
<img src="/logo-dark.svg" alt="Threadly" className="h-8 w-auto" />
552546
</div>
553547
<p className="text-sm text-gray-400 leading-relaxed max-w-xs">
554548
AI-powered email management for service businesses. Triage, prioritize, and respond — faster than ever.
@@ -585,7 +579,7 @@ function Footer() {
585579
</div>
586580
</div>
587581
<div className="mt-12 border-t border-gray-800 pt-8 flex flex-col sm:flex-row items-center justify-between gap-4">
588-
<p className="text-sm text-gray-500">© 2024 InboxIQ. All rights reserved.</p>
582+
<p className="text-sm text-gray-500">© 2024 Threadly. All rights reserved.</p>
589583
<p className="text-sm text-gray-500">Made with care for service businesses everywhere.</p>
590584
</div>
591585
</div>
@@ -598,9 +592,9 @@ export default function LandingPage() {
598592
return (
599593
<>
600594
<Head>
601-
<title>InboxIQ — AI-Powered Email Command Center</title>
602-
<meta name="description" content="InboxIQ uses AI to triage, prioritize, and draft replies for your business emails. Built for service businesses." />
603-
<meta property="og:title" content="InboxIQ — AI Email Command Center" />
595+
<title>Threadly — AI-Powered Email Command Center</title>
596+
<meta name="description" content="Threadly uses AI to triage, prioritize, and draft replies for your business emails. Built for service businesses." />
597+
<meta property="og:title" content="Threadly — AI Email Command Center" />
604598
<meta property="og:description" content="Stop drowning in email. Let AI triage, prioritize, and draft replies for your service business." />
605599
</Head>
606600
<Navbar />

frontend/pages/privacy.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ export default function PrivacyPolicy() {
55
return (
66
<>
77
<Head>
8-
<title>Privacy Policy — InboxIQ</title>
8+
<title>Privacy Policy — Threadly</title>
99
</Head>
1010
<div style={{ maxWidth: 760, margin: '60px auto', padding: '0 24px', fontFamily: 'sans-serif', lineHeight: 1.7, color: '#1a1a1a' }}>
11-
<Link href="/" style={{ color: '#6366f1', textDecoration: 'none', fontSize: 14 }}>← Back to InboxIQ</Link>
11+
<Link href="/" style={{ color: '#6366f1', textDecoration: 'none', fontSize: 14 }}>← Back to Threadly</Link>
1212

1313
<h1 style={{ marginTop: 32, fontSize: 32, fontWeight: 700 }}>Privacy Policy</h1>
1414
<p style={{ color: '#666', fontSize: 14 }}>Last updated: March 15, 2026</p>
1515

1616
<h2>1. Introduction</h2>
1717
<p>
18-
InboxIQ ("we", "our", or "us") operates the InboxIQ email management application
18+
Threadly ("we", "our", or "us") operates the Threadly email management application
1919
available at <strong>inbox-iq-lilac.vercel.app</strong>. This Privacy Policy explains
2020
how we collect, use, and protect your information when you use our service.
2121
</p>
@@ -30,7 +30,7 @@ export default function PrivacyPolicy() {
3030

3131
<h2>3. How We Use Your Information</h2>
3232
<ul>
33-
<li>To provide and operate the InboxIQ service</li>
33+
<li>To provide and operate the Threadly service</li>
3434
<li>To classify, summarize, and prioritize your emails using AI</li>
3535
<li>To generate draft replies based on your email content and preferences</li>
3636
<li>To send email replies on your behalf when you explicitly instruct us to</li>
@@ -39,18 +39,18 @@ export default function PrivacyPolicy() {
3939

4040
<h2>4. Gmail Data Usage</h2>
4141
<p>
42-
InboxIQ uses the Gmail API to access your email data. Specifically:
42+
Threadly uses the Gmail API to access your email data. Specifically:
4343
</p>
4444
<ul>
4545
<li>We request <strong>read access</strong> to your Gmail inbox to fetch and analyze emails.</li>
4646
<li>We request <strong>send access</strong> to send replies on your behalf when you choose to do so.</li>
4747
<li>Your Gmail data is never sold to third parties.</li>
48-
<li>Your Gmail data is not used to train any AI models beyond improving InboxIQ features.</li>
48+
<li>Your Gmail data is not used to train any AI models beyond improving Threadly features.</li>
4949
<li>We store only the email metadata and content necessary to provide our service.</li>
5050
<li>You can revoke Gmail access at any time from the Settings page or from your Google Account.</li>
5151
</ul>
5252
<p>
53-
InboxIQ's use and transfer of information received from Google APIs adheres to the{' '}
53+
Threadly's use and transfer of information received from Google APIs adheres to the{' '}
5454
<a href="https://developers.google.com/terms/api-services-user-data-policy" target="_blank" rel="noopener noreferrer" style={{ color: '#6366f1' }}>
5555
Google API Services User Data Policy
5656
</a>
@@ -90,7 +90,7 @@ export default function PrivacyPolicy() {
9090

9191
<h2>9. Children's Privacy</h2>
9292
<p>
93-
InboxIQ is not intended for use by anyone under the age of 13. We do not knowingly
93+
Threadly is not intended for use by anyone under the age of 13. We do not knowingly
9494
collect personal information from children.
9595
</p>
9696

@@ -108,7 +108,7 @@ export default function PrivacyPolicy() {
108108
</p>
109109

110110
<hr style={{ margin: '48px 0', borderColor: '#e5e7eb' }} />
111-
<p style={{ color: '#999', fontSize: 13 }}>© 2026 InboxIQ. All rights reserved.</p>
111+
<p style={{ color: '#999', fontSize: 13 }}>© 2026 Threadly. All rights reserved.</p>
112112
</div>
113113
</>
114114
);

frontend/public/icon.svg

Lines changed: 26 additions & 0 deletions
Loading

frontend/public/logo-dark.svg

Lines changed: 34 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)