Glassbox is a high-performance, internal feedback management system and organizational health tool, wrapped in a distinctive "cyberpunk terminal" aesthetic. It serves as a centralized hub for tracking employee sentiments, managing team rosters, and analyzing organizational vibes using cutting-edge AI.
The Problem: Traditional employee feedback systems are fragmented, dull, and rely heavily on manual interpretation, leading to delayed insights and disengaged employees.
The Solution: By combining real-time metric tracking, AI-driven sentiment analysis, and a visually striking interactive dashboard, Glassbox turns qualitative employee input into quantitative, actionable data for management and HR teams.
Why These Technologies?
React 19 and Vite were chosen for rapid, highly performant frontend rendering. Tailwind CSS and Framer Motion enable the complex, immersive cyberpunk interface without sacrificing performance. Finally, integration with the Google Gemini AI (gemma-4-31b-it) empowers the system to autonomously classify sentiments and generate human-readable insight reports instantly.
- 3. Installation & Requirements
- 4. Usage Instructions & Examples
- 5. Technologies Used (Tech Stack)
- 6. Contribution Guidelines
- 7. Testing Instructions
- 8. License Information
To run Glassbox locally, ensure you have Node.js (v18+) and npm installed.
Step 1: Clone the repository
git clone https://github.com/dhaatrik/glassbox.git
cd glassboxStep 2: Install dependencies
npm installStep 3: Set up environment variables
Create a .env file in the root directory (based on .env.example) and add your Gemini API key to enable the AI features:
VITE_GEMINI_API_KEY=your_api_key_hereStep 4: Start the development server
npm run devThe application will be running and accessible at http://localhost:3000.
Navigate to the New Signal view via the terminal interface, select the appropriate department, and enter your feedback. The system automatically analyzes the sentiment via AI before submission.
// Example: Under the hood sentiment analysis via Gemini
const sentiment = await analyzeSentiment(feedbackText);
// Evaluates to: "POSITIVE", "NEGATIVE", or "NEUTRAL"The Grid view allows administrators to manage feedback tickets using an intuitive drag-and-drop Kanban interface. You can filter by department, status, or keyword to organize tasks efficiently.
The Metrics view provides MoM (Month-over-Month) volume trends using dynamic charts. Click the AI Insight button to trigger an AI-generated report that synthesizes recent employee feedback logs into actionable executive takeaways.
- Frontend Engine: React 19 powered by Vite
- Language: TypeScript
- Styling Engine: Tailwind CSS v4
- Animations & Motion: Framer Motion (
motion/react) - Data Visualization: Recharts
- AI Integration:
@google/genai(Configured forgemma-4-31b-it) - Interactive UI:
@hello-pangea/dnd(Drag & Drop), Lucide React - Testing Infrastructure: Vitest & React Testing Library
We welcome and encourage contributions to make Glassbox even better! Whether you are fixing bugs, improving documentation, or proposing new features, your help is appreciated.
Please see our full CONTRIBUTING.md file for detailed instructions on how to submit issues, suggest features, and make changes. We adhere strictly to the Contributor Covenant as our code of conduct.
Basic Workflow:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Glassbox uses Vitest for robust unit and integration testing to ensure system integrity. Automated tests cover API communication, DOM rendering, form validation, metric calculations, and full-flow user journeys.
To run the entire test suite:
npm testTo run tests in interactive watch mode (for active development):
npx vitestWe ask that all contributors run the test suite and ensure it is fully passing before submitting a Pull Request.
This project is authored by Dhaatrik Chowdhury (@dhaatrik) and is released under the MIT License.
You are completely free to use, modify, distribute, and build upon this software in accordance with the terms of the MIT License. See the LICENSE file for the full text and permissions.
