I set out to build a study automation platform for two reasons:
- The relentless pace of tech demands smarter learning strategies. Automating study routines can help technical professionals (like myself) manage the ever-evolving landscape of skills.
- To deepen my knowledge of Spring Boot by applying it to a real-world project.
I succeeded in solidifying my Spring Boot skills—taking my understanding beyond what I would have learned with a simpler project. However, when tackling the first challenge, I learned a humbling truth familiar to many businesses: the first attempt often reveals the complexity of the problem, not the solution. This project illuminated how AI can transform educational platforms, pointing to a future beyond traditional CRUD-based systems.

What This Article Covers:
Feel free to skip to any section above using the links!
Links to application and Repo:
GitHub: https://github.com/BrianDriscollCode/LearningToolCapstone
I recently stopped the container for this application. Please refer to my portfolio to see other projects.
1. How the Project Was Built
A. Design
This platform follows a standard front-to-back architecture. The frontend uses Vue for routing and managing views and components. It communicates with a Spring Boot backend API for CRUD operations on the database. The application is containerized with Docker and deployed to Azure.
In future iterations, I’d move session management entirely to the backend. Currently, session tokens are stored in the frontend using local storage, posing a potential security risk. Handling token verification on the server, paired with IP-based checks, would offer a more secure solution.
B. Backend and Database
The Spring Boot database representation (unreadable on website, but explanation below):

The backend structure uses controllers (red), services (white), and entities (yellow) to manage data flow. Initially, I created a service and controller for each table. Over time, I shifted toward grouping logic around business functions, such as a “LearningMap” service.
Future improvements include consolidating controllers into abstractions like Dashboard, Scheduler, and StudySessionEditor. This would simplify the architecture and make the app easier to communicate about with non-technical stakeholders and to manage with the frontend.
C. Frontend and Components
The platform uses Vue’s SPA capabilities with structured CSS to create a dynamic, app-like experience. Routes handle login checks, and components are composed of smaller elements that render data using props. A Pinia store manages state, with fallback logic ensuring data persists across refreshes.
Here’s an example of a page’s structure:
D. Services
- Supabase handles secure session management.
- AWS RDS connects the Spring Boot backend to a relational database.
- OpenAI API generates custom questions and answers for study topics.
2. List of Features
A. Complete Study Sessions
- Start a study session by selecting a time.
- Follow the progress bar while you study.
- When the session ends, it marks as complete and records your progress.
B. Reschedule or Delete Study Sessions
- Adjust your daily schedule by rescheduling study sessions over the next seven days.
- Delete sessions if needed.
- Focus on daily flexibility instead of planning the entire month in advance.
C. View Monthly Schedule
- See an overview of all scheduled study sessions for the current month.
D. Add Subjects and Topics
- Organize your studies by adding subjects and the topics within them.
E. Manage Topics
- Customize learning settings:
- Adjust learning frequency and competency levels.
- Add reference materials, questions, and answers.
- Use AI to generate questions and answers for review.
F. Search Study Sessions
- Quickly find specific study sessions by searching for a topic name.
G. Generate Reports
- Create a report that includes:
- Topics, their associated subjects, and the number of completed sessions.
- Competency levels and current learning status for each topic.
3. Next steps toward a modern, AI-driven approach
While this project laid a solid foundation, I quickly realized that solving the “learning treadmill” requires more than CRUD operations and static algorithms.
For instance, the app currently allows users to manually update their learning status. While helpful, it still depends on subjective self-evaluation. AI could remove this friction entirely.
AI excels at processing vast amounts of data and predicting outcomes. Learning, at its core, involves absorbing information, organizing it into memory, and forming neural connections. This process takes time and focus—both limited resources. Every day spent studying inefficiently slows progress.
The solution isn’t static or mechanical. It demands dynamic, adaptive processes that AI can drive.
Leveraging AI as an Engine for Learning
- Personalized Learning Paths
AI acts as a tutor—tracking your progress, suggesting topics, and adjusting difficulty to keep learning challenging yet manageable. - Instant Feedback and Grading
AI grades answers instantly, including open-ended responses, providing detailed feedback and recommendations instead of a mere score. - Dynamic Study Schedules
AI uses memory models like spaced repetition to predict when and what you should review, optimizing your routine without manual effort.
Additional Improvements
- Date Management: A unified system for handling time zones and date objects between Java and JavaScript is needed.
- Fault Tolerance: Enhanced onboarding paths and fallback logic for connectivity issues will improve resilience.
- Visual Overhaul: The goal was to get the functionality working with a navigable UI. But the design is lackluster and needs a sitewide update.
Conclusion
Building this platform strengthened my skills in full-stack development, containerization, and database management. I also integrated AI, taking a step toward building intelligent learning tools.
More importantly, this experience opened my eyes to a broader vision: AI isn’t just a feature—it’s an engine that can reshape how we design software. I’m excited to continue learning and developing the skills needed to build AI-powered solutions that go beyond CRUD apps to truly enhance user experiences.
Leave a Reply