The feedback is in - looking forward

So after the last update I got a ton of mixed feedback. I expected the responses to be mostly positive seeing as how the site didn't lose any functionality and the ability to add things and then generate to "autocomplete" added a lot of power to the tool. It seems however that I did nix one of my stronger features - the simplicity of the food choosing interface. Dragging individual foods into each meal adds a lot of work for the user, and while I expected some people to be annoyed by it, I figured it was forgivable in exchange for the extra customizability.

Before I talk about the next update, I did make a quick update earlier this week adding a "metric units by default" option. It makes any foods that would generate with ounces, cups, or lbs by default change to using grams. Should add some convenience for people who were constantly switching things to metric units.

The next update is going to be one of the most significant ones we'll have made yet - we should finally have the recipe interface in, and with that, much more reasonable meals. I say "we" here because I've signed on the help of my friend Zach Polke to help build the site. With this, the site should be seeing progress way faster than when I was working by myself.

Anyways, including recipes is requiring a major rewrite of the meal generating algorithm. Food selection should be simpler as you'll be selecting classes of foods and recipes that you like in your diet, and the newly added meal structure should make these diets look much more like something a human would eat. These are sounding like some pretty lofty goals, but I'm optimistic.

Swole.me is now more interactive. Give me your feedback!

I just finished uploading the updated version of Swole.me. When I said last week that I thought it would take a week to finish, I figured a week was being seriously conservative and that it would take two days. Setting up everything to smoothly transition to Django ended up being way more work than I thought it would be, but at least the timetable I posted was accurate for once.

Anyways, here's a rundown of what's different about the new site:

  • There's no more "generate and then edit with the sandbox mode." Before, you couldn't go back to the generator from the sandbox because there were some issues with the generating algorithm if you started with nutrients that were outside of its ideal range. The algorithm is a little more flexible now, so now you can freely generate -> edit -> generate. The generator is now essentially an autocomplete.
  • You can add your own custom foods if you log in.
  • You decide what foods the generator picks from for each meal. Despite the extra customizability, this is unfortunately a lot more work for the user. I've tried to offset this by offering some decent random food pairings that adhere to a specific diet. There's a lot of room for improvement in the random pairings, so that's something to look out for in the future.
  • The pages are formatted for printing, so either press the print button or Ctrl-P/Command-P.
  • Each food item has customizable units, including metric units. 
  • USDA food database with mostly readable names. I spent a lot of time going through the database and cleaning up the absurdly long names by splitting them into a simpler name + description. There's still a lot of work to be done here, along with some kind of ranking for better search results.

As soon as I updated it, I received some feedback in the form of a tweet: 

So irritated. Recently found  and loved it. Logged in today and I hate it! Not digging the changes. Anyone know of another site?

Jokes on them, there are no similar free sites! (yet). The site is mostly the same plus a ton of added features, so I'm guessing the added busy-ness of the interface is what caused the negative gut reaction. Hopefully that's something else I'll have time to work on.

Anyways, now It's time to start working on building out a recipe system, and possibly try out a business model or two. Let me know if you have any feedback for the site - I'd love to hear it.

Update incoming. Some good news and some bad news.

About a month ago, I said I would be finished the update in two-three weeks. Today, I'm thinking I'll be finished within a week. I'm only off by a factor of ~2, not bad!

The good news is that the new interface of the site is looking really good, and searching the food database and adding custom items works well. I don't mean to pat myself on the back too much here, but I pretty much get a quarter chub every time I look at it. Hopefully you all will feel the same ;-)

The bad news is that the format that diets and foods are stored is completely different, and not easily translatable to from the old format. This means that everyone's saved diets will be erased, so if you're really invested in any of them, I'd suggest printing them out via screenshot. I'll send out an email a few days before the update reminding everyone with an account about this.

Some of the improvements:

  • The generator and sandbox mode are no longer separate. You can generate a diet, move things around, lock what you like in place, and keep using the generator. It works sort of like an 'autocomplete' now.
  • Food database of about 6000 foods with an instant search.
  • Custom foods for logged in users.
  • Each food has many different measurement units, and you can seamlessly switch between them without messing up the food amount.

Premature attention! And some updates.

Lifehacker posted about swole.me today! Thanks to some help from my brother at padmapper, I managed to fix the loading times after an hour of getting slammed from all the traffic.

I'm a little upset that the site it getting so much attention right now though - I think I'm about two-three weeks away from making my next update, which should hopefully put the current version of the site to shame. The move to Django went pretty well, and then I realized that if I wanted to include recipes and custom foods, I'd need to rewrite a lot of the frontend. So that's what I've been doing, and I'm almost done.

My timeline at the moment looks something like:

  • Finish the redesign, including a large food database
  • Include custom foods, i.e. enter your own nutrition values for a new food item
  • Build out a recipe entry system and include recipe recommendations in the generated diets.

I'm really excited about the recipes part - as soon as I finish that is the day I'll learn to cook. Wanting something to tell me how to eat and what to buy is probably half of my motivation for building this site.

If you're seeing the site for the first time, thanks for stopping by and let me know if you have any feedback!

What's going on 'round here

Since I last posted, I quietly released an update that adds user accounts and grocery lists. The functionality is pretty basic, but hopefully some of you will find it useful. One caveat is that the foods in the generator are mostly cooked, and you probably won't be buying pre cooked foods from the grocery store. 

I've been putting off what is probably the most meaningful update I can make, which is adding full access to a food database and the possiblity for custom foods. This is, unfortunately, going to take me a while since I need a more robust user framework to handle custom foods, but I'd like to make the switch anyways for some better upwards scalability.

