Mesh is an AI driven web experience that showcases a unified data layer for fire, police, EMS, and emergency management in Birmingham, Alabama. The site focuses on operational intelligence, interoperability, and ethical use of data.
This repository contains the marketing and product explainer site for Mesh. It highlights:
- Real time interoperability challenges in Birmingham
- The Mesh Insight Engine for surge prediction, load balancing, and hazard analysis
- A privacy first, community focused approach to public safety technology
- Clear calls to action for agencies and partners who want to learn more
src/
├── components/ Reusable UI pieces
│ ├── Header.tsx Sticky glassmorphic navigation
│ ├── Footer.tsx Footer with navigation and contact links
│ ├── PageLayout.tsx Shared shell used by all pages
│ ├── Orb.tsx Shader based orbital background
│ ├── NeonNetworkCanvas.tsx Network visualization on the platform page
│ ├── Section.tsx Section utility and titles
│ └── FeatureCard.tsx Generic card styling
├── pages/ Top level routes
│ ├── Home.tsx Landing page and hero
│ ├── Platform.tsx Platform capabilities and integrations
│ ├── About.tsx Team and mission
│ ├── Contact.tsx Contact form and FAQ
│ ├── Privacy.tsx Privacy Policy
│ └── Terms.tsx Terms of Service
├── lib/
│ └── firebase.ts Firebase and Firestore setup
├── providers/
│ └── app.tsx App level providers
├── App.tsx Router configuration
├── main.tsx React entry point
└── index.css Global styles and design tokens
-
Install dependencies
npm install
-
Configure environment variables
Create a
.envfile in the project root and set:VITE_FIREBASE_API_KEY=your_api_key VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain VITE_FIREBASE_PROJECT_ID=your_project_id VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket VITE_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id VITE_FIREBASE_APP_ID=your_app_id -
Start the development server
npm run dev
-
Create a production build
npm run build
npm run devStart the Vite development server with hot reloadnpm run buildBuild an optimized production bundlenpm run previewPreview the production build locallynpm run lintRun ESLintnpm run typecheckRun TypeScript type checking
The contact form writes to a Firestore collection named contact_requests.
Each document includes:
namestring, requiredemailstring, requiredcompanystring, optionaltypestring, one ofdemo,partnership, orgeneralmessagestring, requiredtimestampJavaScript Date set on submission
Authentication rules and access control should be configured in the Firebase console based on your deployment needs.
- Email:
thabheloduve@gmail.com - Phone:
+1 (256) 375-4207 - Location: Birmingham, Alabama, United States
Proprietary - Mesh Platform 2025