““Set-up wise, DigitalOcean was like nothing we’d ever experienced before. We were given a Linux box in the cloud, so we didn't have to worry about SSH access, or transporting it back and forth. We then found a DigitalOcean guide, which made set up as simple as you’d dream it would be. In our past experiences, guides were either inaccessible or the commands didn’t work. With DigitalOcean, every step was explained and every command they gave you worked.” ”

Joe Puccio, cofounder, Coursicle
Coursicle logo
INDUSTRY
Software
YEAR FOUNDED
2012
HQ
San Francisco, CA
Try DigitalOcean

From a single student to >250,000: How Coursicle is changing the way you register for class

Coursicle is a course registration and scheduling service founded in 2012 to eliminate the pain points around class registration for college students. The company manages information on 2.6 million available courses for students across the United States and Canada.

The company’s cofounder, Joe Puccio, experienced the challenges of course scheduling firsthand while he was a freshman at UNC Chapel Hill. “I spent seven hours planning my class schedule,” notes Puccio. “And when I finally went to register, I was frantic and completely distraught because nearly half of the classes I planned to register for were closed, including my backup schedules.” 

Puccio set out to create a program to automate the research around class availability. After successfully building a tool that automatically captured screenshots of the classes he wanted to take, Puccio could easily check the screenshots to see if there was a spot. When he got into all of his classes with this tool, Puccio realized how valuable it was, and rearchictured it to notify him when a class had changed.

After experiencing the ease of the solution himself and sharing it with a few friends, Puccio and Coursicle’s cofounder, Tara Aida, offered the program to their classmates and other students – taking Coursicle from a personal project to a business.

Challenge

When Puccio and Aida offered their solution to other students, they were using two computer servers on-premise, out of their dorm rooms. As they began to promote adoption and scale their solution, they started encountering challenges. The computers slowed as they began to manage more course catalogs due to the volume of dynamic data. They also faced issues turning the servers on and off during holiday breaks, and transporting the servers when they’d be away from campus. 

Recognizing these challenges, the Coursicle cofounders quickly realized they’d need to house their program in a cloud environment to eliminate these concerns. “We had an epiphany moment where we recognized why server architecture makes sense – and cloud, specifically,” says Puccio. Being student developers, Puccio and Aida needed to enlist a cloud provider that would be flexible, cost effective, and easy to use. 

Solution

They decided to try DigitalOcean after being introduced to the platform by a friend. Soon after, they discovered the GitHub education pack. “This helped us cut down costs, which was a major factor for us as students, Puccio notes.” They leveraged DigitalOcean’s student hosting credits to quickly familiarize themselves with the offering. “Within six months of using DigitalOcean, we were completely in love — there was much more flexibility on DigitalOcean than we’d experienced in the past.”

Coursicle browse view

Coursicle schedule view

“Set-up wise, DigitalOcean was like nothing we’d ever experienced before. We were given a Linux box in the cloud, so we didn't have to worry about SSH access, or transporting it back and forth. We then found a DigitalOcean guide, which made set up as simple as you’d dream it would be. In our past experiences, guides were either inaccessible or the commands didn’t work. With DigitalOcean, every step was explained and every command they gave you worked.” 

Configuring and Maintaining Virtual Machines with Ease

Coursicle primarily uses DigitalOcean’s Droplets, which are flexible Linux-based virtual machines (VMs) that run on top of virtualized hardware – functioning as servers to host websites, stage environments, and handle computing needs. Time to deployment was important to Puccio and Aida since they began this venture as student developers and couldn’t spend all of their time on it. “DigitalOcean gives developers the right amount of information so they can comprehensively understand what they're doing, but don’t need to write infrastructure code from scratch,” notes Puccio.

Coursicle also uses Snapshots to save on-demand copies of Droplets, and Backups to automatically create system-level disk images of Droplets weekly. Coursicle says that Snapshots have been particularly useful when moving information between multiple data centers. Coursicle also finds the daily maintenance of checking servers incredibly simple.

