As I write this, MacroFactor (our food logger and nutrition coach app) has been out for a little more than a week. This is the first article in a three-part series, which I’m writing for a few reasons. First, I believe in being as transparent as possible. If we’re going to ask you to open up your wallet, I think it’s important that there’s enough public information about it for you to make an informed purchasing decision. There’s plenty of information about the app on the sales page, obviously, but my primary aim for this article is to inform you (not to sell you; however, that will be hard, because I love this app). Second, I’d like to explain why some things about MacroFactor are the way they are; some of the decisions we made may initially seem a bit confusing if you don’t know the reasoning and considerations that went into those decisions. Third, I’d like to briefly discuss how we aim to improve the app over time. Fourth, I (selfishly) want to have a repository of thorough answers to many of the questions we’re asked the most frequently, so I can copy and paste those answers moving forward.
The Genesis. Or, the story of a spreadsheet.
The story of MacroFactor, like all great stories, starts with a spreadsheet.
On March 25th, 2015, I released a spreadsheet called the “Self-Correcting Macro Plan” as a freebie for people who preordered a pair of books we published. In June of 2015, I added it to a little bundle called the “Training Toolkit,” where it lived for several years. The idea behind the spreadsheet was simple: log your daily calorie intake, log your weight each day, and the spreadsheet would calculate how large of an energy deficit or energy surplus you were in. From there, you could calculate your daily energy expenditure by subtracting your energy deficit or surplus from your average calorie intake. Once you knew your daily energy expenditure, you could calculate your calorie targets for the next week to gain or lose weight at the desired rate.
To illustrate, let’s say your average weight last week was 180lb, your average weight this week was 179.2lb, you consumed an average of 2500kcal per day over the past week, and you wanted to lose a pound per week.
To start with, you just calculate the rate of weight loss: 0.8lb per week. From there, I used the standard rule of thumb that a pound of weight loss required a 3500kcal deficit for the week to calculate the energy deficit represented by 0.8lb of weight loss: 3500 * 0.8 = 2800kcal for the week, or 400kcal per day. Since you consumed 2500kcal per day, and you were in a 400kcal deficit, that means you were burning 2900kcal per day. Finally, you want to lose a pound per week (which means inducing a weekly deficit of 3500kcal, or a daily deficit of 500kcal), so you could calculate your calorie target for the next week: 2900 – 500 = 2400kcal per day.
It was a nifty little product, and I’m still quite proud of it. Back then, I was even dumber than I am now (if you can even believe that), and this little spreadsheet demonstrated the limits of both my knowledge and, more embarrassingly, my MS Excel skills.
Unfortunately, the product wasn’t very good. I’d say it “worked” about 75% of the time, but a 25% failure rate is pretty bad. The problem was that the spreadsheet freaked out if you experienced any large weight swings. If you stuck to your diet pretty well, and you’d been bulking or cutting for at least two weeks, the sheet was surprisingly effective at manipulating calorie targets to keep you on track. But when you changed your goal, and experienced a large shift in water weight? Whoo Nellie, hold onto your hat, because my little spreadsheet was about to take you on a rollercoaster ride. If you were aiming for one pound of weight loss, but you shed four pounds of water weight, the spreadsheet would bump your calorie target up by 1500kcal per day. That’s … a grossly inappropriate adjustment.
So, I just started telling people “if you switch from a bulk to a cut (or vice versa), stick with the initial calorie targets for three weeks before making any adjustments.” With that advice in place, my little spreadsheet did a pretty admirable job. It would still occasionally make adjustments that were larger than may be advisable (maybe resulting in swings in daily calorie targets of 200-300 calories or so), but it did a fairly good job most of the time. However, since smaller swings in body weight do randomly occur, even if you stick to your diet like a robot, it would still make bad recommendations with some regularity. It was also basically unusable for women who experience notable swings in body weight associated with their menstrual cycle.
I felt like I was on the right track overall, and I had an idea to fix the issues that remained: I needed a way to smooth out the weight values, without smoothing them out so much that the sheet would be slow to pick up on trends as they were developing. I mentioned this in a YouTube comment in a video about the spreadsheet. That comment would turn out to be very fortuitous.
However, right around the time the lightbulb was starting to come on, I was finally starting to grow up and learn the meaning of “stay in your lane.” I was not a “nutrition guy,” nor did I have any desire to be. I let the spreadsheet go dormant, dropped it from the bundle when we released new training programs, and stopped writing about nutrition almost entirely.
One of the reasons we hired Eric Trexler (and subsequently made him a partner at Stronger By Science) was so he could manage the nutrition side of the business. When I was trying to convince him that being a blogger is a lot cooler than being a tenure-track professor and explaining the things we’d want him to work on, I showed him my dusty old spreadsheet. I floated the idea that it could potentially help with the coaching program (making macro adjustments a bit easier for our coaches who do nutrition coaching), could potentially function as part of a new lead magnet (since the 28 free training programs have been our email hook for AGES now), or could potentially be a new product to sell, if he put some work in to improve their functionality. He seemed interested, but other plans came up – Eric took over managing the coaching program, took on a ton of coaching clients, and joined the MASS research review – so the spreadsheet once again fell by the wayside.
Then one day, out of the blue, I woke up to a very long message on Reddit about my old, tattered, neglected spreadsheet.
I was intrigued. I missed that old spreadsheet, and I knew it could be something great with a little love and a lot of polish. I was even more intrigued, since these developers were offering a partnership rather than a work-for-hire system (that’s how I prefer to do things whenever it makes sense; everyone has a real stake in the product, and everyone’s interests are aligned), and since they lived nearby (if I’m going to work with someone long-term, I want to be able to meet them and shake their hand). It also sounded like their areas of expertise were perfect for this sort of project.
After that initial contact, we chatted, they showed me the rough v0.0.0.0.0.0.1 version of the app, and I immediately knew this app had the potential to be something special. The first build was WAY pre-food logger. It basically answered the question, “hey Greg, how well would that old spreadsheet manipulate calorie targets if we ironed out all of the kinks and weird behaviors?” The answer: it worked like a charm.
We formed a partnership, and it’s been a mad dash rush to get a great product to market. Our alpha and beta testing periods were especially productive. We love all of our early testers. They provided amazing feedback to help us make sure the launch-day feature set would make most people happy. That’s more-or-less the story of MacroFactor, from inception to the present day.
My biggest lesson from all of this: commenting on YouTube videos is a great use of time. You never know which YouTube comment will drop a pair of outrageously talented app developers into your lap. The more you comment on YouTube videos, the more chances you have to get lucky. It’s like the lottery: if you buy enough tickets, you’re guaranteed to win eventually.
In all seriousness, I think it’s worth recounting the story of MacroFactor to head off a question we’ve already been asked and an … insinuation … I’ve already seen percolating: MacroFactor was not (to use some of the exact terms being thrown around) “heavily inspired by” other apps on the market with similar functionality, and we’re certainly not “imitating” them; I’m sure you can understand what’s being implied. My humble little spreadsheet, on which the core functionality of MacroFactor is based, came to market before the three apps we view as our most direct competitors: Avatar Nutrition, Carbon Diet Coach, and RP Diet Coach.
To be clear, I’m absolutely not trying to flip the implication. I’m certainly not implying that any of them copied me (and I’m sure I wasn’t even the first person to have the idea upon which the spreadsheet was based). My understanding is that the functionality and logic of all four apps in this space are distinctly different. However, since we’re the new kids on the block, devoted users of other apps have made some less-than-charitable assumptions about the inspiration behind MacroFactor, so I want to make it clear: The app itself is the new kid on the block, but the machinery at the heart of the MacroFactor? It’s the oldest game in town.
However, at the end of the day, we believe that the entire category of “diet coaching apps” is under-discovered at the moment. I think a lot of people who currently use MyFitnessPal or LoseIt or FatSecret want to be using an app like MacroFactor, or like RP, or like Carbon, or like Avatar; they just don’t know we exist yet. We think that having more apps in the space, along with some friendly competition, will bring more awareness to this space, serving as a rising tide that raises all boats.
I truly think the MacroFactor team has the perfect dynamic for the project of making the best nutrition app imaginable.
First, I’ve already alluded to this, but the structure of the team is crucially important. The MacroFactor team – Cory Davis, Rebecca Kekelishvili, Eric Trexler, Lyndsey Nuckols, and myself – is a coequal partnership. No one is the boss, pulling the strings. When major decisions need to be made, we make them collaboratively, which means every bad idea would need to go through four layers of vetting (i.e. make it past four other intelligent people) before it makes it into the app. As a result, it’s very hard for bad ideas to make it into the app. Furthermore, no one is just punching the clock and collecting a paycheck. We all have the same incentive structure: if we create a great product and continue to improve it quickly and efficiently, we all benefit equally.
That last part is crucial. I have to imagine that most app developers are good at what they do, but I couldn’t possibly recount all of the horror stories I’ve heard from people who’ve hired outside companies to build, maintain, and improve apps for them. Sometimes the project is delayed, sometimes it goes over budget, sometimes the developers simply don’t deliver the features that were promised, etc. Then, once the app is out, bug fixes can take longer (or bring an additional cost), any significant new feature requires a major outlay of cash (so improving the app is at least somewhat disincentivized), and if you decide you’re fed up with one developer and hire someone new to clean up the mess … good luck. The people who wrote the initial code are the only people who truly understand it on a deep level, inside and out, so small improvements can turn into big projects, and introduce a ton of unexpected bugs.
Again, I’m sure that the process of getting an app built by an outside company has gone well for someone, somewhere, but the benefits of partnering with developers are enormous. I think most people just don’t want to give up a slice of ownership to their devs, but that comes at a pretty steep cost. And, to be clear, Rebecca and Cory aren’t “just” the devs – this project is a completely shared, collaborative vision.
Second, we all have complementary skill sets.
Cory and Rebecca are both astoundingly talented developers. In the early going, though, Cory has brought a unique set of perspectives and insights to the table: I’ve never met a person who’s more obsessed with tracking nutrition data (all data, really. He joked that he may add a poop tracker to MacroFactor eventually, but I’m not completely sure he was joking), and I’ve never met someone more obsessed with reducing clicks and input friction. We’re really proud of the app’s food logger. The basic user experience of food logging has been more-or-less the same across virtually all apps, for at least the past decade. Cory thought up so many little innovations to save a tap here and a click there, that we eventually landed on a food logging experience that’s fundamentally different from other apps, and it just feels so nice to use once you get the hang of it. For almost every action you’d want to take in the food logger, your muscle memory from other apps will guide you toward a normal (i.e. slow) way to do things, but we typically also have a faster method of accomplishing the same purpose. Everyone brought some ideas to the table, but the food logger really is Cory’s baby.
Rebecca is the reason that MacroFactor feels incredible to use. That may sound like small potatoes after I just gushed over Cory’s efforts on the food logger, but it’s absolutely huge. MacroFactor is only about a week old, so it still has some kinks and bugs to work out, but the overall experience feels like that of an app that’s been on the market for half a decade. Part of that comes down to design, and a lot of it just comes down to interactions with the app feeling natural: when you tap a field for data entry, does the app consistently recognize that you’re tapping the field, rather than the surrounding area? When you look at a screen with a lot of text on it, does the weighting of the text versus the white space just feel nice? Do all of these things scale appropriately across devices of all sizes, leading to a great and consistent experience for everyone? Those are the sorts of things that you probably won’t think about when they’re done well; when they’re done poorly, that leads to frustrating interactions with the app. At this point in its life, MacroFactor feels far more mature than it has any right to.
More than anything else, Rebecca and Cory are the reason I’m sure MacroFactor will be successful. They’re absolutely incredible.
Eric is the nutrition and body composition expert for the app. When we started working on MacroFactor, Cory fixed the most fucked up thing about my nutrition spreadsheet on day 1, and Eric cleaned up all of the additional things I’d messed up, including (but not limited to): doing a better job of accounting for the difference in metabolizable energy in fat versus lean mass, doing a better job of accounting for different estimations of fat versus lean mass gain or loss based on the rate at which you’re gaining or losing weight, and generating sets of macro targets that account for a wide array of preferences, goals, and (especially) edge cases where “standard” advice would produce recommendations that would likely run counter to one’s goals and needs. His impact on the core algorithms and the calorie/macro recommendations we generate is immeasurable. I’d put Eric’s combination of lab and practical experience up against anyone.
Lyndsey keeps the lights on, and keeps everyone on track and organized. She’s an administrative and marketing genius. Her impact isn’t felt as directly in the app itself, but this whole operation simply would not function without her. I mentioned before that we’re all co-equal, but if anyone really calls the shots at the end of the day, it’s Lyndsey. There are a million little tasks that go into running a business, and she manages all of them, while keeping us all focused on the most critical tasks, and while actually selling the product.
And me? Sometimes I feel like I’m just coasting on one good-but-poorly-executed idea that I had six years ago. Realistically, my day-to-day work just relates to being the group’s resident extrovert. I keep lines of communication flowing freely between the devs and the “Stronger by Science” wing of the business, and I keep the vibes good in our subreddit and Facebook group (I’m really proud of the fledgling communities we’re building. They’re outspoken, but also helpful and supportive). I like to think of myself as the glue guy – I have a good enough grasp of the business and marketing operation to help Lyndsey with business strategy and messaging, a good enough grasp of the nutrition side of things to help Trex out, and a good enough grasp of our technical capabilities and roadmap to assist Cory and Rebecca (on big picture things, at least; if I had to write a line of code, the app would disintegrate). Everyone needs a #2, and I like to think of myself as everyone’s #2. Or, it’s possible that I’m full of shit, and I really am just coasting on one good-but-poorly-executed idea that I had six years ago. Regardless, if you’re aware of my work, you know I’m a reasonably competent person; if there’s a team for a fitness-related project in which I’m the least useful member, it’s a damn good team.
Specific to the core functionality of the app – generating good nutrition recommendations and making appropriate updates – I think our team is particularly well-positioned, for one simple reason: we’re bigger data nerds than any of our competitors. The first hurdle is getting good data from users. I don’t trust anyone more than Cory to develop features that make good logging fast and simple, or bring in new integrations to pull even more data into the app. And then, once we have data, who are you going to trust to analyze it and generate useful recommendations, predictions, and insights? I’d feel pretty comfortable going toe to toe with the biggest data nerd working for any of our direct competitors, and I’m the dumb guy (relatively speaking) on our team. Eric is a level above me, and Rebecca is several levels above him. At the end of the day, making a good “diet coach in an app” requires an adequate understanding of nutrition and metabolism, but it also requires a lot of math. The algorithms we use to generate and adjust nutrition recommendations are already head-and-shoulders better than our competitors (in my humble opinion), but they’re also as bad as they’re ever going to be. As we get rolling and start collecting more data, we have the expertise to meaningfully improve our algorithms on both an individual and group level, and generate useful insights over time that no one else will be able to touch.
At this point I’m getting ahead of myself. To wrap up this section: we have a great team.
What IS MacroFactor?
MacroFactor’s core functionality is its ability to take your goals, preferences, nutrition intake, and weight data, and transform that data into dynamically updating calorie and macronutrient recommendations. Most importantly, we can generate solid recommendations and adjustments even if you don’t perfectly adhere to the calorie and macronutrient targets the app recommends – everything you log is just data, and all (accurate) data is useful. If you log your weight and nutrition intake diligently, and get within the same general ballpark of our recommendations, you’ll get where you want to go.
However, that’s not everything MacroFactor does. We have a great food logger (the best, in my opinion). We let you track your period. We show you sophisticated weight trending data. We have convenient integrations, if you want to pull weight or nutrition data from other apps. We have a full-fledged knowledge base that explains how to use all of the app’s features, and explains how we generate our recommendations and adjustments. We have habit-tracking functionality. We allow you to track micronutrient intake.
We have a lot of functionality, revolving around one core feature: you log your weight, you log your nutrition, you tell us your goal, and we show you how to get there.
I’ll discuss how we adjust calorie and macronutrient targets in part 2 of this series.
MacroFactor is a user-guided app
We have a very vocal community, that’s shared plenty of ways we can improve MacroFactor, and we love the suggestions and feature requests! I think, if anything, we’re feeling a little overwhelmed at the moment with the amount of feedback we’re getting, but it’s the good kind of overwhelmed. When I look at our feature tracker, my first thought is “oh no, there’s so much here.” Then my second thought is, “holy shit, I thought the app was already great, but once most of these features and enhancements are added, it’ll be sooo much better.”
Since the app just launched, we don’t yet have a public track record to support this statement (though our beta testers could vouch for this), but we have every intention of rolling out cool new features and enhancements pretty frequently. Users have already given us an extensive list to choose from. Honestly, after just one week of being someone “behind” a nutrition app, I’m shocked at how infrequently other nutrition apps roll out meaningful updates (even the major players) – a lot of the features our users have requested don’t exist elsewhere, they’re completely feasible to add, and they’re excellent ideas!
We view ongoing development as a collaboration with our users. There will be user-suggested features that we don’t want to add – and in those situations, we’ll be happy to explain why they’re either not feasible, or not in line with our philosophy. We don’t want to shoot down any ideas without providing a respectful explanation. There will also be some features we cooked up that no one has specifically asked for. However, the Venn Diagram of “features we add” and “features that users suggest” is going to have a LOT of overlap. We also intend to prioritize features that are the most highly suggested, so if someone shares a feature request in the subreddit or Facebook group that you agree with, make sure you drop your two cents in the comments. We’re very active in those groups, and we do “+1” features that are suggested or agreed with more than once (the Facebook group is “private” to cut down on trolls, but we’ll add anyone who’s just curious about the app and the community).
With that being said, we request a bit of grace and patience (but only a bit; that’s all we’ll need). We have a lot of features we want to add, so it may take us a while to get around to yours. Cool new features will be rolling out very soon, though.
Within the next two months, we also plan to release a public roadmap, once we’ve fully collated and considered the first tidal wave of user feedback. This will allow users to see where we’re headed, and it will allow them to provide even more feedback regarding the path they’d like to see from point A to point Z.
Ultimately, we’re committed to making MacroFactor the app our users want it to be. Within the next month or two, as new features and significant enhancements start rolling out the door, you’ll see. For now, you just have to take my word for it. Very soon, you won’t.
That concludes Part 1. If all goes well, Part 2 should be done within the next week. It will discuss how our “coaching” algorithm actually works (so you can see it’s not some inscrutable black box) and our core philosophies.