Sunday, August 3, 2008

My experiences on a one month startup: SpicyElephant.com

In June 2008 I helped to form a group of hackers to get together once a week to discuss the state of web applications in general, with the hope of building an application together. We all got along ok, so later that month I made a proposition to the group:

Each member of the team proposes an webapp idea for the whole team to build for a month. All things going well, we each take a turn of proposing a project such that after four months we collectively have a handful of online properties, increasing our individual chances of success.
It was an idea I borrowed from the start of the movie Primer (my favourite movie!). The one caveat was that each project must have to have a clear and realistic path to monetization (for example: subscription, not advertisement). We called ourselves mayhem (after project mayhem in fight club) and were comprised of 2 developers, 1 solutions architect, and 1 design guy. Two of us were full time on the project, one had a real full time job, and the last had another startup to divide his time. We got a basecamp account for the group and spent the last part of June pitching and refining our ideas.

At the end of June, we decided to select the most promising project to purse first, in July. A project that we all thought had a clearly defined niche, existing userbase, and we thought people would pay money for.

The project was inspired by a Wired article on a Polish guy who had devoted the last 15 (or so) years to studying learning and memory and encapsulating that knowledge into his software product called supermemo. Pretty much all members of the group were familiar with the article, and one was an active user of the software. The niche was clear: memorization/learning/flashcards. The need was clear: existing offline software was too complex and/or hard to use and existing online apps did not use the sophisticated learning scheduler in supermemo.

I am an algorithms guy (Masters and PhD were all about algorithms), so my principle attraction to the project was the scheduling algorithm. The supermemo system is based on the premise of only scheduling material at the point of forgetting, ensuring you only study when you need to (maximizing retention and minimizing study time). There were lots of interesting things to research like spaced repetition, the Leitner System, naturally supermemo, and the enormous resource that is the official supermemo website.

I had never used flashcards in school, and it was hard to see myself as a user of the product (alarm bells!). Fortunately, I did have (and still do have) the need to learn Chinese, and I used this as the my user-centric lens over the course of the month.

We used Ruby on Rails, quickly found a hosting solution and got to work. Rather than enumerate the ups and downs over the course of development, I thought I would capture what I think were general difficulties we experienced, as well as general things we got right. I expect to elaborate on these over the coming days.

Difficulties:
  • Source Control: We had a lot of problems with source control. We initially setup SVN on our production hosting environment. This was lost when apache configurations went bad and we had to restore the whole server from the backup. Further difficulties on the server resulted in us in purchasing an account with beanstalk (hosted source control) which worked well for a few weeks. We then migrated the repository back to our production hosting environment (to reduce costs) once it was clear it was more stable. We lost team members for days (in aggregate) on SVN madness!
  • Sever Stuff: We are programmers, not sys admins. Setting up a robust hosting environment is not our forte. One of team stepped up and took on the responsibility for apache/mongrels/mysql and other required server administration. This pain may have been relieved with a more managed hosting solution, but I'm betting that you're always going to need an server admin guy on your team.
  • Application Name/Brand: We had a clear niche, and a clear product to build, but we had no idea what to call it or how it would look like. We listed and debated names, and did not discuss branding at all. By the middle of the month, we were still nameless, and bland, so a pseudo-random but memorable name was selected: Spicy Elephant. Our designer stepped up and branded the site with an elephant logo and a powder blue color scheme. After that, the product felt more real, and productivity took off. We needed such responsibility to be taken on much earlier than half-way through development.
  • Clarity of Vision: We knew the app we were building, but as a team we lacked a clear vision for what that application included. We dreamed up more features than a team could build in a year, and time-attrition of this glut meant an inefficient allocation of our resources (nice way of saying we wasted time). We did a lot, but we could have done more with what we had.
Things we got right:
  • We did it: We made the time and had a go. More than that, we had a functional, pretty, and monetizable web application on August 1st, one calendar month after we started!
  • Daily Sprints: Work was sporadic in the first week, although once we found our collective feet, we got into the habit of congregating when we could and completing daily sprints. These typically involved the completion of major features or sections, and deploying to production.
  • Weekly Sprints: We had team meetings each Wednesday night, although we also all got together each Sunday where we had what we referred to as hackathons. This involved pushing out as much distinct functionality and/or fix as many bugs as we could in about 6-7 hours, and push to production. We only had one Sunday out of the 4 were we couldn't push to production, which at the time was disappointing to the whole team. These sessions were fun, productive, and a boon for the morale of team and direction of the project.
  • Ownership: Finally, we tried to promote ownership of the product by having those sections created by a team member, owned by the member for the purposes of on going bug fixing and general responsibility. It worked well for some parts of the site and for some people in the team, although not across the board.
The site is called: Spicy Elephant, and has the tag line: the quickest way to put stuff in your brain. It relies on users to provide content in the form of decks of flashcards on specific topics. The general use case involves the user signing up and selecting content they which to learn or memorize, and to let the intelligent scheduler organize when they need to study. We treat "todays study material" like an email inbox that you go and clear. I also like the gym metaphor, where you go to the site a few times a week and do your scheduled reps.

