- More details: https://devpost.com/software/pricevalve
Real-time Steam game analysis with revenue optimization-driven pricing recommendations
PriceValve is an intelligent pricing platform that analyzes Steam games in real-time and provides Revenue Optimizing pricing recommendations. The system combines data from Steam APIs, sentiment analysis, and demand estimation models to help developers optimize their game pricing strategy.
- ๐ Real-time Steam Data Analysis: Fetch and analyze game data from Steam Web API, SteamSpy API and ITAD (IsThereAnyDeal) API,
- ๐ Price Analysis: Comprehensive pricing analysis with competitor comparison
- ๐ Price Recommendations: Model-generated pricing suggestions with confidence scores
- ๐ฑ Modern Web Interface: Beautiful React/Next.js frontend with real-time updates
- ๐ Competitor Comparison: Comprehensive analysis of similar games and market positioning
- ๐ฎ Game Discovery: PriceValveScript.js-inspired game search and selection functionality
PriceValve/
โโโ ๐ backend/ # Node.js/Express Backend
โ โโโ src/
โ โ โโโ ๐ controllers/ # API controllers
โ โ โโโ ๐ services/ # Business logic services
โ โ โโโ ๐ routes/ # API route definitions
โ โ โโโ ๐ types/ # TypeScript type definitions
โ โ โโโ server.ts # Express server setup
โ โโโ package.json
โ โโโ tsconfig.json
โ โโโ .gitignore
โโโ ๐ frontend/ # Next.js 15 Frontend
โ โโโ src/
โ โ โโโ ๐ app/ # Next.js App Router
โ โ โ โโโ ๐ analyze/ # Game analysis pages
โ โ โโโ ๐ components/ # React components (shadcn/ui)
โ โ โ โโโ ๐ analysis/ # Analysis result components
โ โ โ โโโ ๐ ui/ # UI components
โ โ โ โโโ GameSelector.tsx # Game discovery component
โ โ โ โโโ Navbar.tsx # Navigation component
โ โ โ โโโ SteamGameCard.tsx # Game card component
โ โ โโโ ๐ lib/ # Utility functions
โ โ โโโ ๐ utils/ # API client & utilities
โ โโโ package.json
โ โโโ next.config.js
โ โโโ tailwind.config.js
โ โโโ .gitignore
โโโ ๐ node_modules/ # Dependencies
โโโ package.json # Root package.json
โโโ package-lock.json # Lock file
โโโ tsconfig.json # TypeScript config
โโโ eslint.config.js # ESLint config
โโโ .gitignore # Git ignore rules
โโโ README.md
- Node.js 18+
- Steam Web API Key (optional, for enhanced features)
-
Clone the repository
git clone <repository-url> cd PriceWave
-
Install dependencies
# Install root dependencies npm install # Install backend dependencies cd backend && npm install # Install frontend dependencies cd ../frontend && npm install
-
Set up environment variables
Backend (.env):
PORT=5001
Frontend (.env.local):
NEXT_PUBLIC_API_URL=http://localhost:5001
-
Start development servers
# From root directory npm run devThis starts:
- Frontend: http://localhost:3000
- Backend: http://localhost:5001
The frontend provides comprehensive game analysis with a modern, intuitive interface:
- Steam URL Input: Paste any Steam game URL for instant analysis
- Real-time Analysis: Get comprehensive pricing insights in seconds
- Interactive Charts: Visual competitor and trend analysis
- Actionable Recommendations: Specific steps to optimize pricing
- Executive Summary: High-level analysis overview
- GameHeader: Game information display with optimization score
- PricingAnalysisResults: Detailed pricing recommendations
- RecommendedActions: Actionable insights and next steps
- AnalysisCharts: Interactive charts for competitor and trend analysis
- ExecutiveSummary: High-level analysis summary
- PriceOptimizationCard: Price optimization recommendations
- TimingOptimizationCard: Launch timing recommendations
interface Game {
appId: number; // Steam App ID
name: string; // Game name
developer: string; // Developer name
publisher: string; // Publisher name
// Steam API Data
steamData: SteamGameData;
// SteamSpy Data
steamSpyData: SteamSpyData;
// Analysis Results
priceAnalysis: PriceAnalysis;
playerAnalysis: PlayerAnalysis;
marketAnalysis: MarketAnalysis;
reviewAnalysis: ReviewAnalysis;
// Revenue Optimization Predictions
revenuePredictions: RevenuePredictions;
// PriceValveScript.js Properties
cluster?: string; // Cluster group for similar games
// Metadata
tags: GameTag[];
genres: string[];
lastUpdated: Date;
}interface RevenuePredictions {
priceForecast: {
nextWeek: number;
nextMonth: number;
confidence: number;
};
sentimentTrend: {
current: number;
predicted: number;
direction: 'up' | 'down' | 'stable';
};
optimalPrice: {
suggested: number;
confidence: number;
reasoning: string[];
};
marketPosition: {
category: string;
score: number;
competitors: string[];
};
priceElasticity: {
value: number;
interpretation: string;
similarGames: number;
};
}POST /api/analyze- Analyze a single gamePOST /api/analyze/batch- Analyze multiple gamesGET /api/search- Search gamesGET /api/featured- Get featured gamesGET /api/top-games- Get top gamesGET /api/genres- Get all genresGET /api/genres/:genre- Get games by genre
GET /api/steam/:appId- Steam game dataGET /api/steamspy/:appId- SteamSpy data
GET /api/health- API health status
Built with shadcn/ui and Tailwind CSS:
Navbar- Navigation componentSteamGameCard- Game information card
GameHeader- Game information displayPricingAnalysisResults- Pricing recommendationsRecommendedActions- Actionable insightsAnalysisCharts- Interactive chartsExecutiveSummary- Analysis summaryPriceOptimizationCard- Price optimizationTimingOptimizationCard- Timing recommendations
Button- Styled button componentSearchBar- Game search functionality
- Game metadata
- Pricing information
- Review data
- Player statistics
- Ownership data
- Player engagement
- Market positioning
- Genre analysis
cd backend
npm run dev # Start development server
npm run test # Run tests
npm run build # Build for productioncd frontend
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run lintercd backend
npm run build
npm startcd frontend
npm run build
npm start- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
Built with โค๏ธ for SpurHacks 2025 and the Steam gaming community