Wow--I really clicked with this immediately--super intuitive. Also, holy crap is it fast--instant results.
Some initial reactions/suggestions:
- I want to be able to edit entries in a list in-line. When I looked at it on my Android phone, each word's link was separated which made me think I could click each element individually to change it in place vs. having to re-enter it on the right panel. Think of it like Google or Pinterest's search interface where you modify individual words in place vs. doing it somewhere separate. For modifying integers, you could even use a dropdown or scroll menu on mobile since numbers would likely be relatively low.
- When I have the input field selected, pause the animation. In fact, maybe make it stop looping once I've entered one or a couple things. It is distracting and I've shown I understand how to use the box. Instead, consider putting static text examples somewhere below--an input key if you will.
- You have an engaging hook--let me take the next step of engagement. Add user accounts and the ability to save lists as recipe's or shopping lists, share them, and list the most popular ones based on shares. Instant boost to k-factor.
- In the list below the bar graph, I'd love to see line-item nutritional stats (perhaps marked by corresponding graph series color) for contribution of total calories of that type. For example, I have a smoothie recipe with 1C almond milk in it. Without clicking on it, I should be able to see displayed both the absolute values as well as the percentage of total recipe calories, carbs, fat and protein the line item is adding.
- Let me make lists of lists, list of lists of lists, etc.--ie. menu planning. A list is a recipe, a list of lists is the menu, a list of lists of lists is a weekly meal plan that would be awesome to plug into Amazon Fresh or something of the sort (if it had an API). Let me buy n-deep lists with a click.
- Consider showing the source of the data for users to verify or investigate further. If I am substituting something for one of your entries though that you don't have, I should be able to enter my own custom items as well as their nutritional information. This obviously is easier to implement for individual users and their shared recipes vs. incorporating in to your master lookup data.
- The mobile interface is slick, but I'd love a native app down the line as well.
- Let me upload a photo(s)--particularly on mobile where I might have made something, want to snap a photo, toss together the recipe quickly, and share it out. Think Instagram for recipes.
Would love to know more details about the project.
1. What did you use for building the front/back ends?
2. How did you make it so blazing fast?
3. What's your data source?
4. What made you decide to launch this? Consider adding an "About" page.
Thank you! These are all great suggestions. I am probably just going to go down the line and add most of these. I want to stray away from user accounts because they take time and resources, but I'm not sure if that's the right call. I'm erring on the side of improving the core functionality before the user accounts. The list of lists is also a great idea, that should probably tie in with user accounts.
FYI you can enter custom foods (primitively) by typing e.g. 500, 20g, 30g, 37g. This definitely should be improved in the future though.
Pics, or some clip-art style stuff would be a good idea for giving more feedback on what is entered. The larger idea of pictures is good but I'm not going to pursue it right now.
Data source is USDA along with a bunch of other various sources that I scraped. I believe scraping is 100% legal here because nutrition labels are not proprietary.
I will add an about page, that is a good idea. Backend is Python/MySQL on DigitalOcean. DigitalOcean was a hassle (not DO itself, but just getting the server set up) but I have been learning a lot. It's fast because I spent a long time optimizing how queries were analyzed and the MySQL queries themselves.
For how fast this is: Websockets! I was playing around with it, watching the network traffic. You'll see you get 101'd (Switching Protocols) to spe.lt:8080. If you hit that URL, you'll get a default page that says:
AutobahnPython 0.10.4
I am not Web server, but a WebSocket Endpoint.
You can talk to me using the WebSocket protocol.
You can see a little bit more in main.js as well. As for the backend, it's looking like Python, considering the WS page. I am curious about 3 and 4 as well, and as the actual frameworks used for 1.
Very nice work to the person who made this.
Edit: I'd also love to know if this ever is open sourced. Understandable if not. Very cool tool.
Thank you! Websockets speed it up a little, about ~20-50 ms. I am a fan of open source, I would consider open sourcing part of the backend if I can turn it into a library that is useable.
Some initial reactions/suggestions:
- I want to be able to edit entries in a list in-line. When I looked at it on my Android phone, each word's link was separated which made me think I could click each element individually to change it in place vs. having to re-enter it on the right panel. Think of it like Google or Pinterest's search interface where you modify individual words in place vs. doing it somewhere separate. For modifying integers, you could even use a dropdown or scroll menu on mobile since numbers would likely be relatively low.
- When I have the input field selected, pause the animation. In fact, maybe make it stop looping once I've entered one or a couple things. It is distracting and I've shown I understand how to use the box. Instead, consider putting static text examples somewhere below--an input key if you will.
- You have an engaging hook--let me take the next step of engagement. Add user accounts and the ability to save lists as recipe's or shopping lists, share them, and list the most popular ones based on shares. Instant boost to k-factor.
- In the list below the bar graph, I'd love to see line-item nutritional stats (perhaps marked by corresponding graph series color) for contribution of total calories of that type. For example, I have a smoothie recipe with 1C almond milk in it. Without clicking on it, I should be able to see displayed both the absolute values as well as the percentage of total recipe calories, carbs, fat and protein the line item is adding.
- Let me make lists of lists, list of lists of lists, etc.--ie. menu planning. A list is a recipe, a list of lists is the menu, a list of lists of lists is a weekly meal plan that would be awesome to plug into Amazon Fresh or something of the sort (if it had an API). Let me buy n-deep lists with a click.
- Consider showing the source of the data for users to verify or investigate further. If I am substituting something for one of your entries though that you don't have, I should be able to enter my own custom items as well as their nutritional information. This obviously is easier to implement for individual users and their shared recipes vs. incorporating in to your master lookup data.
- The mobile interface is slick, but I'd love a native app down the line as well.
- Let me upload a photo(s)--particularly on mobile where I might have made something, want to snap a photo, toss together the recipe quickly, and share it out. Think Instagram for recipes.
Would love to know more details about the project.
1. What did you use for building the front/back ends?
2. How did you make it so blazing fast?
3. What's your data source?
4. What made you decide to launch this? Consider adding an "About" page.
Awesome stuff.