DotAI is an application that provides an easy way to filter the hundreds of heroes from Dota 2. It offers a user-friendly interface to quickly categorize heroes by their main strengths.
Link to the DotAI Webapp.
Simply select from the list of categories and corresponding heroes will show up. Keep in mind that DotAI's strength is the ability to mix and match from various categories.
- Mobile supports that have good wave clear and escape.

- Offlane initiators that can solo and sustain lanes easily.

- Mobile midlaners that have split push and nuking abilities.
DotAI is your second brain for drafting.
Suggestions and pull requests are warmly welcomed as I continue to refine and expand this project. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Categories I'm currently reviewing for deployment:
- Meta (Strongest heroes of the current patch)
- Rank Meta (Strongest heroes of the current patch for a certain rank)
- Early/Mid/Lategame Heroes (Heroes strong at different stages of the game)
- Second Carries (Supports/Offlaners that transition to carry in the late game)
- Snipers (Heroes that can deal damage from far away)
- Tower Killers (Heroes that will kill towers if left unchecked)
- Rampage (Heroes that solo rampage (under the proper circumstances))
- Complexity (Varying levels of hero complexity)
- MongoDB
- Express
- React
- Node.js
- Mongoose
- Framer Motion
- Sass
- OpenDota API
- Axios
- Nodemon
- Dotenv
- Cors
This project has been a great way for me to practice the MERN Stack:
- Applying best practices for code organization and project structure in the (MERN) stack.
- Implementing responsive design principles (React + Sass).
- Managing state and side effects using hooks (React).
- Animating on the DOM's dynamically renderred elements (Framer Motion).
- Creating backend (Node.js + Express) REST APIs.
- Retrieving data from (OpenDota) APIs.
- Using env varaibles for sensitive data (dotenv).
- Creating Schemas and Models (MongoDB).
- CRUD Operations and manipulating data (JavaScript).
- Connecting (Mongoose, Axios, Cors) and using (Mongo) Databases.
- Deploying fullstack applications (Render + Netlify).
This project is being developed as I go through and learn more about both Dota 2 and Web Development.
I am by no means a great dota player, The categorization of heroes are chosen by me and a couple of peers who are higher ranked than I am (4k). I made DotAI because I often found myself struggling during drafting and ending up with hundreds of starting gold lost, and also because it's a way for me to connect my two hobbies, Dota 2 and Web Development.
DotAI is my own independent creation. Please note that it is not an official product associated with Dota 2 or its developers.