What about providing multiple backends? I've seen some projects like that where it's heavily front end driven and they provide a few different backends to let you choose.
To your point, it still isn't that much to reimplement, since the architecture would be quite similar for each backend.