When we built our house in Monument, CO, we decided to do concrete countertops because we liked the industrial look and it saved us a lot of money on granite (plus let's be honest, I just like to make stuff.) Pouring our own also allowed us to do some cool stuff like a drain slope section of the kitchen sink area to direct dripping hand water back into the sink.
That said, this project very nearly didn't work out for a few reasons.
Designing these and making the forms was relatively easy. They are essentially just large rectangles of a specific size with foam knockouts for the sinks and faucets. The foam knockouts were cut on the CNC and were modeled directly from the manufacturer's technical drawings for each item.
Forms were made from melamine and the foam pieces were located and siliconed into place. We also used a silicone round-over kit to create a fillet on the resultant concrete edges.
A rebar substructure was created for each mold and set aside to be placed into each mold after it was half-way filled. Concrete was mixed per the directions on the bag (more on this in the "problems" section) with some fiberglass additive mixed in for edge strength and the molds were poured/packed.
Here's the good stuff, also known as "how to not have a terrible time and almost ruin your entire project" as we did.
If you need more than one base layer sheet of melamine as we did for the island countertop, be sure to seal the edges of the melamine before assembly, and then seal the joint between pieces after assembly. Failure to do so will result in the edge of the melamine absorbing water and expanding, creating a divot in your finished surface.
Check your knockout placement as many times as you can muster, check it based on the 3d model, check it based on the hardware, and triple-check it based on the real life cabinet layout. We discovered after pouring the island countertop that the sink was a couple of inches too far to one side. We then had to dig up concrete that was already setting and move the knockouts over, not fun.
Mix the concrete at least twice as wet as the bag says if you are using Quikrete Concrete Countertop Mix. I know all the guidance for concrete says to mix it as dry as possible for best strength, we aren't trying to build a bridge here, you'll be more than fine in the strength department. If you mix it to the directions on the bag be prepared to do a ton of filling and skim coating to get a smooth surface back.
Pour these one at a time, not all at once as we did. Take your time and use some source of vibration to knock out the air bubbles and settle fines. I also advise not doing this at sunset, in the cold, with just a couple of work lights.
Our countertops came out pretty rough, basically looking like a concrete sponge. Luckily, concrete is pretty forgiving in this aspect since you can apply essentially as many skim coats as your patience allows. So recovery for us was a long process of skimming, sanding, skimming, and sanding.
We used Omega Concrete Countertop Sealer to add some toughness and prevent stains. I highly recommend this sealer and would use it again in a heartbeat. Easy to mix and apply durable, and heat resistant. We did find, at least in our climate with the house kept at about 65 degrees, that it took a little longer to set than we expected and it did add a slightly green tinge to the concrete.