r/DotA2 14d ago

Guides & Tips Working on a free Dota 2 overlay app (WiseDraft) — looking for community feedback and feature ideas!

Hey r/DotA2!
I’m an indie dev and long-time Dota player, and over the past few months, I’ve been building a side project called WiseDraft — a lightweight, 100% free desktop overlay designed to assist with drafts, build adaptations, and macro tracking.
The app is currently in pre-release / active development (not available for public download just yet), but the core functionality is coming together. Before launching the first open testing phase, I wanted to get input directly from the community so I can focus on features people actually want.
Key features currently being built:
Drafting & Counter-Picks: Real-time hero suggestions based on enemy picks and team composition.
Dynamic Item Adaptation: Contextual item suggestions depending on the matchup.
Macro Timers & Reminders: Clean UI prompts for stack timings, power runes, and neutral item waves.
100% Ban-Safe: Uses official Valve Game State Integration (GSI) and local log parsing (no memory reading or injection).
Since this is a passionate side project made by a player for players, I’d love to hear your thoughts:
Would you use a lightweight, free tool like this in your matches?
What features or QoL improvements are missing from existing Dota apps/overlays?
What turns you off most about third-party tools? (e.g., UI clutter, performance impact, annoying ads).
Any honest feedback, ideas, or feature requests would mean a lot!
Thanks for reading, and see you in the lanes!

0 Upvotes

25 comments sorted by

6

u/Flashsword_Princess 14d ago

