beerPilgrimage 2.0

When I first decided to build beerPilgrimage, it was a shoot-first-ask-questions-later sort of thing. While this is pretty common among developers, it doesn’t always make the best end product.

Fortunately, the site has collected feedback from lots of users, showcasing some pretty obvious areas for improvement. Today, I’m excited to launch beerPilgrimage 2.0!

New Features

One of the biggest issues with v1 was the map view. While this worked pretty well on desktops, it was absolutely miserable on mobile. Pinching and zooming was a pain. Even on desktop, the map markers didn’t offer any information about the location.

The default view on both platforms is now a card-based layout that presents a bunch of pertinent information up front. What the map did convey well was where in your trip a stop fell. To keep that value, I added an indicator at the top of the view that shows how far along you are on your trip based on your scroll position.

The map, of course, is still available via the View menu.

Toast Your Favorite Brewery

I’ve always wanted to find a way to monetize beerPilgrimage at least a little. Rather than traditional ads or charging anyone money, I decided to crowd-source funds and recommendations all at once. Any user can now visit the toast page, find their favorite brewery, and make a contribution to beerPilgrimage on that brewery’s behalf. The brewery will be highlighted in search results for the next 30 days, and will also receive a gold star icon on the map, hopefully drawing more attention to it from potential visitors!

Straight to Google Maps

Printing directions isn’t exactly environmentally friendly, and a lot of people don’t even have printers! Taking beerPilgrimage on the road with you is now easier than ever. Once you’ve added stops to your trip, there’s a button to ship your trip over to Google Maps. If you’re on your phone, this will even open up the app.

Not Done Yet

I’m super happy with the new product, and I hope you find it useful! There may still be bugs to address, so be sure to reach out and let me know if you encounter any.

One thing I’ve struggled with on the site is the potential for breweries to be closed when you get there. Soon I hope to implement the ability for you to add a date and time to your trip. Then I can compare drive time against a brewery’s hours to give you a heads up if they might be closed when you get there.

Look out for the addition of information about a brewery’s specific beer options, as well as whether or not they have food available. Ultimately, beerPilgrimage should be a place where you can get all the information you need without going offsite.

With a much more sound product out there for building on, I want to start considering the future of beerPilgrimage beyond the website. Keep an eye out for information about some real-world tie-ins that should grow the beerPilgrimage footprint.

In the meantime, if you’d like to write for the blog and share your beerPilgrimage experiences, hit me up! Perhaps your trip will be an inspiration to someone else trying to decide where to go next.

And for the geekier among us, the new tech

The original implementation was built on the Yii PHP framework with the front-end built in Angular.js. It was my first foray into Angular and I was pretty fresh with Yii.

While there isn’t anything inherently wrong with either platform, one thing did bite me pretty hard. Yii is set up so that you can build a “starter app” or a full application. There isn’t a great way to migrate from one to the other, so ultimately, my starter application was missing a lot of bells and whistles. The Angular code, on the other hand, was just plain messy.

At my day job, a coworker had introduced me to Laravel, the darling of PHP MVC frameworks. I grew quite fond of Taylor and Jeff and quickly decided that when beerPilgrimage was inevitably rewritten, it would be with Laravel. The framework on the whole feels better supported, more mature, and does a great job of leading developers down a path of writing quality code.

I drank the Kool-Aid in whole, dropping the front-end for Vue.js. Vue has lots of fans in the Laravel community, and I’m no different. It’s light and accessible, with a growing community offering most anything I could want.

The whole thing is still tied to the BreweryDB database and pulls ratings from Yelp!. The app is now a bit smarter—if it can’t find a Yelp! rating, it’ll do a little searching to try and self-correct, resulting in more coverage.

Finally, I launched the project via Laravel Forge, a great project that allows me to manage a variety of DigitalOcean servers. My personal projects and my clients all get their own, scalable VPS. It’s awesome.