What the finished app does
When you run the program you’ll see a clean, text-based dashboard:- Today’s date and a friendly greeting that uses your name.
- A brief well-being check: whether you feel happy or sad, and an energy rating from 0–100.
- A set of personalized messages based on your mood and energy.
- A goal-entry loop where you add as many goals as you want, entering
donewhen finished. - A review loop that asks whether you completed each recorded goal.
- A final summary: total goals, completed goals, remaining goals, and an encouraging message tailored to your results.
How the app is structured (high level)
The dashboard demonstrates several fundamental programming concepts:- Variables to store the user’s name, mood, energy, and counters.
- Conditional statements (if/else) to branch behavior and generate personalized messages.
- Loops to collect and then re-check goals.
- Lists (arrays) to store multiple goals and their completion state.
- Functions to organize and reuse code for greeting, input handling, and summaries.

You will learn to store and update data with variables, make decisions with conditional statements, repeat actions with loops, manage collections with lists, and encapsulate behavior with functions. Each of these building blocks will be used to assemble the interactive dashboard step by step.
Step-by-step flow you’ll implement
- Greet the user and get basic info (name and today’s date).
- Ask mood and energy level; use conditionals to print a personalized message.
- Collect goals in a loop:
- Prompt: “Enter a goal (or type
doneto finish):” - Append each goal to a list until the user types
done.
- Prompt: “Enter a goal (or type
- Iterate over the list of goals to ask whether each one was completed:
- Collect yes/no responses and count completed items.
- Print a final summary and a motivational message based on progress.
Key concepts at a glance
Tips before you start
- Use clear, descriptive variable names (e.g.,
goals,completed_count). - Validate user input where helpful (e.g., ensure energy is a number between 0 and 100).
- Keep input and output separate from processing logic by using functions for each responsibility.
Links and further reading
- Python official tutorial — great for beginner-friendly examples.
- Learn JavaScript — if you prefer a browser-based language.
- Programming fundamentals overview — high-level context and related topics.