UBC Launch Pad is a student-run software engineering team devoted to building software projects in a collaborative and professional environment. Our primary objective is to be the best space at UBC for students to meet other tech enthusiasts, build projects in a team setting, gain experience with professional development tools and principles, and share their knowledge with others.
We form teams based on common interests and project ideas of our own choosing, and hack on our projects to completion! We are also lucky enough to have sponsors which help provide our teams with necessary resources, like servers, to help us achieve our goals.
Our platform teams dive deep into their platform of choice and develop apps from conception to release. Platforms include iOS, Android, and Web.
Our moonshot teams explores applications of cutting-edge technologies and tackles challenging problems. Think IoT, distributed computing, machine learning.
We host interview workshops and tech talks throughout the school year to connect with the UBC tech community and increase interest in software development amongst students.
Cumulus is a cryptocurrency that allows users to send and receive tokens on a P2P network or "mine" on the network to create tokens for themselves. Cumulus reimagines the proof-of-work mechanism used by Bitcoin and many other major cryptocurrencies to put coin mining computation time to good use. The Cumulus node client is built using Go.
Minutes is a Python library for speaker diarization: the process of splitting up an audio file into its unique speakers. Its base model is trained on hundreds of hours of spoken English text, and it uses transfer learning to predict on new speakers. Minutes is built using Keras running on top of TensorFlow.
Inertia is an app that enables effortless setup and management of automated, continuous deployment on any virtual private server. It features a daemon, a web front-end, a command-line interface, and the ability to deploy almost anything. Inertia is currently used by several Launch Pad projects, and is built on Go, Docker, and React.
Eat helps you decide on a restaurant that accommodates everyone's preferences by suggesting places to eat based the group's location, dietary restrictions, price range, and intended meal time. After everyone has voted on the suggested restaurants the app selects the best one for the group. Eat was built for iOS using Swift and Objective-C.
Etch is a live multi-user collaborative etch-a-sketch built on websockets. It also features a live chat that users can join anonymously or with a custom username. Each user is assigned their own color and can draw whatever their imagination allows while watching others draw at the same time. Etch was built using WebSockets, React, and Node.js.
Driver is a ride-sharing app for Android that ensures everyone gets home safely. Users provide their destination address and Driver intelligently matches passengers to drivers to minimize driving time. When passengers are matched to drivers, Driver generates an efficient route to each destination. Driver is built using Java and Firebase.
Cashout is a fantasy currency trading app. When you open an account, you receive $1000 USD, from there it's up to you! Trade world currencies and cryptocurrencies, and see how your portfolio performs against the USD or world economy indexes. Cashout was built using Ruby on Rails and Redis. It integrates with popular currency and cryptocurrency price indexes for real-time trading data.
RocketCast is a full-featured podcast player and discovery tool for iOS. Search for and subscribe to podcasts in the world's largest podcast directory, read show notes inline with podcast metadata, and download in-app for offline listening. Skip ads and play at double or triple speed. RocketCast is built for iOS using Swift and uses the iTunes podcast registry for podcast discovery.
Sleuth is a search engine designed to automatically collect and provide tailored UBC-related content that are relevant to UBC students, such as course sites, news articles, relevant social media content, and more. The website displays the results in a graph view that visualizes the relations between results. Sleuth was built with React, Django, and Apache Solr, and uses Scrapy for content curation.
Developed as a replacement for iClickers without the need for specialized hardware, RocketPoll allows users to create and respond to polls in real-time. You can choose custom questions and answers, and limit the time during which questions are valid. RocketPoll was built using Swift and a FireBase backend.
Applications are currently closed, but we typically open applications at the start of every semester, so there will be more chances to join! Want to get involved in the meantime? Most Launch Pad projects are open-sourced on GitHub, so feel free to take a look or even contribute! We also run workshops and other events throughout the year, and post about some of the work that we do - stay tuned to our Facebook, Instagram, and Medium accounts to keep in touch!
Launch Pad provides a unique opportunity for UBC students to gain software design and development experience in an environment
where they are not pressured for time and have the support of their peers to learn and bring their own ideas to
the table. Moreover, many of the skills our members acquire and the projects they work on prove to be indispensible
during the job application process, both for co-op terms and after graduation. We have sponsors who provide us
with valuable resources like cloud services, and we ensure that each team has a great technical lead who will support
the growth of our junior members. The feedback from our members on their tech leads has been overwhelmingly positive:
"Just really want to thank the team members for teaching me so much, extremely meaningful for me."
"Chad and Kevin were very knowledgeable in ML Topics, as well as CS in general. Kevin was a great help with information about finding internships as well."
"Friendly, patient, and helpful!"
Launch Pad recruits new members at the beginning of each semester. At the beginning of a recruiting period we post our application form on our website and share it through relevant social media. Once the application deadline has passed, we schedule interviews with applicants. Interviews are much like a real job interview: they are generally around 20 minutes and entail a few experiential questions (tell us about your projects and passions), two short-answer technical questions depending on your platform of choice, and a coding question. After interviews have been completed we notify all applicants (regardless of whether or not they were selected), and schedule onboarding with new members.
We want the club to be useful for all our members, which means people need to be able to build projects and acquire new knowledge and skills. After doing this for a few years, we’ve found that building projects at a reasonable pace requires one or two more experienced members per team who can lead the way and act as a resource for folks who may not have as much experience. The number of people we can accept into the club is limited by the number of teams, which is limited by how many people are capable and interested in being a team lead. It would be fantastic if we could accept everyone who wanted to join, but at the moment we can’t. One of our goals going forward is to be able to accept more members while still maintaining a good experience for everyone in the club.
Launch Pad projects are all team projects, and as a part of a team, you will need to contribute in order to advance both your team's project, and your own skills. Thus, you will be expected to attend meetings every Saturday from 11am to 3pm where you will discuss the week's goals with your team and decide what tasks need to be done. You will also be expected to complete or make progress on whatever task is assigned to you that week (or let your team lead know a week in advance if you have to miss a meeting or are too busy to complete a ticket), and to be available on Slack throughout the week.
Teams are formed at the start of every term, usually consisting of a tech lead, 3-6 developers, and a designer. Each team works on a project from inception to deployment. Teams can build anything they're excited about, as long as they can commit to finishing and releasing it within one or two terms. We generally don't monetize our projects or build software for external organizations. But ultimately, each team decides what they want to build; for example, the Machine Learning team once chose to enter a Kaggle competition for their term project.
UBC Launch Pad seeks to provide the best environment at UBC for collaborating on great software. This requires servers, professional development and design tools, and powerful hardware.
Our sponsors allow us to provide an industry-standard development environment to students and deploy apps to users beyond Launch Pad. Sponsors have direct access to the best software developers at UBC for hiring purposes and build connections to the wider UBC tech community through Launch Pad events.