Another thing I've been wanting a while is an EV optimizer. Like, give the Pokemon, tell it how many EVs it can use, and have it optimize defense, special defense, or maximize both defenses (so it would tell you how many HP and Def/SDef EVs you need). Another possibility would be to put in all your EVs, and have it rearange them to give you identical stats, but tell you what you could do to get these same stats with leftover EVs. Like if I made Regice Bold but maxed out special defense and not defense, it would say to make it Calm, add a couple special defense EVs, and put in a few defense EVs, and then tell you how many EVs you have left.
(It would actually say to max/raise HP, and would likely leave you with no special defense EVs, but this is just an example)
I'll expand on that Regice example, actually. Say Regice has the following spread:
EVs: 4 Spd / 252 SAtk / 252 SDef
Bold Nature (+Def, -Atk)
Step 1 would be to optimize nature, while still giving the same defenses. This puts the spread at
EVs: 92 Def / 4 Spd / 252 SAtk / 72 SDef
Calm Nature (+SDef, -Atk)
With 90 "extra" EVs. The next step is to rearrange HP, Def, and SDef to further optimize it.
Regice has 499 special defense right now. If the EVs are all removed, it has 479. To compensate for this loss of special defense, HP can be added. All that matters if % (give or take, for rounding issues, but yeah), so just multiply the HP, 301, by 499/479. Rounded up, this is 314. Now the defense has to be lowered to make physical defense the same. Multiply the defense, 259, by 301/314. Rounded up, this is 249. The final, "optimized" spread would then be
EVs: 52 HP / 52 Def / 4 Spd / 252 SAtk
Calm Nature (+SDef, -Atk)
With 150 leftover EVs for the location of the person's choice. It would then have to do a further check of defense vs. HP EVs, to see which one adds more to defense. In Regice's case, defense EVs add more, so there is no change made, as syphoning HP to defense lowers special defense. If HP adds more than a defense, then it would lose some defnese EVs to HP, and then tell the user that defense remained the same, but special defensive capabilities rose X%. It's easy to tell which adds more: HP or Defenses, as if HP is lower than a defense, HP adds more to that one defense (and definately more to both) than that defense. It would be a bit harder to code if it's not as obvious as Regice, though, but instead was something like Snorlax.
Another example that includes more than just defense is this Milotic from one of skarm's RMTs. This one highlights the possiblity of the calculator having to output multiple values, that give lots of extra of one thing at a slight loss of another. The original was this:
EVs: 84 HP / 252 Def / 28 Spd / 132 SAtk / 12 SDef
Bold Nature (+Def, -Atk)
I tinkered with it, and came up with this:
EVs: 192 HP / 252 Def / 28 Spd / 36 SAtk
Modest Nature (+SAtk, -Atk)
Which gives the same special attack, same speed, but 1.9% less defense (including HP) for 6.6% more special defense. In reality, it has a little more defense and special defense than the numbers show, due to how rounding works (Salamence HP Fly does 1.1% more average damage, for example). How would such a calculator handle this? :(