Probably it should be build the tyre first. This is a functionally complete thing that can, along with many other functionally complete things be composed into the car.
Car built with scooter tires... Scooter built with car tires...
Just not seeing it.
When Java was first becoming popular, I recall emphasizing how important it was to use the standard, well-documented, well-tested java.lang.String, rather than a custom String class as had been done in C++. Application domain experts started asking about strings that didn't fit in RAM (documents).
A great, tested component in one domain may require a significant redesign in a domain with other requirements.
Analogy wears thing because a tyre is a standard off the shelf thing. In software everything that is interesting (and requires employees) is custom to some degree. So it is like a tyre for a rover on the moon.
However no need to get that to also work for a scooter on pluto! Unless the sales guy has already promised it!
Coding is a conceptual art-form, it's not about building a car with scooter tires, it's about upgrading vehicles to get the end result in a workable fashion. Try using spark plugs and pistons to get somewhere!
No, you miss so much when you try to make a component you think will be useful. The first piece must be something that makes someone's life a little bit easier - that's the only way to be sure you're making something actually useful.
Sorry, just had to =)