Cheuk Ting Ho



Running An Open Source Project Like A Start-Up

About me

Co-organizer of 

Open Source contribution

Creator of

Volenteer of

I was a bit crazy...

This is the story of how I become a:


  • Developer
  • Marketing Person
  • Project Manager


Start with a Good Idea...?

I think it's a good idea

  • Scikit-learn have similar methods for they models
  • Have attempted to perform stacking form scretch
  • Can I make it easier?
  • Like Keras to TensorFlow

Footnote on stacking

Stacking is an ensemble learning technique that combines multiple classification or regression models via a meta-classifier or a meta-regressor.

The base level models are trained based on a complete training set, then the meta-model is trained on the outputs of the base level model as features.

I want it to...

  • be on PyPI, which means people can pip install it
  • have CICD test on GitHub, using Travis (now also so coverage by using a script)
  • well documented, using read the doc
  • easiest way, cookiecutter for the win

I become a developer... for FREE

Testing is as important as coding...

  • TDD... at least I tried
  • 99% coverage of testing
  • More testing than code
  • Make sure test are well named

Documentation is as important as coding...

  • Docstrings are a must
    (helpful to people coding on a plane)
  • Comments are also needed
  • More documentation (docstrings plus comments) than code
  • Also examples in read the doc and quick start quide

Good code itself is also important...

  • Refactoring many times to make it well structured
  • No ugly patching is allowed
  • People will see you code (open-source)
  • follow PEP8... at least I tried

I do marketing... for FREE

I need more noise!

  • Tell all my friends (social media)
  • Give lightning talks (elevator pitch)
  • Get a logo, make stickers and give it to people (I have some with me btw)
  • Recruit contributor via sprints
  • Hacktoberfest!

It really works!


  • More online presence (Medium post)
  • Even more online presence (talks and tutorials)
  • Community (slack?)
  • A network of contributors via mentorship program

I manage project... for FREE

Managing a project is harder than contributing to a project

  • Make it easy and obvious for others in issues
  • Lot's of communication and reviews
  • Be organized and prioritize (project boards)
  • Encouraging people and acknowledge free labour (AUTHORS.rst)
  • Lot's of LOVE 💕

But it is rewarding!

What I got...

  • Learn a lot in software development in practice
  • Made a lot of friends (my enthusiastic contributors!)
  • Be inspired 💡
  • Feel good about myself 🤗
    (become a BDFL)

Start yours now!

Join to connect to like minded people 🍻