Building a Study Automation Platform With AI Features

Building a Study Automation Platform With AI Features

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.

Image of Login

What This Article Covers:

  1. How the project was built
  2. List of Features
  3. Next steps toward a modern, AI-driven approach

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

Image of application system 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):

backend UML diagram

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:

component design

D. Services

  • Supabase handles secure session management.
  • AWS RDS connects the Spring Boot backend to a relational database.
DB ERD design
  • 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

  1. Personalized Learning Paths
    AI acts as a tutor—tracking your progress, suggesting topics, and adjusting difficulty to keep learning challenging yet manageable.
  2. Instant Feedback and Grading
    AI grades answers instantly, including open-ended responses, providing detailed feedback and recommendations instead of a mere score.
  3. 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.

Brian Driscoll Avatar

Leave a Reply

Your email address will not be published. Required fields are marked *