AI-powered radiology case review with adaptive learning
Master diagnostic radiology with real-time performance analytics and intelligent case recommendations.
Live Demo: pixel-to-practice.vercel.app
Medical students and residents lack objective, quantifiable feedback on diagnostic skill development. Traditional case review platforms are static librariesโyou review cases but never know if you're actually improving. Progress tracking is subjective, making skill development feel abstract rather than measurable.
Pixel to Practice transforms radiology learning with real-time performance analytics and an adaptive learning engine. Complete cases, get instant feedback, and watch your diagnostic accuracy improve with every reviewโquantified, visual, and visceral.
- Real-Time Analytics: Track accuracy, speed, and improvement trends automatically
- Adaptive Learning Engine: Smart case recommendations based on your performance
- Immediate Feedback: Clinical pearls, learning points, and differential diagnoses
- Progress Tracking: Longitudinal performance metrics that show measurable growth
Note: "Cognitive Mirror" is the underlying engine/system. "Pixel to Practice" is the product name.
- Diagnostic accuracy trends over time
- Pattern recognition speed improvement
- Skill level progression tracking
- Immediate feedback on annotations
- Canvas-based annotation system
- 5 curated tuberculosis screening cases
- Progressive difficulty levels
- Immediate right/wrong feedback with explanations
- Performance metrics calculation
- Improvement trend visualization
- Error pattern identification
- Competency assessment
git clone https://github.com/taiscoding/cognitive-mirror.git
cd cognitive-mirror
npm install
npm run devOpen http://localhost:3000 to start learning.
Click the "๐๏ธ Demo" button in the header to load sample performance data instantly. Perfect for demonstrating the adaptive learning engine without completing multiple cases.
- Node.js 18+
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Frontend: React + Next.js 14
- Styling: Tailwind CSS
- Analytics: Custom performance tracking
- Images: Montgomery County TB Dataset
- Storage: localStorage (client-side persistence)
/src
โโโ /app # Next.js app router
โโโ /components # React components
โ โโโ ProgressDashboard.jsx
โ โโโ CaseSelector.jsx
โ โโโ ImageViewer.jsx
โ โโโ FeedbackPanel.jsx
โโโ /data # Medical case definitions
โโโ /hooks # Performance tracking
โโโ /utils # Analytics algorithms
- 138 chest X-rays (80 normal, 58 tuberculosis cases)
- Source: NIH/NLM public medical imaging dataset
- Format: PNG, 4020ร4892 pixels
- Annotations: Pre-labeled with diagnostic findings
{
"id": "case_001",
"title": "Pulmonary Tuberculosis - Upper Lobe",
"diagnosis": "tuberculosis",
"difficulty": "moderate",
"annotations": [
{
"x": 245, "y": 180, "radius": 30,
"finding": "Upper lobe consolidation with cavitation"
}
],
"learningPoints": ["Upper lobe predilection is classic for TB"],
"clinicalPearls": "Always consider TB in upper lobe cavitary lesions"
}- Dashboard โ View performance metrics and improvement trends
- Case Selection โ Choose from categorized medical cases
- Image Analysis โ Click to annotate findings on chest X-rays
- Immediate Feedback โ Get instant results with educational content
- Progress Update โ Watch real-time metrics update
- Repeat โ Build pattern recognition through deliberate practice
- Diagnostic Accuracy: F1 score with spatial tolerance
- Recognition Speed: Time to identify key findings
- Improvement Rate: Trend analysis over sessions
- Confidence Calibration: Appropriate uncertainty levels
Visceral Improvement Feedback: Unlike traditional medical education platforms, users immediately see quantified improvement, making skill development feel tangible rather than abstract.
Primary Goal: After 5 cases, users think "I can see myself getting better at this" rather than "that was a neat quiz."
- Users complete 10+ cases in first session
- Demonstrable accuracy improvement over time
- Faster pattern recognition without accuracy loss
- High user engagement and return rates
# Download Montgomery County dataset
curl -L -o montgomery-dataset.zip "https://openi.nlm.nih.gov/imgs/collections/NLM-MontgomeryCXRSet.zip"
unzip montgomery-dataset.zip
cp -r */CXR_png/* public/images/
# Switch from placeholders to real images
node scripts/switch-images.js pngnpm run dev # Development server
npm run build # Production build
npm run start # Production server
npm run lint # Code linting- Clean, distraction-free interface
- Professional color palette (blues/teals)
- High contrast for medical image viewing
- Responsive design for all devices
- Immediate feedback loops
- Progress visualization
- Educational content integration
- Professional credibility
Version: v0.8 (Interview-Ready)
Status: โ
Functional MVP with polished UX
- โจ Compelling landing page with value proposition showcase
- ๐ Real-time performance dashboard with skill progression tracking
- ๐ผ๏ธ Interactive canvas annotation system for chest X-rays
- ๐ง Adaptive learning engine with smart case recommendations
- ๐ Performance analytics (accuracy, speed, improvement trends)
- โฑ๏ธ Live case timer and progress indicators
- ๐ฏ Immediate feedback with clinical pearls and learning points
- ๐ช Demo mode for presentations and interviews
- ๐ฑ Responsive design for all devices
- ๐พ Data persistence with localStorage
- 5 curated tuberculosis screening cases
- Difficulty levels: Easy, Moderate, Hard
- Montgomery County CXR dataset (NIH/NLM)
- Educational content with differentials
- Expanded Case Library: More pathologies and imaging modalities
- Spaced Repetition: Algorithm-driven review timing
- User Accounts: Multi-device sync and progress backup
- Comparative Analytics: Anonymized peer performance comparisons
- Mobile App: Native iOS/Android with offline support
- Visit the live demo
- Click "๐๏ธ Demo" to load sample performance data
- Navigate to Dashboard to see analytics
- Try a case to experience the feedback loop
See INTERVIEW_DEMO_GUIDE.md for a complete walkthrough script, talking points, and demo strategies for residency interviews.
Frontend:
- Next.js 14 (React 18) with App Router
- Tailwind CSS for styling
- Canvas API for image annotations
Analytics Engine:
- Custom performance tracking algorithms
- F1 score calculation with spatial tolerance
- Adaptive case recommendation system
- Real-time metrics computation
Data:
- Montgomery County TB Screening Dataset (NIH/NLM)
- localStorage for client-side persistence
- JSON-based case database
Deployment:
- Vercel (production)
- GitHub Actions (CI/CD)
- Automatic preview deployments
MIT License - See LICENSE for details.
Built by Theodore Addo, medical student and developer passionate about merging clinical medicine with technology to create practical tools that solve real educational challenges.
Other Projects: theoaddo.com
- GitHub Issues: For bugs and feature requests
- Discussions: For questions and ideas
- Email: Available on portfolio site
- Dataset: Montgomery County X-ray Set (NIH/NLM)
- Inspiration: The challenge of quantifying diagnostic skill improvement
- Built for: Medical students, residents, and radiologists committed to deliberate practice
Pixel to Practice ยท From pixels on a screen to excellence in clinical practice ยท
Making diagnostic skill improvement visceral, measurable, and continuous.