Imagine you are trying to create something new, but not completely. Suppliers for most electric bus parts exist, ZTF being chief amongst them. Did the executives enter the market with a strategy to buy everything they could, assemble it, enter the market quicker, build many units, learn how busses are built and then innovate from experienced position? Nope.
A toddler learns to crawl before learning to run. A bird learns to hop before learning to fly. Our executives started to innovate before learning to build.
Why buy or build a metal frame? Too many parts, let's build the frame out of composite materials, only a few parts to glue together and the CEO has contacts amongst the yacht builders.
The end result drove like a tank. It had zero flexibility, was way too rigid for any passenger carrying vehicle and tended to lean to one side. Together with a bunch of windows that can't be opened and a skylight it was a greenhouse on wheels during the summer.
Composite parts getting glued required sanding and pieces of it are still embedded into poor sod's who did that hands.
The bus also featured a front windscreen curved too heavily for most crucibles to make one.
Can't we just buy a dashboard? No, can't get attached to a supplier, gotta build our own thing. The designer didn't plan for a spot for a driver to store their coat and bag. Also, it had no place to keep money and bus tickets for those passengers who didn't buy them earlier.
Several dashboards got designed, money dried up and the people who designed and built them left. Yup, all Fantastic Four of them, leaving a poorly documented mess for people who come after them.
I was tasked with building a telemetry system and a user information system.
Built a telemetry system with Grafana and a data collection script running in bus'es computer. Me and one other guy was the whole team.
For information system, I used Vue and Python on a Raspberry pi running cog, a very minimal WebKit browser. It had a 3D bus on an angled map and said which stops come next.