Skip to content

playlite-app/playlite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

488 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🇺🇸 English | 🇧🇷 Português

🎮 Game Manager

GitHub release (latest by date) License

Rust Tauri React TypeScript

A local-first desktop game library manager with an intelligent recommendation system based on classical Machine Learning.

Playlite Demo

💡 Motivation

I have a large game library and often struggle to decide what to play next. This project was born to solve that real problem, while also serving as a complete portfolio project to explore Rust, Tauri, React, and recommendation systems.

✨ Features

  • Full game library management (CRUD)
  • Local persistence with SQLite (offline-first)
  • Desktop UI inspired by the Microsoft Store
  • Favorites system, ratings, and playtime tracking
  • Foundation for an intelligent recommendation system
  • Data backup and restore (JSON)

🛠️ Stack

  • Desktop: Tauri v2 + Rust
  • Frontend: React + TypeScript + Vite
  • UI: Tailwind CSS v4 + Shadcn/UI
  • Database: SQLite (local)

🧱 Architecture (High-level)

  • Local-first desktop application
  • Business core in Rust
  • Decoupled UI in React
  • Communication via Tauri Commands
  • Embedded SQLite database

🤖 Use of Artificial Intelligence in Development

Playlite was developed with extensive support from Artificial Intelligence tools as part of an AI-assisted development process (also known as "vibe coding").

AI tools were primarily used for:

  • Initial code generation and prototyping
  • Architecture suggestions and refactoring
  • Documentation support and technical analysis

All final architecture decisions, system integration, testing, bug fixes, and code validation were performed manually. The use of AI in this project aimed to accelerate development, facilitate learning of Rust and React, and reduce effort on repetitive tasks, while maintaining full understanding and ownership of the final code.

📄 More in-depth details about AI usage are available in the project documentation.

🤖 Recommendation System

Playlite uses a hybrid recommendation system, combining:

  • Content-based filtering (user profile)
  • Offline collaborative filtering (global Steam patterns)

All processing happens locally, with no user data collection.

  • ⭐ Ratings and favorites influence recommendation weights
  • 👥 Patterns from other players are used without personal identification
  • 📦 Collaborative data is pre-processed and distributed with the app

🚀 Running Locally

Requirements

  • Node.js 18+
  • Rust (rustup)
  • npm or pnpm

Setup

# Clone the repository
git clone <repo-url>
cd playlite

# Install dependencies
npm install

Linux Desktop Integration (taskbar icon)

If you are running on Linux, execute the integration script to install the icon and .desktop file:

npm run install:linux

This installs the icon and .desktop file in the user directory (~/.local/share/), allowing Wayland/X11 to associate the app window with the correct taskbar icon.

Development

npm run tauri dev

Production Build

npm run tauri build

VSCode Extensions (Recommended)

If you are using Visual Studio Code, it is recommended to install the following extensions:

  • tauri-apps.tauri-vscode (Tauri)
  • rust-lang.rust-analyzer (Rust)

📚 Additional Documentation

🤝 Contributing

Suggestions and contributions are welcome! See the CONTRIBUTING.md file.

❤️ Support

Playlite is a free and open-source project maintained in my spare time. If you find it useful and would like to support its continued development, you can sponsor the project through GitHub Sponsors, make a one-time donation via Ko-fi, or visit the project website to explore other ways to contribute. Your support helps cover development and infrastructure costs, allowing Playlite to remain free and continuously improve.

Thank you for supporting Playlite!

📄 License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

Desktop game library manager with intelligent game recommendations and seamless platform integration.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Sponsor this project

Contributors

Languages