Suppose the player levels up to level 26 without evolving pokemon.
They collect the first 50 candy for 50 candy pokemon evolutions, and unlimited candy for 12 and 25 evolution pokemon. After they have 50 candy for a high-cost pokemon, they skip that creature.
And they bias towards the 12 evolution pokemon.
Each pokemon is melted down to candy, for 4 candy/pokemon. Every 4 pokemon they collect, on average, generates an evolution.
They spend money on pokeballs instead of using stops. So for every 400 XP they have 1 evolution "saved up".
At level 26 they have 900,000 XP, so 2250 evolutions "saved up". They also have 400 pokemon in storage ready to evolve.
Using lucky eggs, they first evolve all 400 of those pokemon. That is 400000 XP in 2.5 hours, 50,000 XP short of level 28.
They do this on a bike with 9 incubators running. They move at a modest average speed of 10 km/h, generating 4000 xp/hour/egg, or 36000 XP.
If they don't care about lucky eggs, they also catch pokemon during this time. Running incense and biking near two lure'd pokestops they will run into almost a pokemon a minute. Suppose they run into an evolve-able pokemon every 2 minutes, and a non evol-able pokemon every 3 minutes. This costs them time to evolve, but lucky eggs are just money.
Over 4 hours they have picked up 120 pokemon and had 400 in storage, for 520. 520 * 1k + 36k/h * 4h = 664,000 XP. Plus 40k from lucky-egg enhanced pokemon capture.
They are now level 28, almost level 29.
At this point they slow down. Over 4 hours they still earn 144k on eggs and 120k on pokemon and 40k from capture, or 304k per 4 hours.
It takes 1650k XP to reach 32 from 28, or 5 and a half 4 hour xp-fests.
Do you have enough candy? Well, you saved up 2200 evolutions, which is 2 million XP worth of evolution. 120*5.5+520=1180 evolutions are used above. So you don't need to have nearly as many evolutions saved up by level 26 as I initially planned -- half even.
This neglects the requirement to get better-than-pokeballs to reliably catch pokemon at this level. And probably the pokemon rate is too fast. But with enough money and a bit of prep and willingness to play for many hours per day, this is possible.
As an example, drop the pokemon capture rate in half and play for 8 hours/day.
This strategy isn't cheap, but 16 eggs 16 incense and 32 modules for an 8 hour day for 5 days comes to 300-odd dollars. So not infinite money either, and as noted above this has fudge factor. And if they find a spot that is reliably modules by other people, or do lure cooping, they cut their costs way down. And as egging during the hatch-fest is the important part, they can massively reduce egg costs.
Naturally it is far easier if you cheat. 1 pokemon/2 minutes * 24 hours is 720 pokemon/day. If each pokemon is matched with a pokestop spin (to get the balls), the throws are all excellent curveballs, we get 100+100+10+50=260 XP/pokemon.
If it takes an average of 24 candy to evolve, that is an evolution every 6 pokemon. Assuming evolution occurs in a lucky egg, that is another 160 XP/pokemon, for 420 XP/pokemon.
420/2*60*24> 300k XP/day.
Mix that with a daily egg-fest and some saving up of candy from prior to level 26, and that also matches the players XP curve.