One of the core visual components of the original Quadio design was the Soundcloud inspired waveform accompanying each track in the feed and on the track page. Like on Soundcloud, the waveform served as a stylized track playback progress bar that the user could interact with to seek through the song. I’d like to share some of the engineering team’s process and learnings from building our waveform component below with anyone looking to build something similar because, at the end of the day, it’s a pretty cool way to convey track and playback information to users.

If you’re only interested…


Inline frames (or iframes) are HTML elements that allow you to embed other HTML documents inside your webpage. This is most often used for embedding things like Youtube videos and maps from Google Maps, but it’s possible to embed just about ANY webpage or HTML content (assuming the content owner has given permission for you to do so).

Most of the time, when you use the default embed HTML from a page, it comes with in an iframe. For example, look at Youtube’s embed code below:


Just about every web app uses forms. From the humble “log in” form to the online shopping checkout form, forms are absolutely crucial to our digital lives, both as developers and users. To that end, I began learning about Selectize.js, which is a jQuery UI plugin that allows you to quickly build clean looking, powerful forms.

From the Selectize.js documentation:

Selectize is an extensible jQuery-based custom <select> UI control. It's useful for tagging, contact lists, country selectors, and so on...FeaturesSkinnable — Comes with LESS stylesheets and shims for Bootstrap 2 and Bootstrap 3 (+ precompiled CSS).Clean API…


Geolocation is one of the most important features of the modern internet. Apps like Google Maps, Tinder, and Yelp all depend on geolocation to serve their users relevant data based on their current (or changing) location. Advertisers use geolocation to display ads about nearby businesses or upcoming events “in your area.”

For a long time, getting user location data meant either asking for some kind of identifying information (literal address, zipcode, city, etc) via a form or using IP addresses to determine where a user was connecting from, which was a complicated process. Gems made it possible for people to…


CONVENIENT PLOT DEVICE: I am having a burrito party and everyone is invited.

Unfortunately, I am a burrito tyrant, and thusly, I have published a list of approved burrito ingredients for my party.

burrito_ingredients=["beans","chicken","cheese","lettuce","pico","sour cream"]

Because I am stingy tyrant I have further decreed that each burrito may only include three toppings, and we will turn to my Burrito Assembler: The Spirit of ’55 to determine everyone’s burrito fate.

The Burrito Assembler: The Spirit of ‘55 needs to know every possible combination of these burrito toppings so that it can have a master list from which to assign everyone a…


Database management can be a real pain in the patooty. Putting aside the grammar and syntax that must be learned, it’s easy to realize that the tables or columns you’ve been working on aren’t what the problem at hand calls for.

Fortunately, Active Record has a tool that lets you reverse incorrect migrations (kind of). Introducing…

db:rollback

What does db:rollback actually do?

db:rollback “undoes” the last db:migrate recorded in the schema.rb file of your project.

In other words, db:rollback doesn’t internally keep track of whatever your last db:migrate was; instead, it references your schema file and attempts to undo the…

Troy Chryssos

Developer, Songwriter, Bugbear Monk

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store