Most recently, Coursicle has adopted additional DigitalOcean features, including Spaces to store content and help Coursicle’s offering grow at scale, a Floating IP for its web server, Private Networking between all of its servers, and Load Balancers to help improve availability, security and performance across its infrastructure.

“I always feel like DigitalOcean is ahead of us. As soon as we need something, they already have it.  They’re continuously building solutions based on the needs of their user base,” notes Puccio. While Coursicle has not used the full suite of DigitalOcean’s offerings, Puccio notes, “We know it is there as we grow.”

Coursicle DigitalOcean dashboard

Resulting Growth and Success

Coursicle’s growth is on an upward trajectory. In the last two years, the company has more than doubled the number of colleges it supports and is running entirely on revenue. Additionally, Coursicle has seen a particular boom in its customer base at colleges where academic advisors are hearing about Coursicle from their advisees and, in turn, telling other students about Coursicle. “Scaling has always been a challenge for us, but we’ve managed to do it well with DigitalOcean,” notes Puccio.

Today, Coursicle’s web application – supported solely by DigitalOcean – is used by 284,000 students. Coursicle aggregates information about 2.6 million courses at 900 colleges in the United States and Canada. Even more, at some of these colleges, 80-90% of students are using Coursicle. 

Coursicle sees DigitalOcean as a crucial factor in its growing success. “The biggest impact on Coursicle – and why we’re staying with DigitalOcean – is the way they flipped typical customer service behavior on its head. DigitalOcean’s support team would spend extra time checking whether we were satisfied. They’d send follow ups to make sure everything was good. They cared about building a good experience for us.” In fact, Puccio was so impressed by the customer experience that he modeled the Coursicle customer service model after DigitalOcean’s. “We’ve emulated that attitude and support toward customers in our business.”

In reflecting on Coursicle’s experience using DigitalOcean, Puccio says they’ve shared their success story with other developers, encouraging them to use the platform as well. He also highlights the simplicity that made him a loyal user, “Our web host is DigitalOcean, we run all of our backend scripts with DigitalOcean on a collection of 10-15 servers, and even when we work with other companies, we set those servers up on DigitalOcean as well. It is so incredibly convenient. We have no intentions of going with any other provider.”

At a glance: Coursicle’s use of DigitalOcean's Product Stack

Droplets

Used as servers to host websites, stage environments and handle computing needs. Coursicle has 13 droplets: 2 web servers (CPU optimized), 1 load balancer (CPU optimized), 1 database server (general purpose), and 9 backend servers (standard) which scrape course data. 

Snapshots

Saves on-demand copies of Droplets and is particularly useful when moving information between multiple data centers. Coursicle regularly uses Snapshots to transfer servers between data centers as well as creating clone servers for testing major system changes before pushing to production.  

Backups

Automatically creates system-level disk images of Droplets on a weekly basis. Coursicle uses backups on its database server, web servers and its primary scraping servers. 

Spaces

Stores content and help Coursicle’s offering grow at scale. Coursicle uses spaces to store hourly, weekly, and monthly backups of its primary database tables.

Floating IP 

Used as a web server to redirect network traffic between any Droplets within the same datacenter. The ‘Coursicle.com’ domain points to a floating IP allowing for increased infrastructure flexibility with zero downtime. 

Private Networking

Creates a second network interface for Droplets that is unreachable from the internet. This is useful when you want to transfer data safely between servers or reduce outbound bandwidth usage, like when protecting database traffic or transferring log files to a central location. Coursicle uses Private Networking to achieve near-zero latency for all server-to-server communication (web servers to database, scraper servers to database, etc.)

Load Balancers 

Helps improve availability, security, and performance across an infrastructure. Coursicle uses Load Balancers as a first line of defense against DDoS attacks and scrapers as well as maintaining high availability and performance of their web app and iOS/Android app backend. 

Have questions before you deploy?

Contact our Customer Success team to get answers.

Contact Us