Open-source project
apigy/selfstarter avatar
apigy/selfstarter

Selfstarter: A Minimal Crowdfunding Skeleton for Rubyists

GitHub describes it as Roll your own crowdfunding. The repository metadata lists Ruby as its primary language. The metadata lists the NOASSERTION license. This article stays within the project description and details documented in the GitHub repository README.

3,150 stars1,567 forksRubyNOASSERTION

At a glance

What is it?
Selfstarter is an open-source Ruby on Rails skeleton for running your own crowdfunding campaign, built from Lockitron's experience after Kickstarter rejected them. It handles payments via Amazon FPS and little else, so you must add authentication, admin, and mailers yourself.
Who is it for?
Adopt Selfstarter if you are a Ruby developer who wants a minimal, self-hosted crowdfunding page and is comfortable with Amazon FPS and building your own admin, mailers, and tests. Do not use it if you need a turnkey platform with an admin panel, multiple payment processors, or a maintained codebase; the project is skeletal and has no tests.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Probably not. The repository last received commits 48 months ago, on October 27, 2022.
What is it written in?
Mainly Ruby, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 7, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The Problem Selfstarter Solves

Selfstarter exists for one specific scenario: you have a product idea, you want to run a crowdfunding campaign, and you do not want to rely on a platform like Kickstarter. The README tells the story of Lockitron, which was rejected by Kickstarter and then built its own crowdfunding site. Selfstarter is that site, stripped down and released as a starting point. It is not a full-featured platform. It is a skeleton. The intended user is a developer who can fork the repository, edit a YAML file, and deploy to Heroku. If you are not comfortable with Ruby on Rails, this project is not for you. If you are, it gives you a working preorder page with payment collection, and nothing else.

How It Works: Payments, Tokens, and Options

The core mechanism is Amazon Payments, specifically the amazon_flex_pay gem. Selfstarter collects multi-use tokens from customers. This is a deliberate design choice: you can collect payment information without charging the customer until you are ready to ship. The README explains that this lets Lockitron charge later, which is useful for a crowdfunding campaign where you only charge if the campaign succeeds. There is also a payment options component. This lets you define different packages or support levels, and you can turn it on or off with a configuration setting. The data flow is simple: a customer visits the preorder page, picks an option if enabled, enters payment information, and Amazon FPS stores a token. You, the campaign owner, later use those tokens to charge. The README notes that this approach has no authentication, administration, mailers, or analytics built in. That is a significant gap.

Getting It Running: Commands and Configuration

The README gives a clear path to a local install. You clone the repository, run bundle install --without production, then rake db:migrate. If you enable payment options in config/settings.yml, you also run rake db:seed to populate those options. Then rails s starts the server. For production, the README recommends Heroku. You install the Heroku Toolbelt, run heroku create, git push heroku master, heroku run rake db:migrate, and heroku open. The configuration lives in config/settings.yml, where you change product name, tweet text, and more. Colors and fonts are in app/assets/stylesheets/variables.css.scss. The main controller is app/controllers/preorder_controller.rb. This is a small codebase, and the README points you directly to the files you need to touch. It is a hands-on process, not a plug-and-play setup.

What You Must Add Yourself

Selfstarter does not come with authentication, an admin panel, mailers, or analytics. The README is explicit about this. It recommends adding a basic set of these so you can message backers and manage orders. It also suggests a 'Remind Me' feature to capture potential backers and notify them near the end of a campaign. There is no reporting, so exporting orders after the campaign is over is not built in. There are no tests. The README welcomes pull requests for tests and for alternate payment processors like Stripe or WePay. This means the maintenance burden is entirely on you. You are not adopting a finished product; you are adopting a starting point that requires substantial development before it is production-ready for a real campaign.

A Genuine Limitation: No Tests and No Admin

