Great work! I got quite invested and managed to beat it twice, first at level 20 and then at 12. It has a bit of a slow start (since I missed out on base attack +1) but with the right powerups it felt pretty exciting! Also a huge fan of the powerup screen's ascii background filter.
One thing I felt was missing is being able to see the current level of a powerup and how much the "+1" would do. Perhaps adding a label like "2 -> 3" might help. Although since +1 has diminishing returns, some powerups might benefit from being a multiplier like x1.5 or a hardcoded list of values.