Skip to content

Frontend / React

To-Do List Web Application

A dynamic to-do application for managing daily tasks. Built in React with no backend, as a deliberate exercise in component structure, state management and controlled inputs.

ReactJavaScriptCSS

Repository not public — happy to walk through the code on a call

To-Do List Web Application — schematic overview diagram
Schematic overview — a diagram, not a product screenshot
01Overview

What it is.

Not a complicated project, and it is listed here honestly as what it is: the exercise where React's mental model finally clicked.

Controlled inputs, lifting state up, and keeping components small are all things I now do reflexively, and this is where they were learned.

02 — The problem

Learning a framework from tutorials gives you syntax, not judgement about where state belongs.

03 — The approach

Build the smallest complete CRUD app possible and make every state decision deliberately rather than copying a structure.

04Key features

What it actually does.

Add, edit, complete, delete

The full task lifecycle.

Filtered views

Switch between all, active and completed tasks.

Controlled inputs

Form state driven entirely by React state.

05Architecture

How the pieces fit together.

  1. 01

    App state

    Task list held at the top level and passed down.

  2. 02

    Components

    Input, list and item split by responsibility.

06Technology

The stack.

Chosen for the problem, not for the resume.

Frontend
ReactJavaScriptCSS
07What I learned

The part that stuck.

Student portfolio, so this section is the point — here is what this build actually taught me.

  • 01

    Where state lives determines how painful everything else is. Lifting it too late meant rewriting components twice.

  • 02

    Keys matter. Using array indices as keys produced bugs that only appeared after deleting an item mid-list.

Next project

LearnForge

An adaptive AI tutoring platform that turns a student's own course material into explanations, quizzes and flashcards.

Work together

Have a project idea?

I'm open to freelance projects, collaborations, internships, and opportunities where I can contribute while continuing to grow.

Usually replies within a day · Lahore, Pakistan · PKT (UTC+5)

Chat on WhatsApp