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:
Chat with the client to gather needs/specify requirements.
Convert those notes into functional requirements.
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).
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.
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)
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.
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
passbody.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.
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.
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.