Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions game-buying-guide/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
MINO_API_KEY = YOUR_API_KEY
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Remove spaces around = to ensure dotenv parsing works.

Some dotenv parsers treat spaces as part of the key/value and won’t load the variable.

✅ Proposed fix
-MINO_API_KEY = YOUR_API_KEY
+MINO_API_KEY=YOUR_API_KEY
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
MINO_API_KEY = YOUR_API_KEY
MINO_API_KEY=YOUR_API_KEY
🧰 Tools
🪛 dotenv-linter (4.0.0)

[warning] 1-1: [SpaceCharacter] The line has spaces around equal sign

(SpaceCharacter)

🤖 Prompt for AI Agents
In `@game-buying-guide/.env.example` at line 1, The .env example contains spaces
around the assignment which can break dotenv parsing; update the MINO_API_KEY
entry (symbol: MINO_API_KEY) to remove spaces around the '=' so it reads as a
standard dotenv assignment (e.g., MINO_API_KEY=YOUR_API_KEY) in the .env.example
file; ensure there are no trailing spaces around the key or value.

27 changes: 27 additions & 0 deletions game-buying-guide/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules

# next.js
/.next/
/out/

# production
/build

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files
.env*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
172 changes: 172 additions & 0 deletions game-buying-guide/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
# GamePulse

