Elliot Cooke How I Passed the ICE Professional Review – Presentation Script, Interview Hacks & Communication Task Watch the video...
Pokemon Team Optimiser
How to use, acronym meanings, etc
Very Quick Intro
The website optimises a teams Base Stat Totals (BST), whilst at the same time minimising weaknesses, within a given set of other constraints.
Using the sliders, you can edit the BST and weaknesses cap, and some of the initial basic constraints.
All will be explained! But if you feel like diving in, I like to think it is fairly intuitive.
Abilities, Megas, Terrastilisation
Not accounted for – yet 😉
Terminology
(av, mx)
Shorthand for Average and Maximum.
When the constraints are onerous, there will be a bigger discrepancy between the two. What this means:
– For BSTs – It is maximising the total team BST. For an example team of 2, it might be that the highest total is acheived with 1 very high BST and 1 low/average BST, to balance out the weaknesses. This is multiplied out for a team of 6.
– For typing – Your team might take neutral damage across most of the board, but there has to be a type (or a joint few) that will hit super effectively. This is the same with attacking, your pokemon will hit super effective STABs on some types more than others. The av & mx allow you to see how disproportionally weak you are.
Offensive Constraints
Team super eff. STAB coverage
From memory, you need something like a minimum of six types to hit all of the other ones super effectively. Forcing these types mean the This slider
Team Size
Allows you to optimise for say a 3 pokemon team for the Battle Tower, or a 5 pokemon team if you want designate the 6th as a HM Slave.
Defensive Constraints
Max BST permissable
If we truly maximised the BSTs, we’d end up with a team of mythicals and legendaries. Not everyones cup of tea.
This slider allows you to cap the phenomenon, so a team is created at an appropriate power level.
Playstyle Constraints
Generation
Allows user to decide the pool of Pokemon that the optimiser can select from. Most computationally expensive, it can be prone to lagging and occasionally it is quicker just to reload the page.
Accounts for the addition of Steel, Dark and Fairy typing, and thier associated weaknesses.
Team Size
Allows you to optimise for say a 3 pokemon team for the Battle Tower, or a 5 pokemon team if you want designate the 6th as a HM Slave.
Power Constraints
Max BST permissable
If we truly maximised the BSTs, we’d end up with a team of mythicals and legendaries. Not everyones cup of tea.
This slider allows you to cap the phenomenon, so a team is created at an appropriate power level.
Context
I’ve been learning Python for a while now, but we all know that theories discussed in classrooms can only take you so far. I needed a real-world challenge to test my skills. I did not want my first project to be boring or carry any real gravity with it. I wanted to optimise a game or something silly.
Like many, I grew up playing Pokemon. It’s a childrens game, and therefore can be played and beaten without much thought. It can also be played through the lense of maths, probability and risk managment. There is a huge amount of free, open-source data on the internet, that enables this sort of playthough. I downloaded this, and made a funky little tool to help design teams.
Tech stack
I have a Python backend, that I’ve uploaded to PythonAnywhere.
This receives and sends Java Script Object Notation (JSON) to the React front-end.
This React front-end was built with Plasmic, and is hosted on Vercel.
I’ve set up my Hostinger DNS to point to Vercel, so the site loads through my own url.
You made it to the bottom of the page, perhaps you’ll enjoy one of these…
Similar
Random
Built Environment Experience
Elliot has worked for serveral companies within the built environment. Find out more here...
Popular
Built Environment Experience Elliot has worked for serveral companies within the built environment. Find out more here... (31)
News Letter
Generally speaking, if you read something on my blog, it will be available on other social media. If you’d like more depth and less filter, then the newsletter is for you. They take time to produce and pass QA, so I’ll only send max two emails a year.
Contact and bookings
Business & Speaking Enquiries
commercial@elliotcooke.co.uk
PR & PODCAST ENQUIRIES
bookings@elliotcooke.co.uk
Press
press@elliotcooke.co.uk
Events
events@elliotcooke.co.uk
© 2025 Elliot Cooke | Designed and created by ME