It was born out of a couple of itches I needed to scratch:
- I wanted to learn Haskell 
- I wanted to make collaboration with Excel less painful
Excel is heavily used in organisations. It’s clunky, prone to users making errors and next to impossible to incorporate someone else’s changes. Especially once you start emailing Excel attachments to your co-workers. Yet people can’t give up on Excel. Apparently because it is a convenient way to lay out a tabular structure:
He typed the current date in the top of the spreadsheet, printed a copy, put it in a three-ring binder, and that was pretty much his whole, entire job. It was kind of sad. He took two lunch breaks a day. I would too, if that was my whole job.
Over the next two weeks we visited dozens of Excel customers, and did not see anyone using Excel to actually perform what you would call “calculations.” Almost all of them were using Excel because it was a convenient way to create a table.
Felienne Hermans of Delft University of Technology has some great research on the subject. In A modern day Pompeii: Spreadsheets at Enron she talks about digging around subpoenaed Enron emails to find that:
Over the 15 months that the email set spans, we counted 100 emails per day (!) involving spreadsheets. Some emails occurred double in the set, as both the sender and receiver were in the mailboxes acquired, so it would be more fair to say there were 100 spreadsheet email – interactions a day. But still! Talking about errors in the spreadsheets was also pretty common, 6% of all spreadsheet related emails contained word such as error or fault
We just can’t wean ourselves off Excel, despite all its shortcomings.
People have tried to solve this problem before. One of the key principles of the Enterprise Software industry is that it will replace your crappy, inefficient Excel-based processes with accurate, real-time information. Yet each new enterprise system is sufficiently inflexible in the real world that it spawns a whole set of Excel spreadsheets at either the front-end (forms or tables to collect data to feed into the machine) or at the back-end (download data to Excel to run your pivot tables for analysis).
If replacing Excel with a web-accessible database system isn’t going to do the trick, what if there were an easier way to address some of the issues people have with using Excel?
 Consider it “personal development”. Some people go on training courses. Some people try to pick up new programming languages and techniques. Functional programming has been completely eye-opening for me. Also it’s been great to remind myself of what developers have to go through on a daily basis even without pressure being exerted from an uncomprehending management layer.