There are bunch folks who have built relay projects that don’t use the Spark shield–here’s one:
One thing to watch out for is that a lot of relay boards have active low inputs and the Spark core drives its pins LOW during power up so the relays will come on anytime the board resets. There are bunch of ways to deal with this but the easiest is the add some external inverters or transistors to change this behavior. In some applications like deck lighting, it doesn’t matter and you can just live with it!
If you search ebay for “arduino 8 channel relay board” you find a bunch of boards that might work for you. It depends on what kind of load you are switching: how much voltage, how much power, etc. These are very easy to interface to the Spark.