Startup #1 - Zipsell
TL;DR, Today I am launching Zipsell
It’s now the end of the month, about 26 days since I announced my intention to launch 12 startups in 12 months.
That means it’s time to launch the first startup!
This month has been mostly me getting back up to speed in terms of my hands-on design and programming skills. It’s been about 4 years since I launched my last product so I’m out of practice :)
I’d also like to caveat by saying that in the middle of all this dev work I managed to pack up my house and move everything into storage to enable me to go nomadic for a while. The moving ate into a good chunk of a week during the month!
The customer problem
In order to sell digital downloads such as ebooks etc, you generally have 2 choices:
- Use a wordpress plugin and self host
- Use an online marketplace
There’s a problem with each of these solutions...
Most of the good quality wordpress plugins in this space cost hundreds of dollars and take hours to configure. That and, some people (like me) just don’t want to run a Wordpress app on their stack.
Wordpress ecommerce plugins encourage all sorts of unsavoury non-best-practices such as storing your Stripe or Amazon API keys in plaintext in the database.
Alternatively, online marketplaces are an easy way to get started, but all of them charge fees of some sort. This will either be a monthly subscription fee, or a percentage of your sales (on top of payment processing fees) or in many cases both.
There must be a better way!
Zipsell is a free, open source and self-hosted platform for selling digital downloads, built with Ruby on Rails. You can clone the git repo and deploy to a new heroku server in about 10 seconds flat. No more fiddling with wordpress plugins or paying commissions to marketplaces.
Here's a rundown of the list of features in the v1.0.0 release:
- Admin can configure server variables via YML file
- Admin can register as admin
- Admin can add products to store with file and image attachments (Amazon S3 integration)
- Admin can set products to live or draft status
- Customer can browse store
- Customer can purchase products with credit card (Stripe integration)
- Customer receives email with expiring download link after purchase
- Admin receives email notification of purchase
- Admin can view sales and customer information in admin control panel
- Admin can regenerate and send new expiring link to customer
The business model
Since this is my first startup out of the 12, the challenge was more around me getting up to speed with my tech stack again.
There’s no direct revenue for me to generate from the free product here, although I did throw in some potential revenue opportunities in the form of a tutorial guide book and a business edition. These will be created and sold if there is demand.
Also I'm thinking that Zipsell will be an enabler for a couple of ideas I have for later on in the 12 startup challenge... so in that sense it's sort of an investment rather than a direct revenue generator.
Amazon S3 is used as the file store. All downloadable files have non-public access rights and download links are securely signed with a configurable expiry time.
Bulma is used as the css framework.
Figaro is used to set production configuration without commiting files or storing sensitive information in databases.
Heroku is used as the production environment in my readme, although you are free to deploy it anywhere else.
Paperclip is used for file attachments. I purposely removed Active Storage from the app as it is currently not suitable for serving files via CDN. Zipsell needs flexibility - image previews can be served from a CDN while private, downloadable files are served directly from the S3 bucket.
Ruby on Rails is used as the web application framework.
Stripe is used as the payment processor. You use your own Stripe account with Zipsell and all payments go directly to you.
Zipsell is licensed under the MIT license.
It is free to use for both personal and commercial purposes.
I use a JIRA kanban to organise my work. In case anyone is interested in seeing the (very lightweight) user stories I wrote from zero to launch, here is a google doc with the stories.
Zipsell is open source and you are welcome to contribute via the pull request workflow.
And then... I have to get cracking with Startup #2!