Inspiration

Developers are essentially cyber-athletes, yet our "dashboard" is often boring and utilitarian. We track server health metrics meticulously, but we often ignore our own burnout and workflow efficiency.

We looked at our Logitech MX Master 4 and MX Mechanical and thought: "These aren't just input devices; they are extensions of our body. What if we turned the daily grind of coding into an RPG battle?"

We wanted to build a system where your IDE, your physical peripherals, and your AI assistant work together to keep you in the "Flow State" - gamifying every line of code you write and every bug you squash.

What it does

LogiQuest is a Kotlin Multiplatform (KMP) application that turns your desktop workflow into a retro-style RPG battle scene.

  • The Enemy (Context Awareness): The application monitors your active window. If you are in Chrome, you fight a "Chrome Monster." If you switch to IntelliJ, a new "IDE Monster" appears. These monsters are procedurally generated based on the app's identity.
  • The Hero (You): An animated character represents the developer.
    • Defense Mode: When you type on your keyboard, the hero raises a shield, symbolizing you "locking in" and doing work.
    • Attack Mode: When you trigger specific smart gestures, which are one of the coolest productivity-boosting features of Logitech technologies, the hero strikes, representing executing a task or fixing a bug.
  • AI Integration: We use Google Gemini to analyze your workflow context and generate "Spell Cards" (Smart Macros) on the fly based on natural language voice commands, so that you can boost your coding productivity drastically, flexibly and with ease.

How we built it

We used a modern, cross-ecosystem stack to bridge hardware, AI, and UI:

  1. Kotlin Multiplatform (KMP): The core logic and UI are built using Kotlins' performant multiplatform solution. This allows for beautiful, GPU-accelerated animations and a unified codebase that scales to Android and IOS for people who want their efficiency booster UI in a separate mobile screen, while they work.
  2. Logitech Options+ SDK: We wrote a custom C# .NET Plugin to interface with the official Logitech Options+ Agent. This plugin intercepts hardware events (smart actions) from the MX Master 4 and MX Mechanical and forwards them to our Kotlin app via a local HTTP bridge.
  3. We connected sophisticated but flexible LLM- and ML-based infrastructure to implement the posture-check by camera, speech-to-text fast gestures generations and LLM-generated actions for these gestures.

Challenges we ran into

  • The "Bridge" Nightmare: Logitech's SDK is primarily .NET/C#, while our app is Kotlin. Getting them to talk required building a local server architecture and debugging the Logitech plugin manifest registration, which is very sensitive to folder structures and permissions.
  • Kotlin-ML-sufferring: It was challenging to integrate many of ML features in our app with Kotlin-Multiplatform, since many of modern ML frameworks and libraries are absent there, so we had to implement some of our own native workarounds for them.

Accomplishments that we're proud of

  • True Hardware Integration: It’s not just a keyboard/mouse listener; we successfully registered a custom plugin inside Logi Options+, allowing users to map gemified actions to any button on all their Logitech devices using the official UI.
  • Beautiful ML features: We designed an intricate ML-based infrastructure that auto-writes itself in a safe and flexible way.

What we learned

  • Hardware is hard: Interfacing with driver-level software requires patience and a lot of "try-catch" blocks.
  • Compose is versatile: Using Compose for Desktop not just for UI controls, but for game-like frame-by-frame animation, proved that Kotlin is ready for rich interactive experiences.
  • Context is King: The most useful AI isn't a chatbot; it's an invisible layer that knows what app you are using and adapts your physical tools and your concentration to match it.

What's next for LogiQuest

  • Vision Health: Integrating the webcam with Google Gemini Vision to analyze user posture and subtract "HP" if the developer is slouching.
  • Mobile Companion: Extending the KMP codebase to make UI and ML integrations better, turning the phone into a properly interactible and helpful "Secondary Inventory" screen where users can manage their AI-generated macros.
  • Boss Battles: Integrating with Jira or GitHub APIs - closing a ticket triggers a massive "Boss Defeated" animation on screen.

Built With

Share this project:

Updates