LaxCheck is a comprehensive, open-source lacrosse head identification and valuation platform that combines machine learning with AI-powered market analysis to help collectors identify equipment and find the highest market prices for their lacrosse heads.
- Advanced ML Pipeline: Custom TensorFlow.js model with 14+ lacrosse head classes
- OpenCV Preprocessing: Image enhancement, background removal, and edge detection
- AI-Powered Analysis: OpenAI GPT-4 Vision integration for comprehensive equipment analysis
- PDF Report Generation: Detailed analysis reports with technical specifications and market data
- Real-time Valuation: Live market pricing from multiple platforms
- Highest Price Finder: Identifies best selling platforms and optimal pricing
- Market Trends: Real-time pricing data and market movement tracking
- Demand Analysis: Platform-specific demand and pricing optimization
- Drag & Drop Upload: Support for up to 3 photos per analysis
- Mobile Optimized: Responsive design for desktop and mobile use
- Real-time Processing: Live progress tracking during analysis
- Performance Dashboard: System analytics and identification metrics
- React 18 with TypeScript
- Vite for development and building
- Tailwind CSS for styling
- Radix UI for accessible components
- TanStack Query for state management
- Wouter for routing
- Node.js with Express
- TypeScript for type safety
- PostgreSQL with Drizzle ORM
- TensorFlow.js Node for ML inference
- OpenAI SDK for AI analysis
- Sharp for image processing
- Custom TensorFlow Model: Trained on 1000+ lacrosse head images
- Google Teachable Machine: Training pipeline for model updates
- Image Preprocessing: Advanced OpenCV-style processing pipeline
- Confidence Thresholding: Smart fallback to AI analysis
laxcheck/
βββ client/ # React frontend
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Route components
β β βββ lib/ # Utilities and configuration
β β βββ hooks/ # Custom React hooks
βββ server/ # Node.js backend
β βββ routes.ts # API endpoints
β βββ enhanced_ml_identifier.ts # ML processing pipeline
β βββ openai.ts # AI analysis service
β βββ storage.ts # Database operations
β βββ db.ts # Database connection
βββ shared/ # Shared TypeScript types
β βββ schema.ts # Database schema and types
βββ model/ # ML model files
β βββ model.json # TensorFlow.js model
β βββ weights.bin # Model weights
β βββ metadata.json # Class labels and metadata
βββ electron/ # Desktop app wrapper
βββ uploads/ # Image upload storage
- Node.js 20+
- PostgreSQL database
- OpenAI API key (optional, for enhanced analysis)
- Clone the repository
git clone https://github.com/yourusername/laxcheck.git
cd laxcheck- Install dependencies
npm install- Set up environment variables
cp .env.example .env
# Edit .env with your database URL and API keys- Initialize database
npm run db:push- Start development server
npm run devThe application will be available at http://localhost:5000
Build and run the desktop version:
# Development
npm run electron:dev
# Build for production
npm run electron:build# Database
DATABASE_URL=postgresql://user:password@host:port/database
# AI Services (Optional)
OPENAI_API_KEY=your_openai_api_key
# Development
NODE_ENV=development
SESSION_SECRET=your_session_secretThe system includes a pre-trained model with these classes:
- Warrior Blade, Jett, Evolution series
- Brine Edge, Cyber, Vapor series
- STX Excalibur, SAM II
- Nike Blur, Reebok 6K
- Vintage and rare collector pieces
- Unknown (fallback class)
To train a custom model:
- Collect 15+ photos per lacrosse head model
- Use Google Teachable Machine
- Export as TensorFlow.js
- Replace files in
/model/directory
-
Deploy to Replit
- Import from GitHub repository
- Set environment variables in Secrets
- Deploy using Replit's deployment system
-
Custom Domain Setup
- Configure custom domain in Replit
- Update REPLIT_DOMAINS environment variable
# Build for all platforms
npm run electron:build
# Platform-specific builds
npm run electron:build:win
npm run electron:build:mac
npm run electron:build:linuxBuilds are output to /dist/ directory.
We welcome contributions from the lacrosse community! Here's how to help:
- ML Model Training: Add photos of rare/vintage heads
- Market Data: Contribute pricing information and sales data
- Feature Development: Enhance identification algorithms
- Documentation: Improve setup guides and tutorials
- Testing: Report bugs and edge cases
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests if applicable
- Commit your changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Use TypeScript for all new code
- Follow existing naming conventions
- Add JSDoc comments for new functions
- Ensure responsive design for UI changes
- Model Accuracy: 87-92% on validation set
- Processing Time: 2-8 seconds per analysis
- Supported Formats: JPEG, PNG, WebP
- Max File Size: 10MB per image
- Concurrent Users: Optimized for 100+ simultaneous analyses
- Data Privacy: Images are processed locally, not stored permanently
- No User Tracking: Anonymous usage for performance metrics only
- Secure API Keys: Environment-based configuration
- Open Source: Full transparency in processing methods
This project is licensed under the MIT License - see the LICENSE file for details.
LaxCheck was created as a community gift to help collectors maximize the value of their lacrosse equipment. By making this system open source, we enable:
- Maximum Value: Find the highest prices across all major marketplaces
- Market Intelligence: Real-time pricing data and platform optimization
- Educational Value: Learn about lacrosse equipment history and market trends
- Community Building: Collaborative improvement of pricing accuracy
- Google Teachable Machine for accessible ML training
- OpenAI for advanced image analysis capabilities
- The lacrosse collecting community for photos and market data
- Contributors who help improve the system
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Discord: Community Discord (coming soon)
Built with β€οΈ for the lacrosse community
LaxCheck is dedicated to preserving lacrosse equipment history and maximizing collector value through open-source market intelligence and community collaboration.