Inspiration
My journey as an optimizer started back in 2001 with Diablo II. Then came Ultima Online and other MMOs, each teaching me something new about game mechanics and efficiency. But it was World of Warcraft that truly captured my heart—not just the game, but its incredible community and ecosystem of tools. I spent years building UIs, optimizing characters, and helping entire guilds prepare for hardcore content.
When Diablo Immortal launched 3.5 years ago, I found a game I enjoyed with a small but dedicated community. But unlike WoW with its AddOns, Raidbots, and Ask Mr. Robot—or EVE Online where "spreadsheet game" became a meme—Diablo Immortal had no dedicated optimization tools. Our community built countless spreadsheets to help players, but helping people optimize their gear and resource strategy manually was tedious and time-consuming.
I'm not a developer—basic programming knowledge doesn't make you one. I couldn't convince any developer I know to help build this tool. With AI assistance from Kilo Code, I was able to create an MVP without a traditional development team. This project started February 14th, 2025, but it's been in my mind since the game launched.
What it does
DI-Lab is a web application that helps Diablo Immortal players optimize their legendary gem builds. Users can:
- Select their gems from a database, specifying quality (1-5★) and rank (1-10)
- Input available resources like platinum and Telluric Pearls
- Get recommendations for which upgrades give the most power gain per resource cost
- Save and manage builds for different scenarios (PVP/PVE modes)
- Access tooltips explaining upgrade costs, resonance breakpoints, and gem synergies
The app handles game mechanics like wing slots (unlocked at resonance thresholds), awakened slots with bonus calculations, and 5-star gem infusion paths.
How we built it
Since I'm not a professional developer, this project was built through AI-assisted development using Kilo Code. The technical stack includes:
- Next.js 16 with App Router for server-side rendering and API routes
- React 19 with Client Components for interactive UI
- TypeScript 5.9 for type safety
- Tailwind CSS 4 for styling
- Drizzle ORM + SQLite for data persistence
- Zod for runtime validation
The optimization engine uses a weighted greedy algorithm that factors in resonance gains, resource costs, and user constraints. We implemented optimistic UI updates, multi-tab synchronization, and accessibility support.
Challenges we ran into
Not Being a Developer: The biggest challenge was building a complex application without traditional development experience. AI tools helped bridge this gap, but translating my game knowledge into technical requirements took time and iteration.
Game Mechanics Complexity: Diablo Immortal has intricate systems—wing slots unlock at specific resonance thresholds, awakened slots provide bonuses, and 5-star gems have unique infusion mechanics. Modeling these accurately was necessary for useful recommendations.
Accessibility: Making a data-heavy application accessible required effort. We implemented screen reader support, proper touch targets for mobile, and WCAG AA color contrast compliance.
Security: During development, we found and fixed an XSS vulnerability—a reminder that security matters from the start.
Accomplishments that we're proud of
- Built Without a Dev Team: Showed that AI-assisted development can help domain experts build real solutions
- Core Features Working: Primary user stories implemented—gem selection, resource input, optimization, build management
- Performance: Optimization completes in under 5 seconds
- Accessibility: WCAG AA compliant with screen reader support
- Mobile-Friendly: Responsive design that works in-game on mobile browsers
- Test Coverage: 42 automated tests for quality assurance
- Open Source: Available for the community to help improve and expand
What we learned
This project showed me that AI tools can help bridge the gap between domain expertise and technical implementation. I've spent years understanding Diablo Immortal's mechanics—I know what players need. With AI assistance, I could translate that knowledge into a working application. The key was clear communication of requirements, iterative refinement, and focusing on the MVP first.
I also learned about modern web development: React patterns, TypeScript type systems, accessibility requirements, and state management. Each challenge was a chance to learn something new.
What's next for DI Labs
DI-Lab is in its early stages, with a roadmap designed to transform it from a functional MVP into a comprehensive optimization platform for the Diablo Immortal community.
Phase 1: Complete the Foundation
The immediate priority is finishing the MVP with a polished user experience. This includes a UI that mirrors familiar game patterns with recognizable visual elements, a robust recommendation system that players can trust, and a fully populated legendary gems database complete with proper icons and accurate data. The goal is to make the tool immediately usable and intuitive for any player familiar with the game.
Phase 2: Comprehensive Optimization
Current optimization focuses on legendary gems and resonance. Future iterations will expand to include normal gems for alternative optimization paths, enabling players to leverage secondary stats strategically. Equipment attributes will be incorporated to optimize builds for specific classes, roles, and playstyles. The planned "Max DPS" function will take into account every game mechanic and the underlying mathematics to provide precise damage calculations.
Phase 3: Ecosystem Integration
Long-term growth involves connecting DI-Lab with the broader Diablo Immortal ecosystem. Planned integrations include Battle.net OAuth for secure account linking, and diablo.tv builder tool integration. These connections will enable features like build sharing, character imports, and community-driven data aggregation.
Phase 4: AI-Assisted Intelligence
The next evolution introduces "Chat with my Inventory"—an AI-powered conversational interface that allows players to ask natural language questions about their builds. Instead of navigating through menus, players could ask "What should I upgrade first with 5000 platinum?" or "Is this gem worth keeping for PVP?" and receive contextual, personalized advice.
Community Impact
DI-Lab is open source because I believe the Diablo Immortal community deserves quality tools, and I hope fellow players and developers will contribute to its growth. The vision is to build something that reduces the friction between players and optimal gameplay—so people can spend less time on spreadsheets and more time enjoying the game.
Log in or sign up for Devpost to join the conversation.