A modern web application for tracking engineering performance using the IOOI Framework (Input, Output, Outcome, Impact) with role-based weighted scoring and comprehensive performance evaluation.
- π IOOI Framework: Structured tracking across Input, Output, Outcome, and Impact dimensions
- βοΈ Role-Based Scoring: Customizable weights for different roles and levels
- π― 5-Band Performance Evaluation: Outstanding, Strong Performance, Meeting Expectations, Partially Meeting, Underperforming
- π Role-Level Targets: Configurable performance targets for each role/level combination
- π Level Expectations: Define and manage expectations for career progression
- π§ Smart Insights: AI-powered pattern detection with actionable recommendations
- π·οΈ Category Templates: Pre-built work categories for all role/level combinations (IC L1-8, Manager L4-8)
- π Real-Time Updates: Seamless data refresh and live calculations
- π± Modern UI: Responsive design with interactive charts
- π Hybrid Database: Automatic switching between SQLite (local) and Turso (production)
- π³ Docker Ready: Complete containerization with Make commands
- π Production Ready: Deployed on Vercel with health monitoring
- π± Easy Seeding: Comprehensive data population scripts
# Fresh start with automatic seeding
make docker-fresh-start
# Or step by step:
make docker-deploy # Deploy with Docker ComposeThat's it! π The application will:
- Build and start the container
- Create and seed the database automatically with:
- π·οΈ 36 Category Templates (12 for IC, 24 for Manager across all levels)
- βοΈ 15 Role Weights (IC L1-8, Manager L4-8)
- π― 15 Performance Targets (role/level specific thresholds)
- π 16 Level Expectations (career progression guidelines)
- π 12 Base Categories (Input/Output/Outcome/Impact activities)
- Be available at http://localhost:3000
# Complete setup and start development
make setup
make dev
# View all available commands
make helpnpm install
npm run db:push
npm run db:seed
npm run dev| Level | Description | Typical Score Range |
|---|---|---|
| π Outstanding | Exceptional performance exceeding all expectations | 300+ |
| β Strong Performance | Consistently exceeding expectations | 230+ |
| π Meeting Expectations | Solid performance meeting role requirements | 170+ |
| Some performance gaps, needs improvement | 140+ | |
| β Underperforming | Significant concerns requiring attention | <140 |
Performance targets are role and level specific:
- IC (Individual Contributor): Levels 1-8
- Manager: Levels 4-8
- Senior Manager: Levels 6-8
- Director: Levels 7-8
| Dimension | Description | Examples |
|---|---|---|
| Input (I) | Activities you consume | Code reviews, meetings, training |
| Output (O) | Work you produce | Features, bug fixes, documentation |
| Outcome (O) | Results you achieve | Designs, proposals, decisions |
| Impact (I) | Influence you create | Mentoring, hiring, culture building |
- Frontend: Next.js 14, React, TypeScript, Tailwind CSS
- Database: SQLite (local) + Turso (production)
- ORM: Prisma with hybrid client
- Charts: Recharts for data visualization
- Deployment: Vercel + Docker
- Build Tools: Make for simplified commands
// Define role-level performance target
const target = {
name: "Senior Engineer L4",
role: "IC",
level: 4,
outstandingThreshold: 300,
strongThreshold: 230,
meetingThreshold: 170,
timePeriodWeeks: 12
}
// Calculate weighted score
const weeklyScore = calculateWeightedScore({
input: 45, // Code reviews, meetings
output: 85, // Features, bug fixes
outcome: 60, // Design docs, proposals
impact: 30 // Mentoring, hiring
}, roleWeights); // Role-specific weights
// Result: Performance level assessmentmake docker-fresh-start # Clean start with rebuild + seeding
make docker-deploy # Deploy with Docker Compose
make docker-stop # Stop all containers
make docker-logs # View container logs
make docker-clean # Clean containers, images, volumes
make docker-restart # Restart containersmake setup # Complete project setup
make dev # Start development server
make build # Build for production
make db-push # Push schema changes
make db-studio # Open Prisma Studio
make clean # Clean artifactsmake db-seed # Seed local database
make seed-category-templates # Seed production templates
make db-reset # Reset database (WARNING: deletes data)# If containers won't start
make docker-clean && make docker-fresh-start
# Check logs for errors
make docker-logs
# Verify Docker is running
make check-docker# Reset everything and start fresh
make docker-clean
make docker-fresh-startIf port 3000 is already in use, stop the conflicting service or modify docker-compose.yml to use a different port.
PerfMirror analyzes your performance data to provide intelligent feedback:
- π Consistently Evidenced: Activity in 3+ recent weeks
- β Evidenced: Some matching activity logged
β οΈ Not Yet Evidenced: No related activity found
- π Emerging Strength: Already showing next-level capabilities
β οΈ Growth Area: Opportunities for development
The system matches your logged work against role-level expectations using keyword analysis and provides actionable recommendations for career progression.
- Getting Started Guide - Setup and first-time usage
- Data Seeding Guide - Populating your database
- Performance Logic - IOOI framework and scoring
- Database Schema - Data models and relationships
- API Reference - Complete API documentation
- Development Guide - Local development workflows
- Docker Guide - Containerization options
- Production Deployment - Production setup
- π― 5-band performance evaluation with color-coded levels
- π Role-specific performance targets and expectations
- π§ Enhanced Smart Insights with expectation coverage analysis
- π·οΈ Comprehensive category templates for all role/level combinations
- π Improved dashboard with performance band visualization
- π― Configurable time periods (1-52 weeks)
- π Dynamic dashboard adjustments
- π Clear period indicators
- π Hybrid database architecture
- π³ Complete Docker support
- β‘ Performance optimizations
- IOOI Framework Blog Post - Methodology deep dive
- Engineering Manager Performance - Manager-specific guidance
- GitHub Repository - Source code and issues
Contributions welcome! See our Contributing Guide for development setup, coding standards, and pull request process.
MIT License - see LICENSE for details.
Built with β€οΈ for engineering teams who believe in data-driven performance tracking.
PerfMirror v3.0 introduces intelligent role-level performance insights that help users understand how their work aligns with expectations and identify growth opportunities.
The Enhanced Smart Insights system analyzes your performance data across multiple dimensions:
- Data Source: Matches your logged work activities against role-level expectations defined in the system
- Analysis Period: Last 4 weeks of activity data
- Matching Logic:
- Extracts keywords from expectation text (removes common words like "should", "must", "the")
- Matches expectations to work categories using category names and descriptions
- Supports partial matching and semantic similarity
Your current level expectations are classified as:
- π Consistently Evidenced: Activity logged in 3+ recent weeks
- β Evidenced: Some activity logged in matching categories
β οΈ Not Yet Evidenced: No related activity found
- Forward-Looking Analysis: Examines expectations for your next career level
- Gap Identification: Compares current activity patterns against next-level requirements
- Status Classification:
- π Emerging Strength: Already showing some activity in next-level areas
β οΈ Growth Area: No current evidence of next-level capabilities
The system generates contextual suggestions based on:
- Role-Specific Guidance: Tailored advice for IC, Manager, Senior Manager, Director roles
- Category-Based Actions: Specific work types to focus on (mentoring, architecture, strategy)
- Dimension Alignment: Recommendations aligned with IOOI framework (Input, Output, Outcome, Impact)
π§ Expectation Coverage (IC L4):
β’ β
Participates in architecture reviews β Active in 1 week recently
β’ π Completes features independently β Active in 4 weeks recently
β’ β οΈ Leads design discussions β Try logging work in: Technical Leadership, Design Reviews
π Growth Suggestions (Next Level: IC L5):
β’ π Mentoring junior developers β Great start! Keep building on your mentoring work.
β’ β οΈ Technical strategy contribution β Engage in strategic planning sessions or contribute to technical roadmap discussions
β’ β οΈ Cross-team coordination β Take on cross-team projects or coordinate with other engineering teams
- No AI/NLP Dependency: Uses deterministic keyword matching and category alignment
- Transparent Logic: Clear, explainable matching rules
- Real-Time Feedback: Updates automatically as you log work
- Career Guidance: Provides specific, actionable advice for career progression
- Role Awareness: Understands different expectations across roles and levels
Smart Insights requires:
- User Profile: Active role and level configuration
- Level Expectations: Defined expectations for current and next levels
- Category Templates: Work categories mapped to role levels and IOOI dimensions
- Activity Data: Recent work logs to analyze against expectations
The system gracefully handles missing data and provides helpful fallback suggestions when specific matching rules don't apply.