If you wanna put a betta in a community setting it’s strongly recommended that you make the tank heavily planted and put the community fish in at least a few months before the betta, if the betta goes in first or before the community is settled then he’s more likely to get territorial.
I’ve got my male betta in with zebra danios but I think I got lucky, because a lot of people say that danios are some of the worst fish to go with bettas.
Corydoras are excellent companions for bettas, since they stay down low and don’t look anything like a betta and are super chill. You could also look at small loaches, so long as they can handle the temperature. Maybe a large group of small fish, like green neon tetras? If there’s loads of fish swimming tightly together, the betta can’t really pick on any specific individual.
A 29g would be a mansion for a betta and your boy would love it, so long as it’s set up correctly.
Decide if you want this to be a community tank that just happens to have a betta, or if it’s a betta tank with some extra fish.
Just make sure to have a backup plan in case things go wrong and you need to separate the group.
Another option would be to put the pea puffers in the 29g. Still plant it heavily, but you could add more puffers and make it a beautiful species-only planted tank. Might also be less stressful on the betta, because I know they sometimes don’t adapt well to larger tanks and community settings if they’ve always been alone in a small tank.
Oh! If the 29g is currently empty, and you wanted a second betta, you could put a solid divider in the middle of the tank and make it into two 14 gallon spaces. There’s obviously disease-related risks involved with using the same water for multiple tanks, but some people do it with no problems.