I finished up the first round of my side project: PeerGym
http://www.peergym.com let's you search for quality gyms in your area by membership price and amenities - the kinds of things services like Google Maps and Yelp don't do. Most people do a particular kind of workout (running, weights), and need special equipment (treadmill, barbells), and you can't always guarantee you'll know what you're getting just by the name and a few pictures.
It was mostly an excuse for me to learn Elixir and Phoenix. I've tackled auth, uploads, geolocation/geospatial DBs, SSL and more, so it's been a lot of fun and hopefully I can turn this into some sort of tutorial series on building out a real-world app.
For the future I want to add reviews, community edits, and advanced filters to make them easier to search and populate. And hopefully, accept payments if people want to buy passes to their gyms online (or automatically renew their memberships.
Nice, can you describe some of the interesting elements Elixir brought to development experience? How would you compare it to your previous tool of choice?
I'm a Rails developer so the transition was really smooth. I'm also very curious so I've tried a host of other languages in my time (Clojure, Haskell, Go, OcaML) so it wasn't too difficult to pick up. One thing I love is that if something isn't written in Elixir, you can just call the underlying Erlang library and have access to essentially two languages at once.
I also love how fast it is - things render extremely quickly even on a hobby dyno, which is impressive because that would never happen on a Rails side project. I also love the out-of-the-box ES6 support for JavaScript. Plus, I just really love writing in a functional programming style, so the language makes a lot of sense while retaining the ease of use when reading a language like Ruby or Python.
I think it's a nice project, well executed and sorta scratches an itch. I think if you actually want to try to get some usage, you're going to really have to put your business/growth hat on and really try and understand why people would use it, how they're going to find it, one or 2 key "wow" features, etc.
It seems like the focus is more to get one's feet wet with Phoenix/Elixir (especially as the OP refers to a tutorial series he wants to write) - not making this site into a wildly successful business
Definitely working on that right now. People constantly move and travel, so they will be google searching for "gyms near X", so one strategy is SEO.
The wow features I feel like are going to be in being able to buy gym passes online (and cancel them). Basically try and circumvent the terribly oppressive process of not being able to cancel your membership.
For auth I forked my own build of the Passport hex. For uploads I used the Arc hex, and for SSL I used Letsencrypt though I eventually realized that Heroku charges $20/mo for SSL and I'm not accepting anything like credit cards yet so it hasn't warranted the expense. Awesome-elixir is a great source for libraries, and it's had everything I needed so far:
My area only shows Crossfit gyms. Are there other gym types planned?
Also, although this appears more like a personal project and less like a startup, the ability to cancel a membership through this site would be great. Membership cancellation is one of the biggest pains with gyms today.
The original thought behind this experiment was to include quality gyms with a vast amount of equipment. Turns out that Crossfit gyms fit the bill there. I had a great data feed of them, so they represent about 90% of the gyms in the US on our list. The rest are smaller, mom-and-pop powerlifting and strongman gyms. If you sort by price you'll find many of those other gyms are listed on the site.
The next step is to offer passes online and allow you to cancel / augment your memberships. We just have to get the gyms on board :)
A lot of crossfit affiliates use the same software to do billing and manage membership logins. ZenPlanner and Mindbody are the most popular. You might have better luck going through them instead directly contacting the gym.
Also, how do you modify the data that is on there? There's incorrection information for my gym.
If you like this, you might be interested in my current startup Membi https://membi.co. It's a similar tool, for discovering sports and fitness venues in your local area. We're currently based in London, UK but growing quickly. Happy to have a chat if you want to know more.
How do gyms make it into the database? I'm looking at where I live (Brooklyn), and almost every single gym listed is a CrossFit gym. There are a considerable number of missing gyms.
Otherwise, this is awesome. I work out at home now, but when I was looking for a gym a while back, it was extremely annoying. New York is especially bad since most gyms are small and/or prioritize cardio equipment and weight machines as opposed to free weights. Anything with more than one squat rack is in Queens and/or has a huge price tag.
So the original idea for this was that I wanted to find quality gyms in my area with vast arrays of equipment. I specifically disregarded globos like Planet Fitness and WorkOutWorld, which have shady contracts and terrible policies.
So my initial feed was the 3500+ Crossfit gyms, plus an additional 600-700 powerlifting, weightlifting, and strongman gyms across the country. I knew these places would have great equipment, great staff, and the amenities fitness enthusiasts would need to get in a great workout.
That said, as you can see, Crossfit dominates more than 80% of my current results. If you sort by Price you may find a smaller, niche gym in your area that will likely be much cheaper and will accommodate your workout type.
My apologies! Most of the 4300 or so gyms are located in the US (where I'm based) so unfortunately I don't have a very vast network at the moment, but if you let me know where in north England you are I can see if I can find a few for you! Sign up and send me a message at team@peergym.com and I'll get you hooked up!
Yeah exactly, all the data is provided from Google Places API. I had hopes of somehow tying in other API's (facebook, yelp, etc.) to get more data (mainly reviews) for the different gyms. But, configuring the database for that was over my head at the time.
I think the idea of having an in house database that users could add information (type of gym, type of equipment, etc.) could be very powerful.
Your project seems to be heading down that route. I would love to help contribute!!
Are people supposed to be able to contribute to this? I'd love to update the info on the gym I go to (Price/equipment/etc) but I don't see a way to do so.
Yes! I wanted to have community edits available by the end of the week, but it's been a crazy week for me (I'm a competitive powerlifter and I have a full time software development job) so it's not out yet. If you sign up on the site I'll let you know as soon as that feature is available, or hit me up personally at team@peergym.com and I'll let you know when you can edit your gym's info!
It doesn't matter from a business side of things, but since this is the Hacker News community, and not a fitness enthusiast community, I wanted to have some common ground that would be interesting to the HN community :)
Bro, Dude, Guy - there are a lot of non-dudes, bros, guys out there that get left out by using those terms.
I would use Bro, dude, mate etc only with people that I know very well and are close to me in real life.
Idk, maybe its just me, but we talk about trying to include everyone and then go ahead and use these terms?
Is it a complaint or a thing that caught my eye in a world dominated by white males?
TBH I thought of it more as of a feedback, especially because the elixir community is in full bloom and it would be a shame to showcase a project on HN that uses that kind of language :)
Then again I'm a white dude myself, but I notice things...sue me!
I wondered if that lack of gender-netrual naming would catch someone's eye. It was an overly-subtle attempt to lampoon the gym culture you see (e.g. BroScienceLife), but right now the 4300 gyms we have are mostly centered around the United States, so if you are missing gyms in your location feel free to let me know a general location you'd like me to add gyms and I can help you out and add some manually.
This is correct! You're likely in a smaller demographic where I don't have a lot of price information. I haven't fully fleshed-out how I want to handle this, originally I wanted to order by any that had a price (lowest to highest), and THEN show the remaining gyms which have no price info (as by default they are listed at 0 dollars in the DB, I think).
Super fast performance, easy to develop in, and great functional programming environment with being able to call libraries from both Elixir and Erlang.
1) signup: state your password constraints up front, and when a chosen password doesn't qualify, the "oops" message overlays the email address. Then rather than have the "Your account was created" in tiny type at top, have it overlay the "Create your free account" button.
2) having signed up, there is no indication of where to go; there is no sign-in directive. (Note: the Google map has its own sign-in button which could get confused for your site sign-in. And I received no emailed confirmation.
3) Aside from Crossfit, the only nearby gyms that show have very little data to show why they qualify,
4) rather than a blanket "who's best" concept, you might consider having categories. Somebody looking for Olympic lifting will not want a conventional gym, and vice-versa.
Maybe something like:
- "basic" gyms (some cardio equipment, perhaps weight machines, and at least dumbells or kettlebells)
- "common" chain-type gyms like 24 Hour or Gold's that have a lot of cardio equipment, machines, and free weights but not necessarily an Olympic or Powerlifting platform
And searchable by feature set, e.g.
- showers and lockers
- instructor-led group classes, like spin classes
- childcare
- pool
- spa
etc.
(I'm not saying you should recommend chain gyms, but they do have the basics that satisfy a majority of patrons... crowdedness aside)
55 comments
[ 3.0 ms ] story [ 80.7 ms ] threadIt was mostly an excuse for me to learn Elixir and Phoenix. I've tackled auth, uploads, geolocation/geospatial DBs, SSL and more, so it's been a lot of fun and hopefully I can turn this into some sort of tutorial series on building out a real-world app.
For the future I want to add reviews, community edits, and advanced filters to make them easier to search and populate. And hopefully, accept payments if people want to buy passes to their gyms online (or automatically renew their memberships.
Great to see Elixir getting more use!
I also love how fast it is - things render extremely quickly even on a hobby dyno, which is impressive because that would never happen on a Rails side project. I also love the out-of-the-box ES6 support for JavaScript. Plus, I just really love writing in a functional programming style, so the language makes a lot of sense while retaining the ease of use when reading a language like Ruby or Python.
The wow features I feel like are going to be in being able to buy gym passes online (and cancel them). Basically try and circumvent the terribly oppressive process of not being able to cancel your membership.
https://github.com/h4cc/awesome-elixir
Also, although this appears more like a personal project and less like a startup, the ability to cancel a membership through this site would be great. Membership cancellation is one of the biggest pains with gyms today.
The next step is to offer passes online and allow you to cancel / augment your memberships. We just have to get the gyms on board :)
Also, how do you modify the data that is on there? There's incorrection information for my gym.
This could be really interesting for us if ever there's traction. I'm particularly interested in ratings and reviews and the filtering capability.
Otherwise, this is awesome. I work out at home now, but when I was looking for a gym a while back, it was extremely annoying. New York is especially bad since most gyms are small and/or prioritize cardio equipment and weight machines as opposed to free weights. Anything with more than one squat rack is in Queens and/or has a huge price tag.
So my initial feed was the 3500+ Crossfit gyms, plus an additional 600-700 powerlifting, weightlifting, and strongman gyms across the country. I knew these places would have great equipment, great staff, and the amenities fitness enthusiasts would need to get in a great workout.
That said, as you can see, Crossfit dominates more than 80% of my current results. If you sort by Price you may find a smaller, niche gym in your area that will likely be much cheaper and will accommodate your workout type.
Reminds me of my first node/angular project http://gymnear.com/
My data is sourced in-house specifically because I didn't want to include globos that had crappy policies or insufficient equipment.
I think the idea of having an in house database that users could add information (type of gym, type of equipment, etc.) could be very powerful.
Your project seems to be heading down that route. I would love to help contribute!!
First issue. I click an icon on the right yet the menu it controls opens on the left.
> Sorry bro! We couldn't find any gyms in your area, so head up to search bar and try again.
when there are gyms displayed for same area when sorted by location
edit: looks like it's triggered when area's gyms don't have any associated prices
This discussion fleshes out some of the benefits:
https://news.ycombinator.com/item?id=9427371
1) signup: state your password constraints up front, and when a chosen password doesn't qualify, the "oops" message overlays the email address. Then rather than have the "Your account was created" in tiny type at top, have it overlay the "Create your free account" button.
2) having signed up, there is no indication of where to go; there is no sign-in directive. (Note: the Google map has its own sign-in button which could get confused for your site sign-in. And I received no emailed confirmation.
3) Aside from Crossfit, the only nearby gyms that show have very little data to show why they qualify,
e.g. http://www.peergym.com/gyms/catalyst-athletics has almost no data, yet it qualifies, while 24 Hour and Gold's do not
4) rather than a blanket "who's best" concept, you might consider having categories. Somebody looking for Olympic lifting will not want a conventional gym, and vice-versa. Maybe something like:
- bodyweight exercises (martial arts, yoga, aerobics studios
- "basic" gyms (some cardio equipment, perhaps weight machines, and at least dumbells or kettlebells)
- "common" chain-type gyms like 24 Hour or Gold's that have a lot of cardio equipment, machines, and free weights but not necessarily an Olympic or Powerlifting platform
And searchable by feature set, e.g.
- showers and lockers
- instructor-led group classes, like spin classes
- childcare
- pool
- spa
etc.
(I'm not saying you should recommend chain gyms, but they do have the basics that satisfy a majority of patrons... crowdedness aside)