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

Interactive CLI Main Menu

Adding Subjects and Topics

Progress Calculation & Study Streak Tracking

Data Persistence Across Sessions
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