The most obvious limitation is the absence of tests. The README states, 'There aren't any tests yet.' For a project that handles payments, this is a serious gap. You will be dealing with real customer money, and without tests, every change you make risks breaking something silently. The lack of an admin panel is another limitation. Once your campaign is over, you have no built-in way to view or export orders. You would have to build that yourself or query the database manually. Also, the payment processor is fixed to Amazon FPS. If Amazon FPS is not available in your country or does not suit your needs, you have to write a new payment integration. The README mentions Stripe and WePay as alternatives, but they are not implemented.

The Alternative: Use a Full-Featured Platform or a Different Skeleton

The natural alternative to Selfstarter is to use a crowdfunding platform like Kickstarter or Indiegogo, which handle payments, hosting, and backer management for you. The difference is control and cost. With Selfstarter, you own the data and the customer relationship, but you also own the bugs and the maintenance. Another alternative is to use a more modern open-source crowdfunding project, such as Catarse, which is a Ruby on Rails crowdfunding platform with a more complete feature set. Catarse includes multiple payment gateways, an admin panel, and a community of contributors. The trade-off is complexity: Catarse is a larger codebase with more moving parts. Selfstarter is deliberately minimal, so you trade features for simplicity. If you want to launch quickly and are comfortable with Amazon FPS, Selfstarter gets you a page in an afternoon. If you need a robust system, look elsewhere.

Maintenance and License Considerations

The repository is archived? No, the metadata says 'Archived: no', but the last push is unknown and there are no recent releases. The README is from 2012, judging by the Lockitron story. This means the project is likely stale. The ruby and Rails versions are not specified in the README beyond Ruby 1.9.2, which is ancient. You should check the Gemfile for the actual Rails version and see if it runs on a modern Ruby. The license is listed as NOASSERTION in the metadata, but the README says it is MIT. That discrepancy is worth resolving before you adopt it, because you need to know your rights. The MIT license is permissive, but the metadata suggests the license file may not be properly recognized. You can verify by looking at the LICENSE file in the repository. As for upgrades, there is no release process, so you are on your own for security patches and dependency updates.

Editorial conclusion

Adopt Selfstarter if you are a Ruby developer who wants a minimal, self-hosted crowdfunding page and is comfortable with Amazon FPS and building your own admin, mailers, and tests. Do not use it if you need a turnkey platform with an admin panel, multiple payment processors, or a maintained codebase; the project is skeletal and has no tests. Before adopting, verify the current status of the amazon_flex_pay gem and whether your payment workflow can tolerate multi-use tokens and delayed charges. Also confirm your Ruby version is compatible with the Rails version in the Gemfile, since the README assumes Ruby 1.9.2 or later.

Frequently asked questions

What does selfstarter do?

It is a Ruby on Rails skeleton for a crowdfunding site that you fork and adjust through config/settings.yml, with a running example at selfstarter.us. Its own history is that it was written for Lockitron after a rejection from Kickstarter, then open sourced as a starting point other projects are expected to tailor.

How much does a self starter cost?

That question is about a product rather than this repository, which is a Rails application and states nothing about prices. What it does document is that it takes payments through Amazon Payments using multi-use tokens, so that customer payment details are collected without being charged until the product ships, with Stripe and WePay named as possible substitutes.

how to use self starter

For this repository the setup is five commands: clone it, run bundle install --without production, run rake db:migrate, run rake db:seed if the payment options component is enabled with use_payment_options = true in settings.yml, and start the server with rails s. The document also states that the project assumes Ruby 1.9.2 or later and a working knowledge of RubyGems.

Does selfstarter have authentication and an admin panel?

Neither. The readme states the project does not come with any authentication, administration, mailers or analytics tools, and recommends adding a basic set so that backers can be messaged and orders managed. The contributing section repeats that there is no admin panel, which is why exporting orders after a campaign is left as a task for the operator.

What license is selfstarter under?

The readme states the MIT License, and a LICENSE file sits at the root of the repository. The project's own metadata field is left unasserted rather than naming a licence, so the two sources do not agree, and anyone redistributing it should rely on the file rather than the metadata.

Official sources

  1. Official README
  2. Project repository
  3. README
  4. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/apigy-selfstarter.svg)](https://hysenlabs.com/projects/apigy-selfstarter)