kbtale/findthagame
kbtale/findthagame has 27 GitHub stars and 1 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-14 10:33 UTC. Last push 2026-11-02.
What you can do
- 🔍 Hybrid Multi-Query Search - Combines strict phrase matching with broad keyword search
- ⭐ Smart Scoring Algorithm - Ranks results by relevance instead of just filtering
- 💾 Save Favorites - Bookmark games for quick access later
- 🔖 Recent Searches - Resume previous searches instantly
Measured star growth
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
A fuzzy game discovery engine built with React 19 and Vite. Uses a custom weighted scoring algorithm and the IGDB API to find games from partial memories.
Web & AppsREADME.md
OriginalFindThaGame
A game discovery tool that helps users find video games based on fuzzy memories and partial details.
Powered by the IGDB API and Groq AI.
https://github.com/user-attachments/assets/a6e10484-587e-466a-a8de-b02ac710de9a
Features
- 🔍 Hybrid Multi-Query Search - Combines strict phrase matching with broad keyword search
- ⭐ Smart Scoring Algorithm - Ranks results by relevance instead of just filtering
- 💾 Save Favorites - Bookmark games for quick access later
- 🔖 Recent Searches - Resume previous searches instantly
- 🎲 Random Search - Discover games with randomized filters
- 🌐 Multi-language - UI translations with Groq-powered game summaries
- 📱 Responsive Design - Works on desktop and mobile
How the Search Works
When you search, FindThaGame runs two parallel queries:
- Strict Query (limit 100): Searches for the full phrase in
nameandalternative_names. - Broad Query (limit 300): Searches individual keywords across
name,alternative_names,summary, andkeywords.
Results are merged, deduplicated, scored, and the top 200 are returned.
How the Scoring Works
The system calculates a Total Score for each game to determine its ranking. Instead of filtering games out, it adds or subtracts points based on how well they match the input.
The calculation happens in 4 steps:
1. Text Score ($S_{text}$)
Checks if the search query appears in the game's text fields.
$$S_{text} = \text{BaseMatch} + (\text{KeywordHits} \cdot 0.4)$$
| Match Type | Field | Points |
|---|---|---|
| Exact Match | Title == Query | +3.0 |
| Partial Match | Title contains Query | +1.5 |
| Keyword Field | Matched in keywords |
+0.8 |
| Alt Name | Matched in alternative_names |
+0.5 |
| Context | Matched in summary/storyline |
+0.3 |
Note: Determining the "BaseMatch" takes the highest scoring single match found.
2. Metadata Score ($S_{meta}$)
Adds points if the game matches the selected filters (Genre, Theme, Mode, Perspective).
$$S_{meta} = \sum \frac{\text{Matching IDs}}{\text{Requested IDs}}$$
Example: If 2 genres are selected and the game has both, it gets +1.0 point.
3. Multipliers ($K_{total}$)
Boosts or reduces the score based on critical constraints.
$$K_{total} = K_{plat} \cdot K_{cat} \cdot K_{status} \cdot K_{company}$$
| Filter | Logic | Multiplier | Result |
|---|---|---|---|
| Platform | Match | x1.0 | Score stays same |
| No Match | x0.3 | Score drops 70% | |
| Category | Main Game | x1.0 | Score stays same |
| DLC (Unwanted) | x0.5 | Score drops 50% | |
| Status | Cancelled | x1.5 | Boost (only if selected) |
| Company | Developer | x2.2 | Huge boost |
| Publisher | x1.8 | High boost | |
| Porting | x1.3 | Medium boost | |
| Supporting | x1.2 | Small boost |
4. Final Calculation
Combines the base score with multipliers and applies final bonuses/penalties.
$$FinalScore = ((S_{text} + S_{meta}) \cdot K_{total}) + A_{bonus}$$
Where $A_{bonus}$ contains:
- Date: $-0.1$ points for every year outside the range.
- Age Rating: $+0.2$ points if it matches.
Getting Started
Prerequisites
- Node.js 18+
- A Twitch Developer application (for IGDB API access)
Installation
Clone the repository
git clone https://github.com/kbtale/findthagame.git cd findthagameInstall dependencies
npm installConfigure Environment
Create a
.env.localfile with your Twitch credentials:TWITCH_CLIENT_ID=your_client_id TWITCH_CLIENT_SECRET=your_client_secret AI_API_KEY=your_ai_api_keyRun Development Server
npm run dev
Credits
- Game data provided by IGDB API
- Translations powered by Groq AI
- Created by Carlos Bolivar
Contributing
Contributions are always welcome! Please check out the Contributing Guide and Code of Conduct before submitting a Pull Request.
If you encounter any security issues, please refer to our Security Policy.
Support
If this tool helped you find a lost memory, consider buying me a coffee ☕
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Explore related projects
freeCodeCamp/freeCodeCamp
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.
459,117 starsdonnemartin/system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
377,840 starsreact/react
The library for web and native user interfaces.
252,596 starsvuejs/vue
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
212,524 stars