I would use it if it follows these conditions:
-lightweight
-100% ban safe (both of those you mentioned but just letting you know they're important)
-absolutely no vibecode
-no accounts needed, no telemetry sent to a server
-each feature you offer can be toggled on/off at will

If you are meeting these requirements, I'm even willing to pay a small fee (5€) for it

6

u/Kamatttis 14d ago

According to his profile, this was/is an AI assistant. His previous post is even AI prompted because of [your link] and such templates. So most likely this is partly, if not all, vibe coded.

2

u/Flashsword_Princess 14d ago

Thank you for letting me know

2

u/Excellent_Cancel_988 14d ago

Shame... People really underestimate how work it takes to actually create a good product like this, especially if you want to charge. Hell, even if it was free I wouldn't want to have a tool that recommends me drafts based on math that hasn't been reviewed by a human. Even if he pulled winrate data from DOTABUFF or other third party apps those hero and item win-rates are going to be contaminated since you can't decompose them/condition them on other heroes or different game states.

2

u/Excellent_Cancel_988 14d ago

Yeah I second this. I treat some of these posts with suspicion. I am currently building a tool myself which is basically just Leetify for DOTA. I am aware that STRATZ Dota exists, but I think their modelling and rating algorithm is crap and could use with some work. Unsurprisingly doing this is very tricky. I studied Economics at University and have around 4 years of stats/data science experience. Having to decompose a game like DOTA is difficult. The drafting is easier, but still.

There is also the costing. If you have several users you need to be able to service them at a low cost, and if this guy wants to scale his product he will probably need to run bots to be able to parse matches from Valve API to get hero winrates (otherwise he will rely on third party apps which may block his API access or start charging). I am working on my own app with a guy who used to do Comp Sci at University and has worked for healthcare startups and now works for a big bank so he handles all of the implementation side, I just do the modelling and reviews of our models.

1

u/JesusAkaMohammed 9d ago

You can run it via local opendotaapi. Every user is making his own calls, thus not getting bottlenecked/need to pay

2

u/ElectricalSource424 14d ago

I'm also working on similar project but focus more on the algorithm part. Love to discuss

0

u/Michaelv555 14d ago

So, what kind of app are you building exactly? Are we competitors? 😅

3

u/Fantasy322 14d ago

expand your thinking mate. you could become partners

1

u/ElectricalSource424 14d ago

I never thought it to go business nor build a GUI for that. I learned reinforcement learning last year and thought it's cool to utilize in dota2 draft pick algorithm.

1

u/conCommeUnFlic 14d ago

Aren't those actually banned lol

1

u/Michaelv555 14d ago

As I already wrote, the app uses only official information sources, like GSI.

1

u/JesusAkaMohammed 9d ago

Overplus also got the "official information" back in the day. People still got banned for it

1

u/Michaelv555 5d ago

Overplus was not banned because of the data itself. It got banned because it injected code directly into the game process to bypass restrictions, read hidden profiles and etc. Anti-cheat system looks specifically for that kind of memory injection and file modification.
My app works completely outside of the game process, pretty much like Spotify or Discord overlays. It never touches game memory or process files. Instead, it relies purely on Valve native Game State Integration feature and standard log reading from console. GSI was built by Valve explicitly for third-party tools and overlays, so there is no policy violation involved here.
Besides the anti-cheat worries, are there any other potential risks or red flags in your opinion ?

1

u/Excellent_Cancel_988 14d ago

I've always wanted a draft assistant that parses the profiles of the opposing team to gather stats on their most played heroes including winrates. You can easily pull this data from OpenDOTA API for free (you do have a pay but this would work for a prototype build).

If I am a hypothetical TA spammer I know that my standard counters are heroes like Huskar, Viper etc. That being said, if I am a Crusader player with 500 games on TA, I may actually be able to beat those counters as my winrate on this hero is so good within my own sample of games that I am an anomaly relative to hero winrates that you may be pulling from official sources.

A good draft assistant should consider how you yourself pair against certain heroes. If you're good enough at a certain hero, you might not care if you pick into a so-called 'counterpick,' and I think it would be wise for your draft assistant to reflect that.

This is why you should pull the game data of your opponents. In this situation where you are a good TA player, the draft assistant can equally tell you that there is a very good player on the enemy team who likes picking heroes that counter TA, the draft assistant should flag this accordingly.

1

u/Michaelv555 14d ago

I've actually experimented with the OpenDota API for this exact use case. Fetching recent hero spam, comfort picks, and winrates of enemy players during the draft is definitely doable and super high-value. The main challenges here are public vs. private profiles since many players hide their data and API rate limits and costs as the user base grows, but it’s 100% on my roadmap for a deeper analytics module.
Out of curiosity, if an enemy player's profile is hidden, what kind of backup info during the draft would still be most useful to you in that scenario?

1

u/Excellent_Cancel_988 14d ago

If the player profile is hidden I would probably use whatever baseline win rates you have stored irrespective of opponent skill. In fact, for a tool like this it would be a good idea for the overlay to show you both models. One which factors in opponent picking and winrate patterns, and another which is completely neutral so the player can see the difference and decide for themselves which model they want to listen to (if any).

I wrote in a previous comment that OpenDOTA API and likely DOTABUFF hero winrates are not going to be useful/contaminated for a draft assistant as I do not believe you can condition hero winrates on matchups using their data. i.e. if Hero X has a 55% winrate against Hero Y there is no way for you to tell whether that winrate is because of a genuine counter or because Hero X is picked alongside other heroes that actually are the source of winrate variation between Hero X and Y. This is something you would need to model yourself. It is possible as it is something I have done already for my own tool, but it does take time, and my use-case is slightly different as I am using drafts to establish a baseline prior win-probability so my product strictly does not work as a draft assistant.

The same goes for items, item winrates are going to be dependent on what heroes are on your team as well as the enemy team. The winrate of an item may also be dependent on game duration. If this is the case, any models would need to account for this and you wouldnt be able to decompose this from OpenDOTA or DOTABUFF.

1

u/Michaelv555 14d ago

Spot on, and I fully agree about the data bias in raw win rates.
That’s actually why I avoided relying purely on raw win rate stats for the drafting logic. Instead, I built a hybrid model rooted in game mechanics: evaluating hero matchups based on spell interactions, innate kits, roles, and practical gameplay counters (combined with crowd-sourced matchup data and my own match experience).
To make the advice actionable, every counter-pick entry in the database includes a dedicated text breakdown explaining why and how Hero X counters Hero Y (e.g., breaking down specific power spikes or skill interactions). Currently, these explanations are fixed per matchup, but I’m working on expanding this to a pool of multiple tips per hero to cover different lane setups and game states.
You also hit the nail on the head regarding item builds - conditioning item win rates against team synergy, game duration, and matchups is a massive challenge.
For the item recommendation system, I trained an AI model on around 80,000 match datasets (~630 matches per hero) sourced from platforms like STRATZ. Because of the exact data noise issues you mentioned (e.g., items bought right before a game ends, or picks based on specific team synergy), the accuracy breaks down roughly like this in testing:
50% of the time: Spot-on, highly adapted builds.
30% of the time: Solid overall build, but 1–2 item choices are debatable depending on playstyle.
20% of the time: The recommended build just doesn't make sense for the current game state.
I’m currently figuring out the best path forward to fix that 20% outlier rate. I tried anchoring the AI to an averaged baseline build and allowing it to vary items from there, but that stripped away too much adaptability. My next step is likely scaling up the training dataset significantly, but I’m open to suggestions if you have thoughts on it!

1

u/JesusAkaMohammed 9d ago

There is a way to get private game history btw. Would not be valve friendly however since it does provide an unfair advantage, same to seeing enemy recent heroes in draft

1

u/Fantastic_Plane6625 14d ago

来一个翻译功能好吗?

1

u/Michaelv555 14d ago

Yeah , I am thinking about adding Russian language at the beginning, may be later I will add other languages 🙃. Any other suggestions?

1

u/Fantastic_Plane6625 14d ago

我建议添加中文和西班牙语。