Any particular reason why Yesod isn't a good fit there? Is the team large enough where it makes more sense for you to roll your own and not deal with making it super generic?
Yesod provides a ton of functionality related to the larger problem of building a website with Haskell, but we're only using Haskell for JSON services.
All those extra bells and whistles are wasted on us. :)
We don't actually use any of Yesod's affordances except for its router. We're aiming to eventually split that off and run on bare Warp.