PRODUCT DESIGN + UI

Hydra Launcher

Hydra Launcher is an open-source game launcher that brings together libraries from multiple storefronts into a single, clean interface. The goal was to design an experience that felt native and polished, something the open-source gaming community could rally behind. I focused on building a design system that balanced information density with visual clarity, making it easy to browse, organize, and launch games without the clutter that plagues most alternatives.

The process started with an audit of existing launchers, what worked, what felt bloated, and where users were dropping off. From there I mapped out the core flows: library browsing, game detail views, and download management. I prototyped multiple layout directions before landing on a card-based grid with contextual sidebars that surface relevant info without pulling you away from the main view. Every interaction was tested against the question: does this feel faster than what already exists?

Working with an open-source project means the timeline is shaped by community momentum. I synced design deliverables with the development sprint cycles, ensuring assets and specs were ready before each release milestone. The key constraint was making sure the UI could be implemented incrementally, each update had to ship as a self-contained improvement rather than a sweeping redesign.

The biggest challenge was handling data from multiple game storefronts, each with different metadata structures, image aspect ratios, and information hierarchies. Designing flexible components that could gracefully accommodate inconsistent data without looking broken required careful thought around fallback states, placeholder logic, and responsive image handling.

This project reinforced that designing in the open means your decisions get scrutinized, and that's a good thing. Community feedback shaped key navigation patterns I wouldn't have arrived at alone. I also learned the value of designing resilient components that handle edge cases gracefully, since you can't control the data flowing through an open platform the way you can with a closed product.