**Live:** [https://v0-game-buying-guide.vercel.app/](https://v0-game-buying-guide.vercel.app/)

GamePulse helps users decide **whether to buy a video game now or wait for a better deal**.
It compares pricing, discounts, and store signals across **10 major gaming platforms in parallel** using **Mino autonomous browser agents**, then surfaces a clear recommendation for each store.

Instead of relying on price-tracking APIs or scraped datasets, GamePulse launches real browser agents that visit each store, observe the live page, and return structured pricing analysis in real time.

---

## Demo

https://github.com/user-attachments/assets/61c22b80-2cfc-40a6-bc3a-7d5917cf71a9
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Wrap bare URLs in angle brackets for proper markdown formatting.

Lines 14 and 126 contain bare URLs that should be wrapped in angle brackets (<URL>) for consistent markdown rendering.

📝 Proposed fixes

Line 14:

-https://github.com/user-attachments/assets/61c22b80-2cfc-40a6-bc3a-7d5917cf71a9
+<https://github.com/user-attachments/assets/61c22b80-2cfc-40a6-bc3a-7d5917cf71a9>

Line 126:

-Open http://localhost:3000
+Open <http://localhost:3000>

Also applies to: 126-126

🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

14-14: Bare URL used

(MD034, no-bare-urls)

🤖 Prompt for AI Agents
In `@game-buying-guide/README.md` at line 14, Wrap the bare URLs on the README.md
at the referenced occurrences in angle brackets so Markdown treats them as
links: replace the plain URL on the line around the image/asset reference (the
bare
"https://github.com/user-attachments/assets/61c22b80-2cfc-40a6-bc3a-7d5917cf71a9"
at line 14) and the other bare URL at line 126 with <https://...> respectively
to ensure consistent markdown rendering.


---

## Mino API Usage

GamePulse uses the **TinyFish SSE Browser Automation API** to analyze multiple game stores simultaneously.

For each platform (Steam, Epic, PlayStation Store, etc.), the app launches a Mino agent that:
- Navigates to the store search page
- Locates the requested game
- Extracts pricing, discounts, and sale signals
- Returns a structured JSON recommendation

### Example API Call

```ts
const response = await fetch("https://mino.ai/v1/automation/run-sse", {
method: "POST",
headers: {
"X-API-Key": process.env.MINO_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
url: platformSearchUrl,
goal: `
You are analyzing a game store page to help a user decide
whether to buy "${gameTitle}" now or wait.

Observe:
- Current price
- Sale or discount indicators
- User ratings and review signals

Return a JSON object with pricing and a recommendation.
`,
timeout: 300000,
}),
})
```

The response streams **Server-Sent Events (SSE)**, including:

- `STREAMING_URL` → live browser preview of the agent

- `STATUS` → navigation and extraction progress

- `COMPLETE` → final structured pricing analysis JSON

## How It Works

1. User enters a game title (e.g., Elden Ring)

2. Platform discovery generates search URLs from a curated list of 10 stores

3. Parallel Mino agents launch (one per platform)

4. Live browser previews stream into the UI

5. Results aggregate into a buy / wait / consider recommendation dashboard

## Supported Platforms

GamePulse checks the following platforms for every search:

- Steam

- Epic Games Store

- GOG

- PlayStation Store

- Xbox Store

- Nintendo eShop

- Humble Bundle

- Green Man Gaming

- Fanatical

- CDKeys

No external discovery APIs or LLMs are used — the platform list is curated and deterministic.


## How to Run
**Prerequisites**
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use proper heading syntax instead of emphasis.

Line 103 uses bold emphasis (**Prerequisites**) where a proper markdown heading would be more appropriate for document structure.

📝 Proposed fix
-**Prerequisites**
+### Prerequisites
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**Prerequisites**
### Prerequisites
🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

103-103: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🤖 Prompt for AI Agents
In `@game-buying-guide/README.md` at line 103, Replace the bolded text
"**Prerequisites**" with a proper Markdown heading (e.g., "## Prerequisites" or
the appropriate level for the document) to improve document structure; locate
the literal "**Prerequisites**" in README.md and change it to the chosen heading
syntax, ensuring surrounding spacing/newline conventions for Markdown headings
are preserved.

- Node.js 18+
- A Mino API key [get one here](https://mino.ai/api-keys)

## Setup

1. Install dependencies:
```bash
cd game-buying-guide
npm install
```


2. Create a .env.local file:
```bash
MINO_API_KEY=your_mino_api_key_here
```

3. Start the dev server:
```bash
npm run dev
```

Open http://localhost:3000

## Architecture Diagram
```bash
┌─────────────────────────────────────────────────────────┐
│ User (Browser) │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Next.js Frontend │ │
│ │ │ │
│ │ 1. Enter game title │ │
│ │ 2. View 10 live agent cards │ │
│ │ 3. See buy / wait recommendations │ │
│ └──────────────────┬──────────────────────────────┘ │
└─────────────────────┼───────────────────────────────────┘
│ POST /api/analyze-platform (x10, parallel)
┌─────────────────────────────────────────────────────────┐
│ Next.js API Routes │
│ │
│ - /api/discover-platforms │
│ - /api/analyze-platform → Mino SSE proxy │
└─────────────────────┬───────────────────────────────────┘
│ POST /v1/automation/run-sse
┌─────────────────────────────────────────────────────────┐
│ Mino API │
│ │
│ - Spins up autonomous browser agents │
│ - Streams live previews and status │
│ - Returns structured pricing JSON │
└──────────┬──────────┬──────────┬──────────┬────────────┘
▼ ▼ ▼ ▼
Steam Epic PlayStation Xbox ... (10 platforms)
```

## Environment Variables

MINO_API_KEY - API key for Mino browser automation
Comment on lines +161 to +163
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Improve environment variables formatting.

The environment variables section uses hard tabs and unclear formatting. Consider using a proper markdown table or list format for better clarity.

📝 Proposed fix (table format)
 ## Environment Variables
 
-MINO_API_KEY	- API key for Mino browser automation
+| Variable | Description |
+|----------|-------------|
+| `MINO_API_KEY` | API key for Mino browser automation |

Alternatively, as a list:

 ## Environment Variables
 
-MINO_API_KEY	- API key for Mino browser automation
+- `MINO_API_KEY` - API key for Mino browser automation
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Environment Variables
MINO_API_KEY - API key for Mino browser automation
## Environment Variables
| Variable | Description |
|----------|-------------|
| `MINO_API_KEY` | API key for Mino browser automation |
Suggested change
## Environment Variables
MINO_API_KEY - API key for Mino browser automation
## Environment Variables
- `MINO_API_KEY` - API key for Mino browser automation
🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

163-163: Hard tabs
Column: 13

(MD010, no-hard-tabs)

🤖 Prompt for AI Agents
In `@game-buying-guide/README.md` around lines 161 - 163, Replace the hard-tabbed
line under the "## Environment Variables" heading with clear markdown
formatting: either a two-column table with headers like "Variable" and
"Description" and a row for MINO_API_KEY ("MINO_API_KEY | API key for Mino
browser automation") or a bulleted list item ("MINO_API_KEY — API key for Mino
browser automation"); update the text around the "## Environment Variables"
heading and the MINO_API_KEY entry to use spaces and standard Markdown syntax
instead of tabs.



## Notes

- All platform analysis is performed via live browser automation

- No price databases, scraping services, or AI discovery APIs are used

- Results reflect real-time store state, not cached data
Loading