ES ← Back to Portfolio

SMAE Tracker

A nutrition tracking platform built around the Mexican Food Exchange System (SMAE), helping users follow structured dietary plans without relying exclusively on calorie counting.

Role Product Designer & Lead Developer
Status Active Development
Type Nutrition Technology
Nutrition Technology Mobile Applications Data Modeling Product Design Health & Wellness User Experience

The Problem

Many nutrition tracking applications are built around a single paradigm: calorie and macro counting. But many nutritionists in Mexico prescribe diets using the Sistema Mexicano de Alimentos Equivalentes (SMAE) — an exchange-based system where foods are grouped into categories, and a diet is defined by how many exchanges from each group a patient may consume per day.

Patients following SMAE-based plans routinely struggle with:

  • Understanding what an exchange is and how it relates to actual food.
  • Translating a written meal plan into daily decisions at the grocery store or kitchen.
  • Tracking how many exchanges they have consumed — without a tool designed for this.
  • Finding valid food substitutions when a specific item isn't available.

Existing apps either ignore the SMAE system entirely or require users to manually calculate exchanges — creating friction that reduces dietary adherence.

Product Vision

The vision is to make exchange-based diets as simple and intuitive to follow as calorie-based applications — without requiring users to understand the nutritional methodology behind them.

A patient should be able to look up any food, see its exchange value, add it to a meal, and know at a glance how many exchanges remain in their daily plan — with no manual calculation required.

Users should be able to build meals, track exchanges, discover food substitutions, understand nutritional balance, and follow professional nutrition plans — all within a single product designed for the way Mexican nutritionists actually work.

Domain Model

Translating the SMAE methodology into a software domain model was one of the most challenging and rewarding aspects of the project. Nutrition guides are written for clinicians — not for software systems — so the domain required careful interpretation and formalization.

Food
Portion
Exchange
Food Group
Meal
Day Plan

The model captures the relationships between individual foods, their standardized portions, the exchange values those portions represent, the food group each exchange belongs to, how exchanges combine into meals, and how meals compose a structured daily plan — all while preserving consistency with official SMAE guidelines.

Food Database

The food database is the foundation of the entire platform. Without an accurate, well-structured food catalog, exchange calculations and substitution recommendations are unreliable.

Standardized Portions

Each food entry defines canonical serving sizes aligned with SMAE guidelines, ensuring exchange calculations are consistent regardless of how the food is described by the user.

Exchange Values

Every portion maps to an explicit exchange value within its food group, enabling the app to automatically compute exchange totals as users build meals.

Food Group Classification

Foods are classified into SMAE exchange categories — cereals, legumes, proteins, fats, fruits, vegetables, dairy, and sugars — which drives both tracking logic and substitution recommendations.

Search Metadata

Entries include aliases, common names, and regional variants so users can find foods using everyday language rather than technical nutritional terminology.

Product Challenges

Converting a Clinical Methodology into Software

The SMAE system is defined in nutrition guides written for dietitians and clinicians. The documents describe exchange categories, portion equivalences, and food group rules in natural language — with no formal data model behind them.

Solution

Formalized the SMAE methodology into an explicit domain model with clear entity relationships, exchange rules, and group hierarchies — treating the nutrition guide as a domain specification rather than reference material.

Food Standardization at Scale

The same food can appear in different preparations, portion descriptions, and regional names. Without standardization, the exchange database becomes inconsistent and user trust erodes quickly when calulations don't match their nutritionist's expectations.

Solution

Designed a normalized food catalog where each entry has a canonical portion and exchange value anchored to the SMAE reference tables, with aliasing for regional and common-language variants.

Designing for Non-Technical Users

Exchange-based diets are inherently abstract. Presenting exchange counts, group budgets, and substitution logic to patients who may never have encountered this system before requires careful UX design — the system must be invisible.

Solution

Designed interfaces around user goals — "add food to meal," "see what I have left today" — rather than around the underlying exchange model, letting the domain logic run silently in the background.

Key Features

📊
Exchange Tracking
Track daily exchange consumption by food group against a prescribed daily plan.
🍽
Meal Planning
Build meals from a structured food catalog with automatic exchange calculation.
🔍
Food Search
Look up any food by name and immediately see its exchange value and food group.
🔄
Food Substitutions
Discover valid equivalent foods within the same exchange group for flexible meal planning.
📈
Daily Progress
Monitor adherence throughout the day with a clear view of remaining exchanges per group.

System Architecture

The platform is structured around a data pipeline that moves from a curated food database through business logic layers to user-facing tracking and analytics.

Food Database
Exchange Engine
Meal Builder
Daily Tracker
Progress Analytics

Screenshots

SMAE Tracker — daily progress dashboard showing exchange group progress bars
Daily Progress
SMAE Tracker — food log screen with meal tabs and food search
Food Log
SMAE Tracker — daily goals editor showing all SMAE exchange group targets
Daily Goals

Future Roadmap

The current focus is on core exchange tracking and meal planning. Planned enhancements extend the platform toward professional and AI-assisted use cases.

Nutritionist dashboards
Shared diet plan templates
Barcode scanning
AI-assisted meal suggestions
Personalized recommendations
Clinical reporting

Impact & Outcomes

SMAE Tracker aims to reduce the complexity of following exchange-based diets by transforming a clinical nutrition methodology into an intuitive digital product.

By eliminating manual exchange calculation, the platform reduces the daily cognitive load for patients — turning a complex diet protocol into a simple daily checklist.

The platform is designed to help users improve dietary adherence, reduce meal-planning friction, understand valid food substitutions, and follow nutritionist recommendations more consistently — without requiring nutrition expertise.

Lessons Learned

1
Domain-driven design is essential for health applications. The SMAE domain has precise rules that, if misrepresented in the model, propagate errors into every feature. Getting the domain model right early — before writing any UI — is the highest-leverage investment in a project like this.
2
Expert methodologies need interpretation, not just digitization. Clinical nutrition guides describe what is true, not how software should work. Translating them into code requires understanding the intent behind each rule, not just mapping the words to data structures.
3
Flexibility and data consistency are in tension. Allowing users to log any food freely conflicts with the need for consistent exchange calculations. The solution is a curated catalog as the canonical source of truth, with controlled extensibility rather than free-form input.
4
Consumer health UX must hide complexity, not expose it. The exchange model is the engine — users should never need to understand it. Every screen should be answerable with "what does the user want to accomplish right now?" not "how does the underlying system work?"
5
Product ownership means owning the problem, not just the code. Identifying that exchange-based diets were underserved by existing apps, defining the domain model, designing the UX, and building the product are all part of the same job. Technical execution is necessary but not sufficient.