Starting from zero

Learn to code by building an expense tracker

The idea

An expense tracker where I add what I spent and on what, and see how much went where this month

This is the path the studio planned from the idea above. Yours is planned from your own words and from what you already know, so its steps will be your own.

Planned for: Complete beginner, never programmed · 10 hours a week · HTML, CSS and JavaScript, then Node and Express

Change anything. Your path is planned from what you write, and from what you already know.

Your first build is on us. When you press Build, we check your card with a ₹1 hold that is never charged.

Your first version

Month Money

A simple expense tracker for adding what you spend and seeing where your money goes each month.

What the studio would build first, and what it sets aside, read from the idea the way your own project's would be.

What it keeps

  • Add expensesEnter an expense with its amount, what it was for, the category, and the date.
  • View this month's expensesSee a list of expenses for the current month with each amount, description, category, and date.
  • Correct or remove an expenseUpdate an expense when you make a mistake or delete one that you do not want to count.
  • See where your money wentSee the total spent this month and totals grouped by category, such as food, transport, or fun.
  • Keep expenses after closing the pageSave your expenses in the browser so they are still there when you return to the tracker.

Later in your path

  • Sync expenses to a serverCreate a Node and Express server so expenses saved in one browser can be loaded from another device that connects to the server.With a server
  • Sign in and keep private expense dataAdd accounts with secure login and store each person's expenses in MongoDB so only that person can see their own data.With a database and accounts

What it leaves out, and why

  • Automatic bank importsBank connections need extra services, security checks, and complicated setup.
  • Receipt photosAdding photo uploads and file storage would make the first version much bigger.
  • Shared budgets and teamworkMultiple people sharing a budget requires permissions and more complex data rules.
  • Advanced charts and forecastsThe first version should focus on entering expenses and understanding simple monthly totals.

Your path

37 steps, about 46 hours

In the browser 10 steps · about 19 hours
  1. 1 Start the Month Money page 1
  2. 2 Add the expense form 1
  3. 3 Style the expense form 1
  4. 4 Check expense values 1
  5. 5 Make the expense area respond 1
  6. 6 Collect expenses as data 1
  7. 7 Show your monthly expenses 1
  8. 8 Keep your expenses after refresh 1
  9. 9 Edit and remove expenses 1
  10. 10 Describe your finished app 1
With a server 14 steps · about 17 hours
  1. 11 Show whether expenses are saved 2
  2. 12 Load the expense list from project code 2
  3. 13 Load expenses from a JSON file 2
  4. 14 Open the expense app from your server 2
  5. 15 Serve the expense page from Express 2
  6. 16 Open the finished page from your server 2
  7. 17 Write the contract of Month Money's API 2
  8. 18 Check the expenses held by the server 2
  9. 19 Add and remove expenses through the server 2
  10. 20 See what happens after a server restart 2
  11. 21 Keep expenses after the server restarts 2
  12. 22 Keep bad expenses out of the tracker 2
  13. 23 Run the server using its configured port 2
  14. 24 Choose and ship one tracker improvement 2
Database and accounts 13 steps · about 11 hours
  1. 25 Explain where Month Money keeps expenses 3
  2. 26 Keep expenses in MongoDB 3
  3. 27 Give each expense clear data rules 3
  4. 28 Connect the expense tracker to MongoDB 3
  5. 29 Create a Month Money account 3
  6. 30 Sign in to your tracker 3
  7. 31 Protect sign-in and expense access 3
  8. 32 Connect expenses to accounts 3
  9. 33 Show only your own expenses 3
  10. 34 Run Month Money like a real app 3
  11. 35 Use the full Month Money app 3
  12. 36 Present Month Money as a portfolio project 3
  13. 37 Explain your full-stack project 3
Your app's map Month Money
fetch

In the browser

Your server

Where data lives

What you will have proved

66 concepts

Every concept is one the path teaches, in the order it teaches them, after the ones it needs first.

In the browser
  1. Editor, preview, save
  2. Slice your idea into a first version
  3. HTML document and basic tags after Editor, preview, save
  4. Lists, sections and semantic tags after HTML document and basic tags
  5. Forms and inputs after HTML document and basic tags
  6. CSS selectors, colors, text after HTML document and basic tags
  7. Box model and spacing after CSS selectors, colors, text
  8. Layout with Flexbox after Box model and spacing
  9. Variables and values after Editor, preview, save
  10. Finding elements on the page after Variables and values, HTML document and basic tags
  11. Strings, numbers, booleans after Variables and values
  12. Decisions with if/else after Strings, numbers, booleans
  13. Functions after Decisions with if/else
  14. Reading errors and using the console after Functions
  15. Handling what can go wrong after Functions, Reading errors and using the console
  16. Responding to clicks and input after Finding elements on the page, Functions
  17. Reading and validating form input after Responding to clicks and input, Forms and inputs
  18. Arrays after Functions
  19. Loops after Arrays
  20. Objects after Arrays
  21. JSON after Objects
  22. Totals, sorting and grouping after Arrays, Objects
  23. Rendering a list from data after Objects, Finding elements on the page, Lists, sections and semantic tags
  24. Single source of truth after Rendering a list from data, Reading and validating form input
  25. Saving in the browser with localStorage after JSON, Single source of truth, Handling what can go wrong
  26. Create, read, update, delete after Saving in the browser with localStorage, Reading errors and using the console
  27. What a repo and a commit are after Editor, preview, save
  28. Write a README after What a repo and a commit are
  29. Explain your project out loud after Create, read, update, delete
