Bounteer has evolved from a basic CV-to-JD matching tool into a comprehensive AI-powered recruitment intelligence platform with real-time enrichment capabilities, WebSocket integrations, and sophisticated orbit call management.
Major Milestones:
- v0.8.0 - Schema optimization and migration to integer-based source IDs
- v0.7.0 - Real-time candidate profile enrichment with WebSocket subscriptions
- v0.6.0 - Previous call history and WebSocket heartbeat for stable connections
- v0.4.0-v0.4.2 - Role Fit Index (RFI) flow with LinkedIn URL support
- v0.3.0 - Introduction of Role Fit Studio
- v0.2.0-v0.2.1 - AI-powered cover letter generation and editable outputs
- v0.1.x - Foundation: Reports, talent pools, authentication, and core matching
- Updated candidate profile schema: migrated from
client_id(string) tosource_item_id(integer) - Optimized schema loading script to extract only schemas instead of full OpenAPI specification
- Reduced schema.json file size by excluding paths, parameters, and other OpenAPI components
- Modified
scripts/load_schema.pyto filter components.schemas only - Updated documentation in comment.md to reflect new field structure
- Schema file now focused purely on data models for better context search
- WebSocket subscription for candidate profile AI enrichment (real-time field auto-filling)
- Back navigation button on both Job Description and Candidate Profile Enrichment cards
- Candidate profile enrichment session polling for AI integration setup
- Smart state reset functionality when returning to setup (preserves call URL)
- Orbit call dashboard now supports candidate profile enrichment session management
- Improved state management with proper cleanup when navigating back to setup
- Enhanced candidate call flow with WebSocket real-time updates matching job description pattern
- Added proper session polling for candidate profile enrichment (similar to job description)
- Implemented custom stage change handlers for proper state reset
- Enhanced OrbitCallDashboard with separate polling logic for company vs candidate calls
- Improved error handling and connection management for candidate profile WebSocket subscriptions
- Previous Orbit Call history list on dashboard when not-linked
- Company call selection and loading functionality to manual enrichment mode
- WebSocket heartbeat implementation (30-second intervals) to prevent disconnections
- Debug information section showing request ID and status in Potential Candidates card
- Enhanced candidate search polling with proper state management
- Fixed AI enrichment toggle state synchronization when loading previous calls
- Improved candidate list layout to maintain left/right structure even with no candidates
- Fixed search candidate request state reset for multiple searches
- Enhanced candidate search result fetching with better error handling
- Updated color scheme from blue to primary coral colors throughout components
- Removed debug button in favor of integrated debug section
- Simplified PreviousOrbitCalls display (removed updated timestamp)
- WebSocket heartbeat preventing periodic disconnections in JobDescriptionEnrichment and CandidateProfileEnrichment
- GlowCard JSX attribute error (removed invalid jsx attribute)
- Polling interval interruption during candidate search status checks
- AI enrichment toggle not reflecting correct state when loading previous sessions
- Multiple search requests causing stuck "Searching..." state
- chnaged rfi flow so that it catches all the websocket messages
- more dynamic rainbow effect
- RFI accept linkedin URL
- Rainbow Effect
- Role Fit Studio
- changed the flow of role fit index to upload job description before new submission
- select last CV
- use of OSS 20B
- editable cover letter
- landing page fix
- cover letter generation
- expression card
- talent pool options
- printable report
- shield to prevent others looking at your report
- legal
- no more ismail image
- fix report table UI
- report link to CV nad JD
- JD page
- marketplace coming soon page
- career page
- sidebar nested design
- changelog, unit test
- fixed the subscription auth