<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: tecomoavocados</title>
    <description>The latest articles on DEV Community by tecomoavocados (@tecomoavocados__).</description>
    <link>https://dev.to/tecomoavocados__</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3456559%2F7c1c8061-dca4-4991-b4a3-e74ab4d893fe.jpeg</url>
      <title>DEV Community: tecomoavocados</title>
      <link>https://dev.to/tecomoavocados__</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tecomoavocados__"/>
    <language>en</language>
    <item>
      <title>🚀 Avocado Game Launcher – From Idea to Release 1.0.1</title>
      <dc:creator>tecomoavocados</dc:creator>
      <pubDate>Wed, 27 Aug 2025 16:52:25 +0000</pubDate>
      <link>https://dev.to/tecomoavocados__/avocado-game-launcher-from-idea-to-release-101-6nf</link>
      <guid>https://dev.to/tecomoavocados__/avocado-game-launcher-from-idea-to-release-101-6nf</guid>
      <description>&lt;p&gt;Game launchers are everywhere: Steam, Epic, GOG, Ubisoft… but most of them feel heavy, fragmented, and locked to a specific ecosystem. As a developer, I wanted to challenge myself: &lt;strong&gt;can I build a lightweight, open, and extensible game launcher that gives me control over my own library?&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;That’s how &lt;strong&gt;Avocado Game Launcher&lt;/strong&gt; started.  &lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Motivation
&lt;/h2&gt;

&lt;p&gt;The main drivers behind the project:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Learning opportunity&lt;/strong&gt; – I wanted to put into practice packaging desktop apps with PyQt6 + PyInstaller.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Control over my library&lt;/strong&gt; – I have games spread across different stores; I wanted one simple interface.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Experimentation&lt;/strong&gt; – how far can I push Python in the desktop space?
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The name? I like avocados 🥑, and it stuck.  &lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ Technical Overview
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python + PyQt6&lt;/strong&gt; – Modern cross-platform GUI, fast prototyping.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PyInstaller&lt;/strong&gt; – Bundling into a standalone &lt;code&gt;.exe&lt;/code&gt; without external dependencies.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;dotenv&lt;/strong&gt; – Managing API keys and configuration safely.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RAWG API&lt;/strong&gt; – Fetching metadata (covers, info) to enrich the library.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSON storage&lt;/strong&gt; – Simplicity over complexity; no need for a DB (yet).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom i18n module&lt;/strong&gt; – Allowing easy translations of UI elements.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔑 Current Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Import &lt;strong&gt;local executables&lt;/strong&gt; into the launcher.
&lt;/li&gt;
&lt;li&gt;Automatically &lt;strong&gt;fetch covers and info&lt;/strong&gt; from the RAWG API.
&lt;/li&gt;
&lt;li&gt;Support for &lt;strong&gt;importing Steam installed games&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;Persistent &lt;strong&gt;user settings&lt;/strong&gt; and library via JSON.
&lt;/li&gt;
&lt;li&gt;Clean &lt;strong&gt;multi-language support&lt;/strong&gt;.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Version 1.0.1 – What’s New
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Improved UI and icons for a cleaner look.
&lt;/li&gt;
&lt;li&gt;Added &lt;strong&gt;Steam integration&lt;/strong&gt; to detect installed games.
&lt;/li&gt;
&lt;li&gt;Displaying more &lt;strong&gt;game metadata&lt;/strong&gt; inside the launcher.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📚 Lessons Learned
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Packaging is tricky&lt;/strong&gt; – Handling relative paths with PyInstaller required a proper &lt;code&gt;resource_path()&lt;/code&gt; utility.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Circular imports are real&lt;/strong&gt; – Splitting responsibilities across &lt;code&gt;core/&lt;/code&gt; modules helped me untangle dependencies.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;APIs enrich UX&lt;/strong&gt; – Just showing an &lt;code&gt;.exe&lt;/code&gt; name isn’t enough; fetching metadata makes the library feel alive.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep it simple&lt;/strong&gt; – JSON storage is more than enough at this stage; no need for databases.
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🛣️ What’s Next?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Support for &lt;strong&gt;other platforms&lt;/strong&gt; (Steam, local, etc.)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customization&lt;/strong&gt; (themes, layouts, user settings)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud sync&lt;/strong&gt; to keep libraries portable
&lt;/li&gt;
&lt;li&gt;Packaging for &lt;strong&gt;Linux/macOS&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Building &lt;strong&gt;Avocado Game Launcher&lt;/strong&gt; has been both fun and frustrating — PyInstaller path issues, environment variables not loading, and chasing circular imports. But every challenge taught me something about &lt;strong&gt;desktop development in Python&lt;/strong&gt;, and it’s rewarding to see it work as a real application.  &lt;/p&gt;