The good news is that I've made some awesome development progress this weekend, and I'll probably release an update this week. It will mostly be a fix for current issues; I made some changes to the generating algorithm to better deal with locked foods, the generator should be less likely to freeze browsers on slow computers, and I fixed a major issue where you couldn't properly load a saved diet that had locked foods in it.

Once that's all squared away, I'm going to put all my efforts into setting up the rest of the food database, and then to set up the site on the Django framework to deal with user foods. I've said all this before, but for real this time. Seriously.

For those of us in the U.S., happy Thanksgiving!

Updated. More to come.

So I finally updated the site last night. Functionally, there aren't a ton of differences, but from now on I'll be making more frequent incremental updates.

Here's what's different for you:

  • Shows micronutrients
  • Vegetable recommendations based on micronutrients
  • Saves last generated diet and reloads it when you load the page
  • More customization in the generation options
  • A bunch of small bug fixes

Soon to come updates:

  • USDA food library
  • Easily printable page
  • User accounts with multiple saved diets, grocery lists from these saved diets

Further off updates that I really need to work on:

  • Recipe database and recommendations
  • Smart food pairings
  • User foods

The new site had to be almost entirely rewritten to use the USDA food database which is why it took so long. That, and moving back to California and getting a job. I haven't put ads up since I'm looking for a better way to monetize. I'll probably put up a forum with ads on it at some point, and maybe some awesome nutrition articles with referral links in them. Stay tuned for the "Soon to come" updates!

 

Getting closer! Also, PlayKast

The next iteration of the site is shaping up pretty nicely - sorry it's taking longer than expected, but it should be worth the wait. In the meantime, I made this PlayKast, a form of video sharing from this startup a friend of mine is working at. He asked me to work in something fitness/nutrition-esque, so naturally I picked my favorite scene from Pumping Iron with Arnold Schwarzenegger:

I'm not sure if it's open for you guys to add your own, but if it is, feel free to add your own favorite workout scenes from movies.

Still alive

It's been a while since I've made any updates, so I thought I would write something to keep anyone who happens onto this blog from losing hope after seeing that my last post was over a month ago.

I've found a job in a population genetics lab back in LA, so my work on the site might be moving a little slower from now on. Chances are it will be pretty similar to how it was before though; it's only a part time job and the extra programming experience I get there might help me move a little faster when I'm working on the site at home.

So as far as progress on the site goes, I've been moving depressingly slow. I started learning Ruby on Rails to get a framework going that I could use to handle recipes and user pages, but I've since been told that rails would be totally unecessary and that PHP would serve me just fine. I haven't played with PHP in a while, but once I get the hang of it again I'll hopefully start making more steady progress.

Here are the features I'm looking to add within the next few updates:

  • User accounts (though the same functionality could probably be had from storing a few cookies)
  • Save diets to your account
  • Recipe input form
  • Save recipes to your account
  • Generate a grocery list from a chosen list of diets
  • Include recipes in the generated diet
  • Include vegetable suggestions based on micronutrient requirements (no lie this time)

Most of this relies very heavily on the USDA food database I downloaded. Unfortunately, the foods in it are terribly labeled and I haven't thought of a good way to browse it yet without spitting 50 irrelevant foods back at you when you type in what you want. Stay tuned!

Updates: Metric units, bacon, and fewer foods per meal

After a long radio silence, I just pushed an update with a few updates. I added a rough implementation of metric units - you have to go all or nothing with them, and you can't switch back and forth without reloading the whole site, so you had better make up your mind before you craft a masterpiece diet.

I also added a few foods - quinoa (something I've started eating a lot of; I find it a lot more palatable than brown rice as a main carb source), greek yogurt, sour cream, different ground beef fat concentrations, and last but not least, bacon. 

Lastly, and what probably took me the longest time, was an alteration to the meal generating algorithm. It should now have a tendency towards 3 or fewer items per meal, though if it can't manage that it will end up throwing more items in. Giving several different meat/entree suggestions per meal was a pretty big downside before, and that should happen less often now.

My original plan was to work on custom food items and saving to cookies first, but I'd like to start learning Rails for an account system and recipe pages, so I'm going to take some time and see where ruby can take me. Other things I need to work on are printing/exporting to a pdf or excel file and vegetable suggestions based on micronutrients, so I'll be working on those on and off between Rails sessions.

Here's what I'm hoping I'll accomplish with Rails: saving of meal plans to user accounts, saving custom food items, generating grocery lists from a set of selected meal plans, and recipe pages, either from sponsored recipe books or user uploaded recipes. I have a feeling learning Rails could be a long and grueling process, but I'd like to learn it regardless, and now I have a project I can apply it to.

I'll try to log more incremental update progress in the blog, and also maybe get into writing about my thoughts on fitness and nutrition. Let me know if you have any particularly interesting topics in mind that I can research!

Beyond sandbox mode

I pushed sandbox mode to the site a couple nights ago and neglected to post about it. If anything doesn't work for you or you find some bugs, please let me know.

My next efforts are going to be in letting the diets save to a browser cookie, then custom foods, a small database of recipes from allrecipes.com, and the ability to input an allrecipes.com url to import the recipe to the generator. 

Changing the generating algorithm itself should come after that and will likely take a while. I need to lay out some ground rules for how meals are developed, like 1 meat max, 1-2 carb dishes, and the rest filled out by other food items with a max of maybe 4 foods per meal. Vegetables will also be included based on micronutrient requirements for the day. Recipes will probably have to be categorized and then added according to the same constraints as the other types of dishes.

Other than that, I'm probably gonna take a break for the next couple days now that the sandbox mode is finished. I feel like I should start blogging about interesting things rather than just making this development log, so my next blog post may be about fitness or something crazy like that.