# Software X 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. ## Highlights - Premium landing-page design with dark, modern visual language - Conversion-focused sections for problem, solution, roadmap, and funding - Tokenomics and vision modal experiences - Waitlist registration and stats tracking powered by Firebase - Responsive React interface built with Vite and TypeScript ## Tech Stack - React 19 - Vite - TypeScript - Tailwind CSS - Firebase Firestore - Google GenAI SDK ## Project Structure ```bash . ├── src/ │ ├── components/ │ ├── data/ │ ├── lib/ │ ├── App.tsx │ ├── main.tsx │ └── index.css ├── firebase-applet-config.json ├── firebase-blueprint.json ├── firestore.rules ├── .env.example ├── package.json ├── tsconfig.json ├── vite.config.ts └── README.md ``` ## Local Development ### Prerequisites - Node.js 18+ - npm ### Install dependencies ```bash npm install ``` ### Environment variables This project includes an example environment file at [.env.example](.env.example). Configure the variables required by your runtime environment before starting the app. ```bash cp .env.example .env ``` The example file includes: - `GEMINI_API_KEY` - `APP_URL` If you are running in AI Studio, configure these values through the platform’s secrets/runtime settings as needed. ### Run the app ```bash npm run dev ``` The app runs on port `3000` by default via the Vite config. ### Production build ```bash npm run build ``` ### Type checking ```bash npm run lint ``` ## Firebase + Waitlist The waitlist logic is configured in [src/lib/firebase.ts](src/lib/firebase.ts). It uses Firebase Firestore to manage registrations, live statistics, and referral-based waitlist tracking. Before using the live waitlist flow, make sure your Firebase config file is populated correctly in [firebase-applet-config.json](firebase-applet-config.json). ## Notes - The app is structured as a marketing and launch-site interface, not a general-purpose backend app. - If you are deploying this to a static host or custom frontend platform, ensure your environment variables and Firebase configuration are available in the deployment environment. ## Contributing Pull requests and improvements are welcome. For any significant changes, open an issue or propose the update before making a large refactor.