No description
Find a file
michael 567db4227c Move creativity slider to collapsible Advanced Controls section
- Wrap temperature slider in accordion labeled "Advanced Controls"
- Rename "AI Creativity Level (Temperature)" to "Creativity Level"
- Replace numeric labels with descriptive terms (More Focused & Consistent / More Diverse & Creative)
- Remove "Current" value display
- Change default from 1.0 to 0.75 (centered position)
- Update description with user-friendly language about variance and hallucination risk

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 15:07:45 -06:00
.claude added full persona profile export in bulk actions menu (CSV, JSON and Markdown formats) 2025-09-10 22:38:35 -05:00
backend upgraded to Gemini 3.0 Pro (gemini-3-pro-preview) from Gemini 2.5 Pro 2025-12-01 10:37:36 -06:00
dist added retry logic and smart field completion for persona generation, increased OpenAI timeout 2025-12-01 09:39:58 -06:00
node_modules added drag and drop for reordering questions/activities in discussion guide edit mode 2025-08-26 09:52:24 -05:00
public initial commit 2025-08-04 09:07:59 -05:00
src Move creativity slider to collapsible Advanced Controls section 2025-12-01 15:07:45 -06:00
.DS_Store truncated long folder names so the buttons are still visible, migrated legacy folders to new format 2025-09-11 10:40:01 -05:00
.env added persona modification service - users can adjust individual personas with NLP via LLM 2025-08-26 12:45:15 -05:00
.env.development added drag and drop for reordering questions/activities in discussion guide edit mode 2025-08-26 09:52:24 -05:00
.env.production added drag and drop for reordering questions/activities in discussion guide edit mode 2025-08-26 09:52:24 -05:00
.gitignore graceful handling of expired JWT token 2025-09-03 13:15:00 -05:00
bun.lockb initial commit 2025-08-04 09:07:59 -05:00
CLAUDE.md upgraded to Gemini 3.0 Pro (gemini-3-pro-preview) from Gemini 2.5 Pro 2025-12-01 10:37:36 -06:00
components.json initial commit 2025-08-04 09:07:59 -05:00
eslint.config.js initial commit 2025-08-04 09:07:59 -05:00
index.html initial commit 2025-08-04 09:07:59 -05:00
mermaid-flow.md initial commit 2025-08-04 09:07:59 -05:00
package-lock.json added drag and drop for reordering questions/activities in discussion guide edit mode 2025-08-26 09:52:24 -05:00
package.json added drag and drop for reordering questions/activities in discussion guide edit mode 2025-08-26 09:52:24 -05:00
postcss.config.js initial commit 2025-08-04 09:07:59 -05:00
README.md initial commit 2025-08-04 09:07:59 -05:00
semblance.service initial commit 2025-08-04 09:07:59 -05:00
semblance_app_documentation.md initial commit 2025-08-04 09:07:59 -05:00
start.sh initial commit 2025-08-04 09:07:59 -05:00
tailwind.config.ts initial commit 2025-08-04 09:07:59 -05:00
tsconfig.app.json initial commit 2025-08-04 09:07:59 -05:00
tsconfig.json initial commit 2025-08-04 09:07:59 -05:00
tsconfig.node.json initial commit 2025-08-04 09:07:59 -05:00
vite.config.ts converted message polling to websockets 2025-08-10 18:08:34 -05:00

Semblance Synthetic Society

A platform for creating and managing synthetic personas for focus groups and market research.

Project info

URL: https://lovable.dev/projects/ee7a424f-7f6c-4b5d-9645-e66074cea7d3

Features

  • Create and manage synthetic personas with detailed profiles
  • Organize personas into focus groups
  • Run interactive focus group sessions
  • Analyze results and extract insights
  • MongoDB-based backend for data persistence
  • User authentication and access control

Getting Started

Prerequisites

  • Node.js & npm installed - install with nvm
  • Python 3.8+ installed for the backend
  • MongoDB installed and running locally (default configuration: mongodb://localhost:27017)

Installation

# Step 1: Clone the repository
git clone <YOUR_GIT_URL>

# Step 2: Navigate to the project directory
cd <YOUR_PROJECT_NAME>

# Step 3: Install frontend dependencies
npm install

# Step 4: Install backend dependencies
cd backend
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt
cd ..

Running the Application

Use the provided start script to run both frontend and backend:

./start.sh

The start script will:

  1. Check for and start MongoDB if needed
  2. Set up the Python virtual environment
  3. Install dependencies
  4. Populate the database with sample personas and focus groups
  5. Start both the backend and frontend servers

Or run them separately:

# Start the backend
cd backend
source venv/bin/activate
python run.py

# In another terminal, run the frontend
npm run dev

The frontend will be available at http://localhost:5173 The backend API is available at http://localhost:5137/api

Default Login

  • Username: user
  • Password: pass

Technology Stack

Frontend

  • Vite
  • TypeScript
  • React
  • React Router
  • shadcn-ui
  • Tailwind CSS
  • Axios for API requests

Backend

  • Python
  • Flask
  • PyMongo (MongoDB client)
  • JWT for authentication

Project Structure

  • /src: Frontend source code
    • /components: React components
    • /contexts: React contexts for state management
    • /hooks: Custom React hooks
    • /lib: Utility functions and API client
    • /pages: Main application pages
    • /types: TypeScript type definitions
  • /backend: Python backend
    • /app: Flask application
      • /models: Database models
      • /routes: API endpoints
    • run.py: Backend entry point

Deployment

The application is configured to be deployed at the /semblance/ path. For hosting:

  1. Build the frontend:

    npm run build
    
  2. Deploy the backend using a WSGI server like Gunicorn:

    cd backend
    gunicorn -w 4 "app:create_app()"
    

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request