Update BM Connect waitlist section

This commit is contained in:
User
2026-08-22 08:01:05 +02:00
parent f2e64d77f5
commit 3c1367ea51
21 changed files with 55 additions and 55 deletions
+2 -2
View File
@@ -1,10 +1,10 @@
# Software X
# BM Connect
A polished React + Vite landing page and community waitlist experience for a premium meme-coin launch platform. The app includes a hero section, ecosystem overview, funding narrative, tokenomics modal, roadmap, and a live waitlist flow backed by Firebase Firestore.
## Overview
Software X is designed to present a high-trust launch narrative for a community-driven web3 product. The project combines brand storytelling, conversion-focused sections, and a waitlist system that tracks registrations and community momentum.
BM Connect is designed to present a high-trust launch narrative for a community-driven web3 product. The project combines brand storytelling, conversion-focused sections, and a waitlist system that tracks registrations and community momentum.
## Highlights
+1 -1
View File
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>My Google AI Studio App</title>
<title>BM Connect</title>
</head>
<body>
<div id="root"></div>
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "Software X",
"description": "Premium launch platform and brand strategy for Software X.",
"name": "BM Connect",
"description": "Premium launch platform and brand strategy for BM Connect.",
"requestFramePermissions": [],
"majorCapabilities": ["MAJOR_CAPABILITY_SERVER_SIDE_GEMINI_API"]
}
+2 -2
View File
@@ -35,7 +35,7 @@ export const Footer: React.FC<FooterProps> = ({
</div>
<p className="text-sm text-slate-400 max-w-sm leading-relaxed">
Software X is the evolution of BirthdayMessaging.io, anchoring an ecosystem of 30+ digital tools funded directly by a fair community token. Zero VCs. 100% real products.
BM Connect is the evolution of BirthdayMessaging.io, anchoring an ecosystem of 30+ digital tools funded directly by a fair community token. Zero VCs. 100% real products.
</p>
<div className="flex items-center gap-2 pt-2">
@@ -168,7 +168,7 @@ export const Footer: React.FC<FooterProps> = ({
{/* Bottom Bar */}
<div className="pt-8 flex flex-col sm:flex-row items-center justify-between gap-4 text-xs text-slate-400">
<div className="flex items-center gap-2">
<span>© 2026 Software X Labs. Built for real utility.</span>
<span>© 2026 BM Connect Labs. Built for real utility.</span>
</div>
<div className="flex items-center gap-6">
+1 -1
View File
@@ -73,7 +73,7 @@ export const Navbar: React.FC<NavbarProps> = ({
<div className="flex flex-col">
<div className="flex items-center gap-2">
<span className="text-xl font-bold tracking-tight text-white font-sans">
Software <span className="text-orange-400">X</span>
BM <span className="text-orange-400">Connect</span>
</span>
<Badge variant="tangerine" showDot={true} className="hidden sm:inline-flex">
30+ Apps
+2 -2
View File
@@ -49,7 +49,7 @@ export const CommunitySection: React.FC = () => {
badgeVariant="tangerine"
title="Built Out in the Open."
gradientTitle="Backed by Community."
subtitle="Software X is guided by real users, software engineers, and community members worldwide."
subtitle="BM Connect is guided by real users, software engineers, and community members worldwide."
/>
{/* Social Cards Grid */}
@@ -99,7 +99,7 @@ export const CommunitySection: React.FC = () => {
</div>
<div>
<h3 className="text-xl font-bold text-white">Founders' Public Commitment Pledge</h3>
<p className="text-xs text-slate-400 font-mono">Signed by the Software X & BirthdayMessaging.io Core Team</p>
<p className="text-xs text-slate-400 font-mono">Signed by the BM Connect & BirthdayMessaging.io Core Team</p>
</div>
</div>
<Badge variant="sky" showDot={true}>
+1 -1
View File
@@ -32,7 +32,7 @@ export const FAQSection: React.FC = () => {
badgeVariant="sky"
title="Frequently Asked"
gradientTitle="Questions"
subtitle="Everything you need to know about Software X, BirthdayMessaging.io, tokenomics, and community-driven software development."
subtitle="Everything you need to know about BM Connect, BirthdayMessaging.io, tokenomics, and community-driven software development."
/>
{/* Filter Controls Bar */}
+6 -6
View File
@@ -14,9 +14,9 @@ export const FeaturesSection: React.FC = () => {
currency: 'USD'
});
const sampleSnippet = `import { SoftwareX } from '@software-x/sdk';
const sampleSnippet = `import { BMConnect } from '@bm-connect/sdk';
const sx = new SoftwareX({
const sx = new BMConnect({
identityKey: process.env.SX_IDENTITY_KEY,
ecosystemApp: 'birthday-messaging'
});
@@ -39,7 +39,7 @@ console.log('User active across apps:', session.user.apps);`;
badgeVariant="sky"
title="Engineered for Performance."
gradientTitle="Built for Scale."
subtitle="Software X combines modern TypeScript microservices, zero-trust SSO authentication, and automated treasury buy-backs into a cohesive developer platform."
subtitle="BM Connect combines modern TypeScript microservices, zero-trust SSO authentication, and automated treasury buy-backs into a cohesive developer platform."
/>
{/* Bento Grid */}
@@ -66,7 +66,7 @@ console.log('User active across apps:', session.user.apps);`;
<div className="mt-6 p-4 rounded-xl bg-slate-950 border border-slate-800 font-mono text-xs text-slate-300 relative">
<div className="flex items-center justify-between pb-2 mb-2 border-b border-slate-800 text-[11px] text-slate-400">
<span className="flex items-center gap-1.5">
<Terminal className="w-3.5 h-3.5 text-orange-400" /> software-x-auth.ts
<Terminal className="w-3.5 h-3.5 text-orange-400" /> bm-connect-auth.ts
</span>
<button
onClick={copySnippet}
@@ -168,12 +168,12 @@ console.log('User active across apps:', session.user.apps);`;
</div>
<h3 className="text-lg font-bold text-white mb-2">Developer SDK & Extensions</h3>
<p className="text-xs text-slate-400 leading-relaxed">
Build custom micro-SaaS extensions or plug third-party software into the Software X SSO identity matrix using our open-source TypeScript SDK.
Build custom micro-SaaS extensions or plug third-party software into the BM Connect SSO identity matrix using our open-source TypeScript SDK.
</p>
</div>
<div className="mt-4 pt-3 border-t border-slate-800/80 flex items-center justify-between text-xs text-amber-300 font-mono">
<span>TypeScript Native</span>
<span>npm i @software-x/sdk</span>
<span>npm i @bm-connect/sdk</span>
</div>
</GlassCard>
+4 -4
View File
@@ -28,7 +28,7 @@ export const HeroSection: React.FC<HeroSectionProps> = ({
const ecosystemNodes = [
{ id: 'birthday-messaging', name: 'BirthdayMessaging.io', icon: Gift, users: '85k+ Users', status: 'Live Flagship', color: 'from-pink-500 to-rose-600' },
{ id: 'software-x-core', name: 'Software X Core', icon: Cpu, users: 'Protocol Hub', status: 'Core Protocol', color: 'from-indigo-500 to-purple-600' },
{ id: 'bm-connect-core', name: 'BM Connect Core', icon: Cpu, users: 'Protocol Hub', status: 'Core Protocol', color: 'from-indigo-500 to-purple-600' },
{ id: 'signaldrop', name: 'SignalDrop Protocol', icon: Radio, users: '18k+ Users', status: 'Live App', color: 'from-emerald-500 to-teal-600' },
{ id: 'craftflow', name: 'CraftFlow Engine', icon: Zap, users: '12k+ Creators', status: 'Live App', color: 'from-amber-500 to-orange-600' }
];
@@ -89,7 +89,7 @@ export const HeroSection: React.FC<HeroSectionProps> = ({
transition={{ duration: 0.6, delay: 0.2 }}
className="mt-6 text-lg sm:text-xl text-slate-300 max-w-2xl leading-relaxed font-normal"
>
Software X is the core protocol connecting 30+ live digital products. Funded by a fair community token to build real, revenue-generating software zero VC dilution.
BM Connect is the core protocol connecting 30+ live digital products. Funded by a fair community token to build real, revenue-generating software zero VC dilution.
</motion.p>
{/* Fast Email Waitlist Box */}
@@ -177,7 +177,7 @@ export const HeroSection: React.FC<HeroSectionProps> = ({
<div className="w-3 h-3 rounded-full bg-orange-500" />
<div className="w-3 h-3 rounded-full bg-amber-500" />
<div className="w-3 h-3 rounded-full bg-sky-500" />
<span className="text-xs font-mono text-slate-400 ml-2">software-x://ecosystem-matrix.v1</span>
<span className="text-xs font-mono text-slate-400 ml-2">bm-connect://ecosystem-matrix.v1</span>
</div>
<div className="flex items-center gap-2">
<Badge variant="sky">Interactive Topology</Badge>
@@ -238,7 +238,7 @@ export const HeroSection: React.FC<HeroSectionProps> = ({
<p className="text-xs font-mono text-slate-400">Selected Node telemetry:</p>
<p className="text-sm font-medium text-white">
{activeNode === 'birthday-messaging' && 'BirthdayMessaging.io: 85,000+ Active Users • Multi-channel automated engine'}
{activeNode === 'software-x-core' && 'Software X Core Protocol: Unified Single Sign-On and automated revenue burn contracts'}
{activeNode === 'bm-connect-core' && 'BM Connect Core Protocol: Unified Single Sign-On and automated revenue burn contracts'}
{activeNode === 'signaldrop' && 'SignalDrop Protocol: 18,200+ Active encrypted message routes across 24 regions'}
{activeNode === 'craftflow' && 'CraftFlow Engine: 12,400+ Active workflows deployed with sub-50ms execution runtime'}
</p>
@@ -136,7 +136,7 @@ export const MemeCoinLaunchSection: React.FC<MemeCoinLaunchSectionProps> = ({
if (safeAmount >= 5000) {
materialPerks.push('Numbered Serialized Gold-Plated 3-Coin Master Set');
materialPerks.push('Permanent Enterprise Pass for all future Software X tools');
materialPerks.push('Permanent Enterprise Pass for all future BM Connect tools');
}
// Non-Material Perks unlocked
@@ -828,7 +828,7 @@ export const MemeCoinLaunchSection: React.FC<MemeCoinLaunchSectionProps> = ({
</div>
<h4 className="text-base font-bold text-white">On-Chain Founder Wall</h4>
<p className="text-xs text-slate-400 mt-2 leading-relaxed">
Permanent, immutable inscription of your wallet address or handle on the Software X On-Chain Public Hall of Fame.
Permanent, immutable inscription of your wallet address or handle on the BM Connect On-Chain Public Hall of Fame.
</p>
</div>
<div className="mt-4 pt-3 border-t border-slate-800 text-[11px] font-mono text-amber-300">
+3 -3
View File
@@ -55,7 +55,7 @@ export const ProblemSection: React.FC = () => {
badgeVariant="tangerine"
title="Traditional VC Capital vs."
gradientTitle="Community-Powered Funding"
subtitle="Venture capital forces software companies into short-term quarterly metrics and investor-first decisions. Software X aligns founders and users directly."
subtitle="Venture capital forces software companies into short-term quarterly metrics and investor-first decisions. BM Connect aligns founders and users directly."
/>
{/* Comparison Toggle Control */}
@@ -81,7 +81,7 @@ export const ProblemSection: React.FC = () => {
}`}
>
<CheckCircle className="w-4 h-4 text-sky-400" />
Software X Model
BM Connect Model
</button>
</div>
</div>
@@ -134,7 +134,7 @@ export const ProblemSection: React.FC = () => {
<div>
<h4 className="text-base font-bold text-white">Software Built to Last, Not to Flip</h4>
<p className="text-xs sm:text-sm text-slate-400 mt-1 max-w-xl">
By funding Software X with a community-driven model, 100% of our incentives remain anchored to building real software solutions that users love every single day.
By funding BM Connect with a community-driven model, 100% of our incentives remain anchored to building real software solutions that users love every single day.
</p>
</div>
</div>
+4 -4
View File
@@ -12,8 +12,8 @@ export const SolutionSection: React.FC = () => {
badgeText="The Solution Architecture"
badgeVariant="tangerine"
title="From BirthdayMessaging.io to"
gradientTitle="Software X Ecosystem"
subtitle="Software X is not an abstract whitepaper. It is the evolution of a proven, live software product that already powers messaging for thousands of daily users."
gradientTitle="BM Connect Ecosystem"
subtitle="BM Connect is not an abstract whitepaper. It is the evolution of a proven, live software product that already powers messaging for thousands of daily users."
/>
{/* 3 Step Evolution Grid */}
@@ -62,7 +62,7 @@ export const SolutionSection: React.FC = () => {
<Cpu className="w-6 h-6" />
</div>
<div className="flex items-center gap-2 mb-2">
<span className="text-xs font-mono text-amber-400 uppercase tracking-wider font-semibold">Step 03 Software X</span>
<span className="text-xs font-mono text-amber-400 uppercase tracking-wider font-semibold">Step 03 BM Connect</span>
</div>
<h3 className="text-xl font-bold text-white mb-3">Community Core Protocol</h3>
<p className="text-sm text-slate-400 leading-relaxed mb-4">
@@ -82,7 +82,7 @@ export const SolutionSection: React.FC = () => {
<div>
<h3 className="text-lg font-bold text-white flex items-center gap-2">
<Zap className="w-5 h-5 text-orange-400" />
The Software X Circular Value Engine
The BM Connect Circular Value Engine
</h3>
<p className="text-xs text-slate-400 mt-1">
How real user subscription revenue drives protocol liquidity without relying on token inflation.
+2 -2
View File
@@ -13,7 +13,7 @@ export const StatsSection: React.FC = () => {
developer: {
title: 'Developer Tier (API Access)',
positionBoost: 'Top 5% Priority Access',
perks: ['Free $SX SDK API Quota', 'Access to Software X Private Auth Sandbox', 'Direct Discord Dev Channel Access']
perks: ['Free $SX SDK API Quota', 'Access to BM Connect Private Auth Sandbox', 'Direct Discord Dev Channel Access']
},
creator: {
title: 'Creator & User Tier',
@@ -35,7 +35,7 @@ export const StatsSection: React.FC = () => {
badgeVariant="sky"
title="Numbers That Prove"
gradientTitle="Real Software Adoption"
subtitle="Software X is backed by real metrics from existing software products operating every day."
subtitle="BM Connect is backed by real metrics from existing software products operating every day."
/>
{/* 4 Big Metrics Grid */}
@@ -49,7 +49,7 @@ export const VisionManifestoModal: React.FC<VisionManifestoModalProps> = ({
</div>
<h2 className="text-2xl sm:text-3xl font-extrabold text-white">
The Software X Founder Manifesto
The BM Connect Founder Manifesto
</h2>
<p className="text-xs text-orange-400 font-mono mt-1">
Why we are funding software through a community token instead of Venture Capital.
@@ -63,10 +63,10 @@ export const VisionManifestoModal: React.FC<VisionManifestoModalProps> = ({
From that single product grew an ecosystem of <strong>30+ digital micro-SaaS applications</strong> covering encrypted routing, workflow automation, and live telemetry.
</p>
<p>
When it came time to scale this ecosystem into <strong>Software X</strong>, traditional venture capital firms offered millions in exchange for board seats, liquidation preferences, and exit timelines. We turned them down.
When it came time to scale this ecosystem into <strong>BM Connect</strong>, traditional venture capital firms offered millions in exchange for board seats, liquidation preferences, and exit timelines. We turned them down.
</p>
<p className="p-4 rounded-xl bg-slate-950 border border-orange-500/30 text-white font-medium italic">
"When VCs fund software, the investor becomes the customer and the user becomes the product. By funding Software X through a fair community token, our incentives remain 100% aligned with our software users."
"When VCs fund software, the investor becomes the customer and the user becomes the product. By funding BM Connect through a fair community token, our incentives remain 100% aligned with our software users."
</p>
<h4 className="text-base font-bold text-white pt-2">Our Irrevocable Pledges:</h4>
<ul className="space-y-2 text-xs text-slate-300 font-mono">
@@ -91,7 +91,7 @@ export const VisionManifestoModal: React.FC<VisionManifestoModalProps> = ({
SX
</div>
<div className="text-left">
<p className="text-xs font-bold text-white">Software X Core Engineering Team</p>
<p className="text-xs font-bold text-white">BM Connect Core Engineering Team</p>
<p className="text-[11px] text-slate-400 font-mono">Creators of BirthdayMessaging.io</p>
</div>
</div>
+2 -2
View File
@@ -111,9 +111,9 @@ export const WaitlistSection: React.FC = () => {
<SectionHeading
badgeText={`Live Queue: #${liveStats.totalCount.toLocaleString()} Registered`}
badgeVariant="sky"
title="Join the Software X"
title="Join BM Connect"
gradientTitle="Early Access Waitlist"
subtitle="Be among the first to access Software X Core Protocol, test private beta builds across 30+ products, and claim community rewards."
subtitle="Be among the first to access BM Connect Core Protocol, test private beta builds across 30+ products, and claim community rewards."
/>
{/* Live Registered Counter Badge */}
+1 -1
View File
@@ -667,7 +667,7 @@ export const ecosystemApps: EcosystemApp[] = [
id: 'bm-ico-tokens',
name: 'BM ICO & $SX Tokens',
category: 'Blockchain & Tokens',
description: 'Official tokenomics, token sale, and smart contract protocol powering the Software X treasury.',
description: 'Official tokenomics, token sale, and smart contract protocol powering the BM Connect treasury.',
usersCount: 'Community Sale',
growthRate: 'Protocol',
price: 'Token Utility',
+3 -3
View File
@@ -4,8 +4,8 @@ export const faqItems: FAQItem[] = [
{
id: 'faq-1',
category: 'General',
question: 'What is Software X and how is it connected to BirthdayMessaging.io?',
answer: 'Software X is the next-generation unified protocol and suite of products built by the creators of BirthdayMessaging.io. While BirthdayMessaging.io was our breakout flagship product serving over 85,000 users, Software X expands this foundation into a broader ecosystem of 30+ interconnected productivity, communication, and automation micro-SaaS tools.'
question: 'What is BM Connect and how is it connected to BirthdayMessaging.io?',
answer: 'BM Connect is the next-generation unified protocol and suite of products built by the creators of BirthdayMessaging.io. While BirthdayMessaging.io was our breakout flagship product serving over 85,000 users, BM Connect expands this foundation into a broader ecosystem of 30+ interconnected productivity, communication, and automation micro-SaaS tools.'
},
{
id: 'faq-2',
@@ -41,6 +41,6 @@ export const faqItems: FAQItem[] = [
id: 'faq-7',
category: 'Ecosystem',
question: 'What benefits do I get by joining the Waitlist early?',
answer: 'Waitlist members receive priority queue access to Software X Core private beta, exclusive community rewards, lower fee structures across ecosystem products, and direct voting access in feature roadmap workshops.'
answer: 'Waitlist members receive priority queue access to BM Connect Core private beta, exclusive community rewards, lower fee structures across ecosystem products, and direct voting access in feature roadmap workshops.'
}
];
+1 -1
View File
@@ -49,7 +49,7 @@ export const featuresList: FeatureItem[] = [
{
id: 'feat-dev-sdk',
title: 'Developer Extensions & SDK',
tagline: 'Build on Software X Engine',
tagline: 'Build on BM Connect Engine',
description: 'Extend the ecosystem with your own micro-SaaS applications using our open-source TypeScript SDK and global CDN edge infrastructure.',
icon: 'Code2',
category: 'Developer Tools',
+8 -8
View File
@@ -10,7 +10,7 @@ export const roadmapData: RoadmapItem[] = [
'Deployed BirthdayMessaging.io high-throughput messaging architecture',
'Launched 30 self-sustaining micro-SaaS products across productivity & communication',
'Achieved profitability and zero external debt without venture capital',
'Architected initial proof-of-concept for unified Software X protocol'
'Architected initial proof-of-concept for unified BM Connect protocol'
]
},
{
@@ -19,7 +19,7 @@ export const roadmapData: RoadmapItem[] = [
status: 'current',
description: 'Opening the early access waitlist to build a core community of believers while establishing fair, transparent tokenomics.',
milestones: [
'Launch of official Software X interactive waitlist platform',
'Launch of official BM Connect interactive waitlist platform',
'Publication of transparent treasury manifest & anti-dump lockup schedule',
'Audit of smart contracts for liquidity lock and token distribution',
'Release of ecosystem preview sandbox for early waitlist members'
@@ -32,19 +32,19 @@ export const roadmapData: RoadmapItem[] = [
description: 'Distributing the community token with zero insider pre-mines. 100% of initial liquidity locked into the software development treasury.',
milestones: [
'Decentralized liquidity pool initialization with automated LP lock',
'Verification of Software X treasury dashboard on public blockchain',
'Verification of BM Connect treasury dashboard on public blockchain',
'First automated software revenue buy-back executed by smart contract',
'Opening of alpha testing for Software X Core Identity Engine'
'Opening of alpha testing for BM Connect Core Identity Engine'
]
},
{
quarter: 'Phase 4 — Q1 2027',
title: 'Software X Protocol Integration across 30+ Apps',
title: 'BM Connect Protocol Integration across 30+ Apps',
status: 'upcoming',
description: 'Unifying all 30+ ecosystem apps under Software X SSO, sharing user context, analytics, and token utility.',
description: 'Unifying all 30+ ecosystem apps under BM Connect SSO, sharing user context, analytics, and token utility.',
milestones: [
'Seamless single sign-on across BirthdayMessaging, SignalDrop, CraftFlow',
'Launch of Software X Developer SDK for third-party builders',
'Launch of BM Connect Developer SDK for third-party builders',
'Decentralized governance portal for token holders to vote on feature roadmaps',
'Global hackathon with $250K treasury grant pool'
]
@@ -53,7 +53,7 @@ export const roadmapData: RoadmapItem[] = [
quarter: 'Phase 5 — 2027+',
title: 'Autonomous Ecosystem Expansion',
status: 'upcoming',
description: 'Establishing Software X as an open decentralized software studio that continuously acquires and builds sustainable tools.',
description: 'Establishing BM Connect as an open decentralized software studio that continuously acquires and builds sustainable tools.',
milestones: [
'Ecosystem expansion target: 100+ active software products',
'Cross-chain liquidity bridges for low-cost micro-transactions',
+3 -3
View File
@@ -155,7 +155,7 @@ export async function registerForWaitlist(
// Add entry to collection
const newEntryRef = await addDoc(entriesCollectionRef, {
email: data.email.trim().toLowerCase(),
fullName: data.fullName?.trim() || 'Software X Member',
fullName: data.fullName?.trim() || 'BM Connect Member',
tier: data.tier || 'Supporter',
investmentAmount: data.investmentAmount || 25,
position: assignedPosition,
@@ -167,7 +167,7 @@ export async function registerForWaitlist(
return {
id: newEntryRef.id,
email: data.email,
fullName: data.fullName || 'Software X Member',
fullName: data.fullName || 'BM Connect Member',
position: assignedPosition,
referralCode,
investmentAmount: data.investmentAmount || 25,
@@ -181,7 +181,7 @@ export async function registerForWaitlist(
return {
id: `local-${Date.now()}`,
email: data.email,
fullName: data.fullName || 'Software X Member',
fullName: data.fullName || 'BM Connect Member',
position: fallbackPosition,
referralCode: `SX-${Math.random().toString(36).substring(2, 7).toUpperCase()}`,
investmentAmount: data.investmentAmount || 25,
+1 -1
View File
@@ -1,5 +1,5 @@
/**
* Software X Helper Utilities
* BM Connect Helper Utilities
*/
export function formatNumber(num: number): string {