MyWeek is a weekly planner for diet and training that runs in your browser.
It needs JavaScript: turn it on in your browser and reload the page.
Loading your data…
I cannot load the starting data of MyWeek. Check the connection and try again.
Sections of MyWeek
You have not exported your data yet. Safari on iPhone and iPad can delete the data of a site you have not visited for 7 days: export it now and then with Export, below.
Export
Save everything you did in MyWeek in a JSON file. On phones and tablets the share sheet of the system opens: you can choose “Save to Files” or an app such as Drive or Dropbox.
Import
Choose a JSON file of MyWeek or paste its text, even the answer of an AI. Before applying it you see what changes.
What changes
Reset
Puts one part back as it was at the start; the rest does not change. At the first click the button asks you to confirm.
Delete everything
Removes every piece of data of MyWeek from this browser. It cannot be undone: if you like, export first.
Sources and notice
Calories of the ingredients: USDA FoodData Central (SR Legacy) and the food composition tables of CREA; the source is written on every ingredient.
Energy of the activities: Compendium of Physical Activities 2024. Daily needs: Mifflin-St Jeor equation.
These are estimates, not medical advice: for a diet or a training plan, ask a professional.
ProfileDays of the weekPast weeksStartIngredientsRecipesMealsMovementsActivitiesThemesChosen themeTheme animationsSongsThe file holds several parts of MyWeek.The file holds the week.The file holds the catalogues.The file holds themes.The file holds songs.The file is too big: at most {n} kB.Choose a file or paste a text.The text is not valid JSON.The text is not a document of MyWeek.Nothing of MyWeek to import.A text is too long (at most {n} characters): {dove}.The document has too many levels (at most {n}): {dove}.A list is too long (at most {n} entries): {dove}.An object has too many entries (at most {n}): {dove}.The document is too big (more than {n} values).The file cannot be read.{parte}: from {prima} to {dopo}{parte}: unchangedUnknown entries left out: {elenco}.Imported.File ready: {nome}.Reset done.Yes, resetYes, delete everythingData of MyWeek deleted from this browser.The storage of the browser is full: the latest changes are not saved. Export your data so you do not lose it.The latest changes were not saved: the record could not have been read back. Export your data so you do not lose it.This browser does not let the page save data, for example in a private window: export it before closing.The data saved in this browser cannot be read: MyWeek shows the starting values and does not overwrite it until you change something.The data saved is from a version of MyWeek this page does not know: MyWeek shows the starting values and does not overwrite it until you change something.Data updated from another tab.Calories of the ingredients: USDA FoodData Central (SR Legacy) and the food composition tables of CREA; the source is written on every ingredient.Energy of the activities: Compendium of Physical Activities 2024. Daily needs: Mifflin-St Jeor equation.These are estimates, not medical advice: for a diet or a training plan, ask a professional.MondayMonTuesdayTueWednesdayWedThursdayThuFridayFriSaturdaySatSundaySunBreakfastMorning snackLunchAfternoon snackDinnerEvening snackBreakfastSnackLunchDinnerMealsRecipesIngredientsActivitiesExercisesSearch for a meal…Search for a recipe…Search for an ingredient…Search for an activity…Search for an exercise…+ New meal+ New recipe+ New ingredient+ New activity+ New exerciseNo meals.No recipes.No activities.no recipekcal/serv.IngredientStatusExerciseDurationEnergy usedIn days:An activity is a session made of exercises. Anything beyond slow walking needs a doctor's check first: this page records, it doesn't prescribe.Net kcal above rest: (MET − 1) × weight × hours, using your current weight ({peso} kg).EditMeal: {qta}, {kcal} kcalRestore the cataloguesCataloguesItems: {n}Meal prepMade freshEating outVerifiedChosen valueEstimateTo be confirmedWeekly averageEstimated BMRAverage minus BMRWeekly activityWeight (kg){min} min per week. Anything beyond slow walking needs a doctor's check first (from your profile).This week's average is below your estimated basal metabolic rate: talk to your doctor.Hide warningThe weekTraining+ activityRemove {nome}Day totalNoneDays of the weekPrevious dayNext dayKcal per dayDashed line: estimated BMR ({basale}). Orange bars: more than 20% above BMR.Projected weightWith the current average of {media} kcal a day and the planned activities ({att} kcal a week), starting from {peso} kg.Simplified estimate: a 7,700 kcal difference ≈ 1 kg, an approximate rule of thumb. Activity kcal are net above rest (MET − 1); the ×1.2 factor and the METs are assumptions, and the formula BMR has a margin of about 10%. Real weight loss tends to slow over time. This is not a medical forecast.Highlighted scenario (the activity factor is an assumption, not in your profile)WeightChangeTotalDifference from BMRBMRShow the values in a tableDayKcal per day, Monday to Sunday: {valori}. Estimated basal {basale} kcal.Expected weight over six months in three scenarios: {valori}.BMR only (×1.0)Sedentary (×1.2), without planned activitiesSedentary (×1.2) + planned activitiesSunday meal prep: about {min} minover 4 hover 3 hwithin 3 hMinutes estimated from Meal prep recipes (field in the Recipes tab). Line = 3 h, end = 4 h.Recipes for this week's meals · tick the ones to shop forNo meals with recipes in the days.Shopping list · {n} ingredientsIngredientQuantityNo recipe selected.Copy the listList copiedCopy failed: select the text manuallyfreshfridgefreezerserv.× the recipemeal prepMethodIn the shopping listYour profileUsed to calculate your basal metabolic rate and weight projection. Age is calculated from your date of birth.NameDate of birthWeight (kg)Height (cm)Age: {eta}Estimated basal metabolic rate: {kcal} kcalVariant of the Mifflin-St Jeor equationMaleFemaleThe equation uses biological sex because the basal metabolic rate depends on body composition. Choose the variant that suits you best.How do you want to start?You can start from scratch and build your own meals, or load a sample week to edit. Ingredients, activities and themes are included either way.These menus are generic examples, not personalised plans. Before following a diet, talk to your doctor or a dietitian.Start from scratchNo recipes and no meals: you create them.Sample {kcal} kcal a dayBelow your estimated basal metabolic rate ({basale} kcal): ask your doctor before following it.Done: you can change everything whenever you likeNew mealEdit mealNew recipeEdit recipeNew activityEdit activityNew exerciseEdit exerciseNew ingredientEdit ingredientNameCategories: a meal can be offered at more times of day (snacks apply to all 3 snack times)NotesMealShow it by itself among the choices of every time of dayOne portion ({unita})Meal recipes+ Add recipeMeal totalRecipe servingsTypeMeal prep minutesIngredients (quantity in the ingredient's unit)+ Add ingredientMethodTotal · per servingActivity exercises+ Add exerciseActivity totalDuration (min)MET (intensity)Source / noteStatusNet energy used at current weightUnitBase (100 or 1)kcal per baseDuplicateDeleteCancelSaveNo recipes: the meal counts as 0 kcal (e.g. "none").Add at least one ingredient.Add at least one exercise.Create a recipe first.Create an exercise first.Create an ingredient first.Copy: choose a new name before saving.DeletedSavedRemoveQuantity {unita}PortionsTimesYes, deleteCloseWeekly historySave weekViewSaved weeksNone savedChoose any day: the whole week is saved, Monday to Sunday.From (Monday)PeriodA frozen copy of the profile is saved: personal data (with your age that week), days and meals. Later changes don't affect the saved week. It's the planned menu: the page doesn't record what you actually ate.This week is already saved: it will be replaced.Week savedDelete the selected weekWeek deletedWeek {periodo}Saved week: view only.CloseInvalid date.Yes, deleteYou can get help from your favourite AI (Claude, ChatGPT, Gemini…): copy the instructions, paste them into the AI chat and bring the result back here.Turn your diet into dataPress "Copy instructions".Open your AI, upload your diet file (PDF, photo or text) and paste the instructions.Copy the JSON it replies with.Copy instructionsInstructions copiedCopy the selected text belowCreate with AICome back here, paste it in Import in the Data tab, press Check and then Apply: new items are added, items with the same name are updated.You are helping me load my diet plan into my diet app ("MyWeek"). I will attach or paste my diet plan below. Read it and reply with ONLY one JSON object, inside ONE code block (```json ... ```), with no comments and no explanations, in the format the app exports. Example of an answer:
{esempio}
Rules (use only the keys and the fixed values listed here: do not invent other keys or values, anything else is refused):
- Write every name and text in {lingua}. Keep the JSON keys and the fixed values exactly as written: they are Italian on purpose.
- Names: at most {maxNome} characters, unique inside each list, and exactly the same wherever they are referenced.
- "ingredienti": every ingredient used by a recipe. "unita" is one of {unita}. "kcal" is the energy per "base" units (as in the example) of the raw edible food, from a reliable food composition table (USDA FoodData Central or a national table): write its name in "fonte". "stato" is one of {stati}. A drink or food eaten by itself (a beer, a glass of wine, a fruit) needs no recipe and no meal: give it "pasto": true and "porzione", the quantity of one portion in its unit.
- "ricette": "porzioni" is how many portions the quantities make; "righe" lists the ingredients with "qta", the quantity in the unit of the ingredient for the whole recipe. "tipo" is one of {tipi}. "minuti" is the preparation time, "procedimento" a short method.
- "pasti": a meal combines one or more recipes ("righe" with the "porzioni" of each recipe). "categorie" lists one or more of {categorie}.
- "movimenti" (optional): "durata" in minutes from {durataMin} to {durataMax}, "met" from {metMin} to {metMax} (Compendium of Physical Activities), "fonte" and "stato" as for the ingredients. "attivita" (optional): a training session, "righe" with the "movimento" and how many times ("volte").
- "giorni": "giorno" is one of {giorni}. "slot" has exactly the keys {slots}. Each slot is a list ([] when empty) of { "pasto": the name of a meal, "porzioni": the portions of that day } and { "ingrediente": the name of an ingredient with "pasto": true, "porzioni": ... }. {slotcat}. "porzioni" goes from {porzMin} to {porzMax}; a meal or an ingredient appears at most once in a slot. "attivita" lists the names of the activities of that day.
- Use only foods that are in my plan. If a quantity is missing, choose a typical portion and set "stato" of that ingredient to {stima}.
- Output valid JSON only.
MY DIET PLAN: (attach the file or paste the text here)Loading your data…Retry1 week2 weeks1 month2 months3 months6 months1 m2 m3 m4 m5 m6 mThe name is required.Name too long (at most {n} characters).The name cannot start with = + - @.There is already an item with this name: {nome}.Item to edit not found.Choose the variant of the equation.Enter the date of birth.Date of birth not valid (age between {da} and {a}).Weight not valid ({da}-{a} kg).Height not valid ({da}-{a} cm).Meal of the day not valid.Meal not found: {nome}.The meal "{nome}" is not of the category of this time of day.Day not found: {nome}.Activity not found: {nome}.Category not valid.Recipe not found: {nome}.Portions must be greater than zero.I cannot change the category: the meal is used in the week.Add at least one ingredient.Ingredient not found: {nome}.Quantities must be greater than zero.Minutes cannot be negative.The base (100 or 1) must be greater than zero.The kcal are not valid.The duration must be between {da} and {a} minutes.The MET must be between {da} and {a}.Add at least one movement.Movement not found: {nome}.Times must be greater than zero.It is used in: {elenco}.Choose at least one category.Write how much one portion is, more than zero.I cannot take away "Meal": the ingredient is in the week ({elenco}).Portions go from {da} to {a}.The ingredient "{nome}" is not marked "Meal"."{nome}" is already in this time of day.A time of day is not written correctly.There is an item that is not valid in {tipo}: {nome}.Duplicate name in {tipo}: {nome}.Translation not valid in {tipo}: {nome}.The list {nome} is missing.The days of the week are not those of MyWeek.The history of the weeks is not valid.Too many weeks saved (at most {n}): delete some.Date not valid.The profile is not valid.Choice not valid.I cannot load the starting data of MyWeek. Check the connection and try again.The file cannot be applied: {motivo}GuideStep {n} of {tot}NextBackSkip the guideStartMyWeek guideWhat MyWeek isMyWeek helps you plan the meals and the training of the week: it counts the calories, prepares the shopping list and estimates how your weight would change.The data stay only in this browser: they do not reach me or anyone else. From the Data tab you can export them to a file and import them on another device.Your profileHow do you want to start?Where the numbers come fromHow to use itWeek has three parts: Plan, with the table of the days where you choose meals and activities; Progress, with the charts of calories and weight and the history of the weeks; Profile, with your data and your needs.In Catalogues you find the meal preparation with the shopping list, and the meals, recipes, ingredients, activities and movements to search and edit. Look will have themes and music. In Data you export, import and restore. Open this guide again with the Guide button.ProfileMealsRecipesIngredientsActivitiesExercisesThemesPlanProgressPreparationMusicYou can open the guide again at any time with the Guide button, next to the introduction.AverageBasalDifferenceActivityBasal needs {kcal} kcalComplete the profileWeek started from scratchWeek started from the {kcal} kcal samplePreparation and shopping{momento}, {giorno}Activities, {giorno}SearchCancelNothing to choose.DonePortionsSavedThemesThe theme changes MyWeek only: header, footer and the rest of the site stay as they are. The Data tab always keeps the style of the site, so Restore and Import stay readable with any theme.ActiveActive theme: {nome}Delete the themeYes, deleteTheme deletedThis theme has {n} contrasts under the WCAG minimum: some words or commands may be hard to read. You can keep it anyway or go back to Presenza.{fg} on {bg}: {ratio}:1 (needs {min}:1)The saved theme cannot be read: Presenza stays.MotionTheme animationsThe motion effects of the themes that have them (Motion label). They start off when the system asks to reduce motion.A theme with AIPress “Copy the instructions”.Open your AI, paste the instructions and in place of the line in capitals write what you want, for example “a theme about meatballs”.Copy the code it answers (the copy button of the box is enough).Paste it in Data, Import, then Apply: the theme appears here.You are designing a theme for the diet app "MyWeek" on a web page.
MY REQUEST: DESCRIBE THE THEME YOU WANT HERE
Reply with ONLY one JSON object, inside ONE code block (```json ... ```), with no explanations, in the format the app exports. Example of an answer:
{esempio}
Rules (use only what is listed here: do not invent keys, effects, fonts or values; anything else is refused or dropped):
- "temi": one or more themes (at most {maxTemi}). "nome": a short name, at most {maxNome} characters, without < > { } ; \.
- "valori": the look; every key is optional, only these keys:
{valori}
- "animazioni" (optional): up to {maxAnimazioni} effects, by name, only from this list:
{effetti}
- "icone" (optional): an emoji in place of the icon of a tab or of a section, at most {maxGrafemi} emoji per key, no letters, digits or other symbols. Keys: {icone}.
- "temaAttivo": the "nome" of the theme to switch on.
- Keep everything readable: these pairs must have at least the contrast written (4.5:1 for text, 3:1 for borders, chart lines and the focus ring):
{contrasti}
- Output valid JSON only.+ New songNew song {n}Import MIDIOrderIn orderShuffleVolumeLowMediumHighSound by handKeyboard heightMediumLargeVery largeTick the songs to play: they start and stop with the ♪ button next to the keyboard. Several active songs play one after the other. The keyboard can always be played by hand too.No songs: create one or import it.Active{n} notes · {v} voices · {bpm} bpm · {giro}endless{n} timesMove up: {nome}Move down: {nome}Drag to move: {nome}ListenStopEditDeleteYes, deleteSong deleted{nome} is now number {n}NameSpeed (bpm)RepeatsVoicesVoice {n}Name of the voiceNotesWrite C D E F G A B (or DO RE MI FA SOL LA SI), with # or b, the octave (4 = middle) and the length in beats after a colon; - is a rest; C4+E4 play together. Example: C4 E4 G4 C5:2SoundVolumeOn+ VoiceRemove the voice{n} notes readnot understood: {elenco}CloseTracks of the fileChoose the tracks to turn into voices (at most {max}). Speed of the song: {bpm} bpm. The file is not saved.drums{n} notesCreate the songCancelSong ready with {n} voices: {nome}The song was too long: cut at the same point in every voice.The file is not a MIDI file that can be read.The file is too big: at most {n} kB.This browser plays no sound.Sounds are off: switch them on with Sounds to hear the music.PianoRockOrganPopFluteOboeClarinetStrings (violin, viola)CelloDouble bass and bassGuitar and luteHarpBellsBrass (trumpet)Choir and padHave songs writtenPress “Copy the instructions”.Open your AI, paste the instructions and in place of the line in capitals write the music you want, for example “a cheerful morning tune”.Copy the JSON it answers (the copy button of the box is enough).Paste it in Data, Import, then Apply: the song appears here.You are writing music for the piano of the diet app "MyWeek".
MY REQUEST: DESCRIBE THE MUSIC YOU WANT HERE
Reply with ONLY one JSON object, inside ONE code block (```json ... ```), with no explanations, in the format the app exports. Example of an answer:
{esempio}
Rules (use only the keys and values listed here, do not invent others):
- "brani": one or more songs (at most {maxBrani}). "nome": a short unique name, at most {maxNome} characters.
- "voci": 1 to {voci} parts that play together from the start, at the same bpm. Each part has "nome" (at most {maxNomeVoce} characters), "note", "timbro", "volume" and "attiva" (true or false).
- "note": notes separated by spaces. A note is a letter C D E F G A B (or DO RE MI FA SOL LA SI), then optional # or b, optional octave number (4 = the octave of middle C, default {ottava}) and optional ":" with the length in beats (default 1, e.g. :2 or :0.5, at most {durataMax}). "-" is a rest. Join notes with + to play them together (C4+E4). At most {note} characters of notes per song, all parts together.
- "timbro": one of {timbri}. "volume": one of {volumi}.
- "bpm": the speed, from {bpmMin} to {bpmMax}. "giro": how many times the song plays, from {giroMin} to {giroMax}, or "infinito".
- Output valid JSON only.From sheet musicPress “Copy the instructions” and paste them in your AI together with the photo of the sheet music.The AI answers with the notes of the melody: copy them.Here press “+ New song” and paste the notes in the first voice.Transcribe the melody (right hand) of the attached sheet music. Reply with ONLY the notes, nothing else, in this format: notes separated by spaces; a note is a letter C D E F G A B, optional # or b, octave number (4 = middle C octave), optional ":" with the length in beats (quarter note = 1, half = :2, eighth = :0.5); "-" is a rest; notes played together joined with + (C4+E4). Apply the key signature to every note. Keep the real note lengths, do not simplify.Start the musicStop the musicPiano keyboardCC sharpDD sharpEFF sharpGG sharpAA sharpBA theme is not valid.Every theme needs a text name, without < > { } ; \.The theme “{nome}” has invalid “valori”.The theme “{nome}” uses “{token}”, which is not in the list of allowed values.The theme “{nome}” has an invalid value for “{token}”.At most {n} themes.Every song needs a name.The song “{nome}” must have 1 to {n} voices.The song “{nome}” has an invalid voice.The song “{nome}” has an invalid sound.The song “{nome}” has an invalid volume.The song “{nome}” has too many notes: at most {n} characters, all voices together.The song “{nome}”: speed between {da} and {a} bpm.The song “{nome}”: repeats from {da} to {a} or endless.The music is not valid.At most {n} songs.An active song does not exist.Invalid order.Invalid volume.Invalid keyboard.Leave it empty to play it without end.The active theme is not among the themes.Section: {nome}Sections of {scheda}