An interactive exploration of global AI perspectives based on research analyzing 59,542 voices across three continents.
We’ve fixed the deployment issue we had earlier—our project is now live and running smoothly on Vercel. You can explore the interactive site here: https://aidentity-story.vercel.app/
- This section is for anyone who wants to run the project locally or deploy it themselves.
- Node.js (v16 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/yourusername/aidentity.git cd aidentity -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env # Edit .env with your configuration -
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:3000
- Personal Narrative: Starts with relatable stories and builds to global insights
- Interactive Quiz: Discover which of 5 AI personas matches your perspective
- Real Research Data: Based on actual survey responses from 59,542 participants
- Regional Analysis: Explore how geography shapes AI attitudes
- Responsive Design: Works seamlessly on desktop and mobile
- Data Visualizations: Dynamic charts showing persona distributions and fear profiles
- Balanced Social Participant (59.4%) - Cautiously optimistic, values human connection
- Consistent Social Responder (22.2%) - Thoughtful engagement, social justice focus
- Balanced Security Participant (3.4%) - Prioritizes safety and regulation
- Cultural Preservationist (8.4%) - Concerned about tradition and values
- Technology-Aware Participant (6.6%) - Understanding of risks while remaining engaged
This project analyzes survey data from:
- GD1: North American participants
- GD2: European participants
- GD3: Asia-Pacific participants
Total: 59,542 individual responses across 10 key dimensions of AI concern.
- Frontend: React 18, Tailwind CSS, Recharts, D3.js
- Backend: Node.js, Express
- Data Processing: Custom algorithms for persona classification
- Deployment: Optimized for Vercel/Netlify
src/
├── components/ # Reusable UI components
├── data/ # Research data and constants
├── utils/ # Helper functions and calculations
└── styles/ # CSS and styling
backend/
├── routes/ # API endpoints
├── data/ # Raw and processed datasets
└── utils/ # Data processing utilities
npm start- Run frontend onlynpm run server- Run backend onlynpm run dev- Run both frontend and backendnpm run build- Build for productionnpm test- Run tests
- Place CSV files in
backend/data/raw/ - Run data processing:
node backend/utils/dataProcessor.js - Update persona calculations in
backend/utils/personaCalculator.js
GET /api/personas- Get all persona dataPOST /api/quiz/submit- Submit quiz responses and get persona matchGET /api/data/regional- Get regional comparison dataGET /api/data/distribution- Get persona distribution data
- Tailwind classes can be customized in
tailwind.config.js - Component-specific styles in individual component files
- Chart configurations in
src/components/DataVisualization.js - Color schemes defined in
src/data/personaData.js
- Questions in
src/data/quizQuestions.js - Scoring algorithm in
src/utils/calculations.js
npm install -g vercel
vercel --prodnpm run build
# Upload dist folder to Netlifynpm run build
# Upload build folder to your hosting provider- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Research participants who shared their perspectives
- Data visualization inspiration from The Pudding
- Open source community for tools and libraries