The engineering blog of ticket marketplace SeatGeek, covering map rendering, data pipelines, FuzzyWuzzy, nginx and Vault.
Commenters call it an interesting code and design blog, and one discovered SeatGeek through its post on canvas map interactions.
Company: SeatGeek (https://seatgeek.com/), App (https://play.google.com/store/apps/details?id=com.seatgeek.android)
Job: Android Engineer (https://grnh.se/ormck1)
Location: New York, NY
Allows Remote: in the US
Visa: No
SeatGeek’s mission is to help the world experience more live – concerts, sports, theater, and more – and our Android app is vital to making that vision a reality. Our humble, yet bold goal since we launched SeatGeek on Android has been to set the standard for live events on the platform. Live events are a source of real human happiness, we’re doing what we can to make sure ticketing doesn’t get in the way.
We care deeply about our product and user experience, so we look to hire people that are motivated and driven to deliver Android UI’s that are second-to-none by working closely with our product and design teams from start to finish on each feature we ship. We’re also committed to strong engineering practices and much of our app is built around great tools like RxJava, MvRx, Epoxy and Kotlin to make our development experience more enjoyable; we’re always looking to improve.
For more information about SeatGeek, check out our jobs page (https://seatgeek.com/jobs) and ChairNerd (http://chairnerd.seatgeek.com/), our product development blog. We’re building something that's purposefully, willfully for Android, through and through. We’re defining live events on Android and we're hoping you can help.
I'm Stephen, the manager on our Android team here and…
Shameless Plug: I work for an NYC-based startup - SeatGeek.com - that is basically this[1]. We used to do forecasting but found that wasn't really useful[2] or worth the time it took to maintain, so we nixed it.
- [1]: As an example, here is the Firefly event the OP was scraping. : https://seatgeek.com/firefly-music-festival-tickets
- [2]: We haven't included Craigslist because the data is much less structured and inexperienced users may have a Bad Time™. YMMV
- [3]: It was also a royal pain in the ass to maintain. I know because I had to update the underlying data provided to the model, and also modify it whenever available data changed :( . Here is a blog post on why we removed it from the product in general: http://chairnerd.seatgeek.com/removing-price-forecasts
Nice post.
Looker (http://looker.com) is an alternative to Periscope that a ton of venture-backed tech companies are using (mostly in conjunction with Redshift). Here are two posts from Buffer and SeatGeek on their stacks using Redshift, Luigi and Looker. Buffer: https://overflow.bufferapp.com/2014/10/31/buffers-new-data-architecture/. SeatGeek: http://chairnerd.seatgeek.com/building-out-the-seatgeek-data-pipeline/
Looker does not necessitate each member of the team to know SQL to explore the data or create reports. It also has a text-based modeling language that is a thin abstraction layer of SQL. It makes SQL modular and reusable making it far more efficient to support a wide range of analysis. It's more expensive than Periscope, but it's way more powerful.
A bit off topic, but seatgeek seems like a really impressive engineering organization. They pump out some seriously useful code and articles. Examples:
http://chairnerd.seatgeek.com/oauth-support-for-nginx-with-lua/
https://github.com/seatgeek/sixpack
https://github.com/seatgeek/fuzzywuzzy
https://github.com/seatgeek/djjob
https://github.com/seatgeek/soulmate
http://chairnerd.seatgeek.com/spatial-data-structures-for-better-map-interactions/
That's enough ass kissing for me. But they deserve some serious props for all the open source work they're doing.
All you kalman filter fans out there will be happy to hear that you can grab a ride from SideCar and some Giants tickets from SeatGeek[1] for a truly algorithmic afternoon.
1. http://chairnerd.seatgeek.com/using-a-kalman-filter-to-predict-ticket-prices/
Good name! Looks like SeatGeek use that naming convention here: https://chairnerd.seatgeek.com/transactional-outbox-pattern/
This looks like a good definition too: https://www.milanjovanovic.tech/blog/outbox-pattern-for-reliable-microservices-messaging