By the time you figure in the cost of tools and individual parts, the cost to ASSEMBLE an upper is more than you can buy one ready to shoot.
I have done this a couple of times using takeoff parts and came up with a good shooting, lower cost upper, but only because I got most of the parts for 1/2 of their retail price.
Complete upper=$100+
BCG=$100-125
Gas system=$40-??
Barrel nut,delta ring, misc=$40-50
Barrel=$100-OMG
Shipping all the assorted parts=$50-100
Total=$455+++++
Not including the receiver support and barrel nut wrench.
Complete upper on sale=under $400 on your doorstep