Racemetric is a simple athletic race registration and credit card processing app. It’s all written in Haskell (Snap, Heist) and JS on top of PostgreSQL. The idea is for race organizers to accept credit card registration payments within minutes instead of having to talk to sales people, get a merchant account, build a custom web page, etc. As a runner and rower, I’d like to have all my race results in one place and one format.
Of course I’m looking for customers as well as any feedback you have to give! Feel free to contact me directly at luke@racemetric.com.
My Haskell experiences (why use Haskell):
Snap is super simple. It’s not overdone with metaprogramming etc so it’s easy to understand and debug, but it’s not so simple that you have to reinvent the wheel all the time.
Heist, the templating engine, is super simple and powerful. It subscribes to the idea that control flow should be in Haskell and HTML/XML in the template. It’s proven to scale EXTREMELY well.
Performance. Snap server has really performed well in production for me. Low memory and CPU usage, fast, etc. Right now I’m just running on a micro EC2 and it’s not breaking a sweat under the HN load.
Digestive functors is a GODSEND for handling forms. It really looks like Haskell’s the perfect language for form processing when you use it compared to other frameworks. It also has features like dynamic lists w/ automatic JS which many other frameworks don’t support.
Snap is the perfect blend of simple + featureful (framework + libraries). It easily competes with microframeworks in simplicity and the heavy weight frameworks when you need the functionality. There’s a great SO post with more detail from the authors of both Snap and Yesod: http://stackoverflow.com/questions/5645168/comparing-haskells-snap-and-yesod-web-frameworks?answertab=votes#tab-top
Heh, I thought this was a Haskell project that would let you detect race conditions in code…