&lt;p&gt;The project is open-source, and I’d love feedback from fellow developers:&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://github.com/tecomoavocados-dev/avocado-game-launcher/releases/tag/1.0.1" rel="noopener noreferrer"&gt;GitHub – Avocado Game Launcher&lt;/a&gt;&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://tecomoavocados-dev.itch.io/avocado-game-launcher" rel="noopener noreferrer"&gt;Itch.io Release Page&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;Thanks for reading, and if you’ve ever wanted to roll your own launcher, maybe this inspires you to start. 🥑  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>🥑 Avocado Game Launcher: Organize All Your Games in One Place</title>
      <dc:creator>tecomoavocados</dc:creator>
      <pubDate>Sun, 24 Aug 2025 20:34:14 +0000</pubDate>
      <link>https://dev.to/tecomoavocados__/avocado-game-launcher-organize-all-your-games-in-one-place-4i97</link>
      <guid>https://dev.to/tecomoavocados__/avocado-game-launcher-organize-all-your-games-in-one-place-4i97</guid>
      <description>&lt;p&gt;I’ve been working on &lt;strong&gt;Avocado Game Launcher&lt;/strong&gt;, a cross-platform desktop application that lets you &lt;strong&gt;organize and launch all your games from one place&lt;/strong&gt;. It supports &lt;strong&gt;Steam, Epic Games, and local games&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;This post explains what it does, how it works, and why I built it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Download
&lt;/h2&gt;

&lt;p&gt;Get the latest version here: &lt;a href="https://github.com/tecomoavocados-dev/avocado_game_launcher/releases/latest" rel="noopener noreferrer"&gt;Avocado Game Launcher Latest Release&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Load your &lt;strong&gt;Steam&lt;/strong&gt; and &lt;strong&gt;Epic Games&lt;/strong&gt; libraries automatically.
&lt;/li&gt;
&lt;li&gt;Add &lt;strong&gt;local games manually&lt;/strong&gt; by selecting executables.
&lt;/li&gt;
&lt;li&gt;Fetch cover art from the &lt;strong&gt;RAWG API&lt;/strong&gt; automatically.
&lt;/li&gt;
&lt;li&gt;Launch games directly from the app.
&lt;/li&gt;
&lt;li&gt;Remove games from your library with a click.
&lt;/li&gt;
&lt;li&gt;Persistent library storage in &lt;strong&gt;JSON&lt;/strong&gt;, avoiding duplicates.
&lt;/li&gt;
&lt;li&gt;Cross-platform: works on &lt;strong&gt;Windows, Linux, and Mac&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;Translations supported: &lt;strong&gt;English and Spanish&lt;/strong&gt;.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💻 How It Works
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Built in &lt;strong&gt;Python 3&lt;/strong&gt; using &lt;strong&gt;PyQt6&lt;/strong&gt; for the GUI.
&lt;/li&gt;
&lt;li&gt;Libraries used: &lt;code&gt;requests&lt;/code&gt; for API calls, &lt;code&gt;json&lt;/code&gt; for storage, and &lt;code&gt;os&lt;/code&gt;/&lt;code&gt;sys&lt;/code&gt; for file and path management.
&lt;/li&gt;
&lt;li&gt;RAWG API is used to fetch &lt;strong&gt;game cover images&lt;/strong&gt; by name.
&lt;/li&gt;
&lt;li&gt;Each game in the list shows:

&lt;ul&gt;
&lt;li&gt;Cover image&lt;/li&gt;
&lt;li&gt;Game name&lt;/li&gt;
&lt;li&gt;Launch button&lt;/li&gt;
&lt;li&gt;Delete button
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  📦 Installation
&lt;/h2&gt;

&lt;p&gt;Clone the repository:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/tecomoavocados-dev/avocado_game_launcher.git
cd avocado_game_launcher
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install dependencies:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install -r requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run the launcher:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python main.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🚀 Current Status
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Main window with menu bar (Import / Help / Settings).&lt;/li&gt;
&lt;li&gt;Import → Local Game adds executables and fetches cover images automatically.&lt;/li&gt;
&lt;li&gt;Persistent library storage in JSON.&lt;/li&gt;
&lt;li&gt;Each game can be launched or deleted from the app.&lt;/li&gt;
&lt;li&gt;About dialog with app info and language support.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔗 Repository
&lt;/h2&gt;

&lt;p&gt;Check it out on GitHub: &lt;a href="https://github.com/tecomoavocados-dev/avocado_game_launcher" rel="noopener noreferrer"&gt;Avocado Game Launcher&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>tooling</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
