Teacup #6 – mini project tutorial

Building a Complete Mini Project


From learning pieces to building something real

Up to this point, you’ve learned many small ideas:

  • Variables remember things

  • Conditions make decisions

  • Loops repeat actions

  • Arrays group data

  • Objects model reality

  • Files give memory

  • Input creates interaction

Now comes the most important step in programming:

Putting everything together.

This is where learning becomes confidence.


The project: A simple personal task manager

Let’s build a command-line task manager.

It will:

  • Ask the user for a task

  • Save tasks to a file

  • Show all saved tasks

  • Work every time it runs

Nothing fancy.
Nothing fake.
Something you could actually use.


Step 1: Define the goal clearly

Before writing code, we decide what the program does:

  1. Show a menu

  2. Let the user choose an action

  3. Read or write tasks

  4. Exit cleanly

Good programs start with clarity, not syntax.


Step 2: Decide how data is stored

We choose a simple approach:

  • Each task is one line in a file

  • File name: tasks.txt

This keeps things:

  • Easy to understand

  • Easy to debug

  • Easy to extend later


Step 3: Show a menu

@echo "==== Task Manager ===="
@echo "1. Add a task"
@echo "2. View tasks"
@echo "3. Exit"

This is the user’s entry point.

Clear text matters more than clever code.


Step 4: Read user choice

@echo "Choose an option:"
$choice : @input

At this moment, the program waits and listens.


Step 5: Handle user choice with logic

if $choice = 1
@echo "Enter a new task:"
$task : @input
@file_write "tasks.txt", $task "\n"
@echo "Task saved."
elif $choice = 2
@echo “Your tasks:”
$content : @file_read “tasks.txt”
@echo $content

else
@echo “Goodbye!”

This is not complex logic.
But it is real logic.


Step 6: The complete program (put together)

Here is the full mini project:

@echo "==== Task Manager ===="
@echo "1. Add a task"
@echo "2. View tasks"
@echo "3. Exit"
@echo “Choose an option:”
$choice : @input

if $choice = 1
@echo “Enter a new task:”
$task : @input
@file_write “tasks.txt”, $task “\n”
@echo “Task saved.”

elif $choice = 2
@echo “Your tasks:”
$content : @file_read “tasks.txt”
@echo $content

else
@echo “Goodbye!”

That’s it.

No frameworks.
No boilerplate.
No hidden complexity.


Step 7: Why this project matters

This small program already shows you:

  • User interaction

  • Decision making

  • File storage

  • Real automation

  • Program structure

You didn’t just “try syntax”.

You built a tool.


Step 8: How to improve it (thinking like a developer)

Once something works, developers ask:

  • Can it loop back to the menu?

  • Can tasks be deleted?

  • Can tasks be numbered?

  • Can it store timestamps?

This curiosity is the real sign of growth.


Optional upgrade idea: Loop the menu

while true
// show menu
// read choice
// handle choice

You already know enough to do this.

That means the tutorial worked.


Final thoughts – You crossed the hardest line

Most people never get here.

They:

  • Read tutorials

  • Copy examples

  • Stop before building anything real

You didn’t.

You went from:

“What is a variable?”
to
“I built a working program.”

That transition matters more than any language.

GTLang didn’t make you a programmer.

It removed obstacles, so you could become one yourself.


Where to go next

From here, you can:

  • Extend this project

  • Build another small tool

  • Explore networking or databases

  • Learn another language with confidence

Languages change.
Thinking stays.

Slow. Clear. Purposeful.
Like green tea ☕🌱