The app uses the freemium business model. Guests can view the content and even study it, although without any statistics maintained. Users can register a free account where all statistics are maintained for their study sessions, the user gets access to the intelligent scheduler although are limited to studying only five decks at any one time (although they can create as many as they wish). Finally, the premium account ($20USD for lifetime at the time of writing) can create an unlimited number of decks, and can create private decks - inaccessible to other users.

The project was a lot of fun, even when things were not working. Everyone was full of energy and enthusiasm, and we built the application we said we would, an application of which we are all proud. It's a new month, and time for a new project, and although we are all still friends, it is unclear whether will see our August projects through as a team, let alone our original ambitious plan of 4 projects in 4 months.

For me, it is still make or break. I have allocated enough of my savings to fund myself until Christmas to build webapps that people want to use, after which time I have a revenue stream to support myself or go and get a job.

19 comments:

kia said...

nice concept. really! i'll have a go at it.
pretty slick graphics too.

abi said...

Nice article! I enjoyed reading it. I especially empathise with your problems in setting up the server. I really hate that process, too cos I am not a sysadmin. And that's also the main reason why Google App Engine is really nice to get started. I hope they add languages other python soon.

Brian said...

you have a spelling error on your About page: A study and learning >>>webiste<<< where you tell us what to learn, and our intelligent systems organize when you need to study.

jamesu said...

Thanks for taking the time to write this article. While i don't have the same experience of working in a startup, i can relate to a lot of what you mention here. Nightmares with source control, server maintenance, and of course the clarity issue.

I wish you the best of luck with your next project. :)

d2ksla said...

Nice article. Check usage of principle/principal.

Tom said...

My hat is off to you!

People spend years building web sites and then when they launch them, discover that people don't want what they have.

The idea of forcing yourself to be complete in a month is fantastic. It almost guarantees big bangs for small bucks.

Now, as for this specific website :-D while it works very nicely, I feel that it might not be a large enough market to be economically viable.

Most people simply don't care to learn. Other people such as myself love learning but simply have our own systems we use for reinforcement (for me, I spend a lot of my downtime musing over things I've recently learned) or don't care about the premium features.

That said, considering the low investment you made, you might well "make money" out of it. Or, considering the low investment, you could simply do something else and use all the excellent lessons you got from that one-month sprint.

hairyape said...

first impression: your designer did a really nice job.

the hardest part is finding the right group of folks--sounds like you have a team where each member makes a different but quality contribution. that's excellent, i hope spicy elephant takes off.

wponton2 said...
This comment has been removed by the author.
-Sean Patrick King said...

Rememberize.com is a RoR app using the Leitner learning method that has been out since 2006. It's got a nice clean UI and a solid UX as well.

Jon said...

I spotted that memory article on Reddit and thought about turning it into a web app!

I really hope it all goes well. I will be following your progress!

Jon

doswheeler said...

I dunno, I guess reading passively is better than not reading at all!

JT
www.Ultimate-Anonymity.com

Danielle Fong said...

Elephants never forget.

R.J. said...

Good job indeed. A thought I had: If you become successful don't you think someone will offer the same service for free? I guess the subscription model is good for now because you probably need some cash but is it really realistic in the long run? It seems like a delicate balance many sites have to tread as to not throw off supply side demand to competitors.

The Pageman said...

tried registering - something's wrong at the moment - maintenance?

Jason said...

thanks all for the support and praise, it means a lot to myself and the team!

@brain: i fixed the change to the about deck. cheers!

@Sean Patrick King: thanks for the pointer

@The Pageman: sorry about that, our email thingo broke, should be fixed now!

avarus said...

this text here is interesting but spicyelephant is boooooring :) (sorry for honest opinion).

paolability said...

This is a very inspiring story. For a while, I've been thinking about discussing our ideas with a couple of people we know but hadn't thought of working up an idea as a group.

How did you resolve the contract, ownership and profit issues? Is mayhem a legal entity? Do members sign a contract? Who owns SpicyElephant? Who pays for it and who gets the profits? The whole group in equal splits?

And, is the deal that everyone contributes equally? Or else I can see resentment creeping in if some members put in a lot more than others whilst getting an equal share of the profits.

Nicolas said...

I had the exact same idea when I was learning my JSDA exam : lots of stupid japanese rules for financial market.

I was struck that nothinkg like that existed, with the timing refinements you mentioned.

Good pick.
Although if I was you Id' completely open the platform, not charge anything.

The need is wide enough to make money on advertising and charging you just kill the mass market monetization.

Patrick said...

What a good idea!

I think I would like to use Spicy Elephant to memorise things.

All I need is a set of questions and answers, right? And then I grade myself for each answer between 1-5?

This would be the best for learning a language.