Building a Revision Tracker with GitHub Copilot CLI

This is a submission for the GitHub Copilot CLI Challenge

What I Built

I built a CLI-based Exam Revision Tracker using Java that helps students organize and track their exam preparation directly from the terminal.

The application allows users to:

  • Add subjects
  • Add revision topics under each subject
  • Mark topics as completed
  • Track subject-wise progress
  • View overall progress percentage
  • Maintain a daily study streak
  • Persist data between sessions using file serialization

This tool was inspired by the fact that I recently went through a very chaotic exam experience. I did not want to lose track of what has already been revised. So I wanted a lightweight, distraction-free productivity system that runs entirely in the terminal.

Demo

Using gh copilot -i
Copilot suggested architectural improvements, class relationships, and scalability enhancements, significantly accelerating the development process.
Interactive CLI Main Menu
The menu-driven system allows users to add subjects, manage topics, track progress, and exit while automatically saving data.<br>
Color-coded output improves clarity and user experience directly within the terminal.

Adding Subjects and Topics
Here, a subject (
Progress Calculation & Study Streak Tracking
This view shows subject-wise progress, overall progress, and the daily study streak.<br>
Progress is calculated based on completed topics, and the streak updates automatically when a topic is marked as completed using Java’s LocalDate API.
Data Persistence Across Sessions

After exiting and restarting the application, previously entered data remains intact.<br>
This confirms successful implementation of Java object serialization for persistent state management.

My Experience with GitHub Copilot CLI

This is my first time participating in a developer challenge, and I’m still very new to building full applications independently. Because of that, GitHub Copilot CLI became an incredibly valuable learning companion throughout this project.

I used GitHub Copilot CLI directly inside my terminal throughout development.

Instead of switching between browser tabs and documentation, I was able to:

  • Generate OOP class structures
  • Design encapsulated Java classes
  • Implement progress calculation logic
  • Add Java serialization for data persistence
  • Refine the study streak algorithm using LocalDate
  • Improve overall code organization

Prompts I used:

gh copilot -i "design the class structure for a CLI based exam revision tracker in Java using OOP principles"

gh copilot -p "write a Java class Subject that contains a subjectName and a list of Topic objects with progress calculation

gh copilot -p "how to implement Java object serialization to save application state"

Copilot CLI significantly reduced development friction and gave me the confidence to experiment with features like persistence and streak tracking — things I might have avoided as a beginner.

The most impactful aspect was how quickly I could prototype structured, clean OOP components without breaking my development flow.

As a newcomer, this experience showed me how powerful AI-assisted development can be — not as a replacement for understanding, but as a tool that accelerates learning and iteration.

Github Repository: https://github.com/SussyBakaJr/exam-revision-tracker-cli/tree/main

Leave a Reply