Search⌘ K
AI Features

Design the Project Structure

Explore how to design a clear project structure for a Budget Tracker in Python by interacting with a client to define requirements and turning notes into functional specs. Learn to create a clean code skeleton with function stubs and docstrings, setting the stage for further development.

You’ve been hired to build a small Budget Tracker in Python. Your client is a busy small-business owner who wants something simple: set income, log expenses, and see a clear monthly report.

We’ll work like a real dev:

  1. Chat with the client to gather needs/specify requirements.

  2. Convert those notes into functional requirements.

  3. Kick off the codebase with a minimal project structure.

Talk to the client

Below is a simulated client. Chat with the client in the widget right below and ask your discovery questions about the project. You’ll get your answers regarding the project specifications.

Your job:

  • Ask 5–8 short questions to clarify scope, inputs, outputs, validation, edge cases, and reporting.

  • When done, write 5–10 bullets in plain English summarizing the agreed requirements (no code).

Powered by AI
10 Prompts Remaining
Prompt AI WidgetOur tool is designed to help you to understand concepts and ask any follow up questions. Ask a question to get started.
Talk to your client

Turn notes into functional requirements

Now, you’ll have your functional requirements for the project clear. Gather them and put them in the widget below. Our AI Agent will review those requirements and provide you with feedback.

Powered by AI
5 Prompts Remaining
Prompt AI WidgetOur tool is designed to help you to understand concepts and ask any follow up questions. Ask a question to get started.
Test your functional requirements

Now that our initial step is done and we know what to build, let's take a look at what the client wants to build as the final version before proceeding further. This will help us have a clear end goal.

You’ve seen the destination, now let’s begin the journey, piece by piece.

The basics

Two simple places to remember things:

  • Income → one number you can update

  • Expenses → a growing list of entries (category, amount, optional note)

Python
# Money in: one number we can update
income = 0.0
# Money out: a growing log of entries
# Each entry: {"category": str, "amount": float}
expenses = []

Now let’s give this app a minimal structure layout, small functions that each do one job.

The first two bricks

Let’s start with our basic requirements. We need a kick-off starter point to begin.

Python
def add_income(amount):
"""Set or update the monthly income (float > 0)."""
pass
def add_expense(category, amount):
"""Append an expense entry to the global 'expenses' list."""
pass

These two verbs are the heartbeat: tell the app your income and log an expense. Everything else (totals, report, menu) plugs into them.

Generate the complete skeleton

Compose one clear prompt for your AI Copilot that makes it generate a single Python file containing only function declarations (stubs) with short docstrings and pass in everybody, no implementations yet, just the shape.

Expected output

  • One code block with a minimal project skeleton for the Budget Tracker:

  • Each function has a 1–2 line docstring and a pass body.

  • Python compatible, built-ins only, no external libraries, no file I/O, no classes.

  • Return code only (no explanations/narrative around it).

Paste your prompt into your AI widget below and see what it generates.

Powered by AI
5 Prompts Remaining
Prompt AI WidgetOur tool is designed to help you to understand concepts and ask any follow up questions. Ask a question to get started.
Generate project structure with the help of AI

If you’re unsure, click the “Show Sample Prompt” button.

Test your code

Now, let’s verify the code generated. Copy the generated code and paste it below. Since we have no implementation yet, it should just succeed.

Python
# Add your code here

If you’re unsure, click the “Show Project Structure” button.

Great work! You now have the skeleton of your Budget Tracker. In the next lesson, we’ll bring it to life, turning these empty stubs into real features that set income, record expenses, and print your very first report.