With a server
  1. Why your app needs a server after Saving in the browser with localStorage, Create, read, update, delete
  2. Meet your workbench after What a repo and a commit are, Create, read, update, delete, Why your app needs a server
  3. Terminal basics after Meet your workbench
  4. npm and package.json after Terminal basics
  5. Splitting code into modules after npm and package.json, Create, read, update, delete, Why your app needs a server
  6. Asynchronous code after Functions, Reading errors and using the console, Why your app needs a server
  7. Git in your workbench after What a repo and a commit are, Terminal basics
  8. How HTTP works after JSON, Why your app needs a server
  9. Calling an API from the browser after Asynchronous code, How HTTP works
  10. What a REST API is after How HTTP works
  11. Node: JavaScript outside the browser after npm and package.json, Splitting code into modules
  12. Your first Express server after Node: JavaScript outside the browser, How HTTP works
  13. Configuration and secrets after Your first Express server, Git in your workbench
  14. Middleware, static files, errors after Your first Express server
  15. Serve the page you built, untouched after Middleware, static files, errors
  16. Write your API's contract and try it after What a REST API is, Your first Express server, Serve the page you built, untouched
  17. Keep data in memory and answer from it after Write your API's contract and try it, Middleware, static files, errors
  18. CRUD API for your resource after Middleware, static files, errors, Keep data in memory and answer from it, What a REST API is
  19. Move your app from localStorage to the API after CRUD API for your resource, Calling an API from the browser
  20. Keep data in memory and watch a restart wipe it after Move your app from localStorage to the API
  21. Reading and writing a JSON file after Node: JavaScript outside the browser, Asynchronous code, Handling what can go wrong, Keep data in memory and watch a restart wipe it
  22. Validate on the server after CRUD API for your resource, Reading and writing a JSON file
  23. What a host needs from your server after Move your app from localStorage to the API, Configuration and secrets, Validate on the server
  24. Ship, get feedback, adjust after Slice your idea into a first version, What a host needs from your server
Database and accounts
  1. Why a JSON file is not enough after CRUD API for your resource, Reading and writing a JSON file
  2. MongoDB: your first real database after Why a JSON file is not enough, Configuration and secrets
  3. Schemas and models with Mongoose after MongoDB: your first real database
  4. CRUD with MongoDB after Schemas and models with Mongoose, Validate on the server
  5. Signup with hashed passwords after Schemas and models with Mongoose
  6. Login and protected routes after Signup with hashed passwords, Middleware, static files, errors
  7. Security basics after Login and protected routes
  8. Relating documents after CRUD with MongoDB, Login and protected routes
  9. Users only see their own data after Login and protected routes, Relating documents
  10. Run it like production after CRUD with MongoDB, Configuration and secrets, Git in your workbench, What a host needs from your server
  11. Frontend and backend together after Run it like production, Move your app from localStorage to the API
  12. Portfolio and project story after Frontend and backend together, Write a README
  13. Interview on your full-stack project after Explain your project out loud, Users only see their own data, Frontend and backend together

What the checker will ask of you

Each step is checked when you press Check: in a real browser, or by starting your server and making requests. These are the first checks on this path.

1Step 1 · Start the Month Money page

The preview shows a Month Money page with a heading and a short description.

1Step 2 · Add the expense form

The page has a visible form with fields for an expense amount and description.

1Step 3 · Style the expense form

The form has a visible background colour and readable text.

What people ask

What does it cost to build this?

Your first build is on us: one project, the phase in the browser, with the AI to build it. To start it, your bank puts a ₹1 hold on a card; it is released and never charged. Studio access is ₹6,999 once and opens every phase for 6 projects; nothing renews.

What do I need?

A browser and a card for the ₹1 hold. Nothing to install: the browser steps run in a live preview, and the server steps run in a private workspace of your own, with a terminal and git and your own MongoDB.

How long does it take?

This path is 37 steps, about 46 hours: at 10 hours a week, about 5 weeks. Your own path is planned from your idea and sized to what you already know.

Do I keep the code?

Yes. Every step you pass is kept, and you can download the whole project as a git repository with one commit for each step, or publish it to your own GitHub. The code is yours.

See all twenty ideas