paint, paint brush (I used 2” brush), chalk, straight edge/ruler, surface to paint on (I used a table with an old shower curtain on top of it), rug—recommend either woven grass, jute, or berber carpet rug (kind with looped threads)
I have a ton of house paint as I tend to change my mind on wall color and furniture color frequently. If you do not have a surplus of paint colors I recommend purchasing house paint samples in the colors you like from your local home store. Do not think the finish (flat, eggshell, etc.) of the paint matters.
I laid out my pattern in Adobe Illustrator since this is one of the programs I use for all my design work anyway. You could use Power Point for simple designs or sketch by hand or use a stencil.
Measure your rug. Mine is 3’ x 5’. Organize your color blocking or pattern based to fit your rug dimensions.
Draw out your design using chalk. You could use tape also, but it is not necessary if hand painting since surface of the rug does not lend itself to an exact straight edge anyway. If you are using spray paint—then yes—use tape.
Apply paint generously with brush directly to surface on edge of chalk lines or previous painted edge as you apply next color. Apply one coat and let it dry to paint recommended drying time. Then apply one more coat since the rug will soak up a lot of the paint.
Allow the rug to dry at least a full day. Test back side of rug for seepage to make sure it is completely dry.