Adam Doyle
Assimilate is a teacher-independent adaptive learning system built to tackle the limitations of traditional education — namely its one-size-fits-all approach and slow feedback cycles. Using a microservice architecture, it combines template-based question generation, LLM-powered stepwise grading, and Bayesian Knowledge Tracing to deliver a personalised, closed-loop learning experience. The system continuously tracks a student's mastery across mathematical sub-skills and adapts question difficulty in real time, all without human intervention. Built with Spring Boot, FastAPI, Python, and Java, Assimilate demonstrates the feasibility of intelligent, autonomous education technology.
The primary objective of Assimilate was to assess the feasibility of automating personalised education without the involvement of a human instructor. To achieve this, the project aimed to design and implement a closed-loop microservice architecture capable of handling question delivery, automated grading, and knowledge tracking as a seamless pipeline. A core goal was to integrate a Large Language Model to evaluate student submissions in a stepwise manner, mirroring the process-oriented marking scheme used in the Irish Leaving Certificate. Alongside this, a Bayesian Knowledge Tracing model was trained and deployed to probabilistically track each student's mastery of mathematical sub-skills over time, adapting question difficulty in response to their performance. The project also sought to explore the practical challenges of building production-ready AI systems, including prompt engineering, model training with synthetic data, and designing fault-tolerant distributed systems. Ultimately, Assimilate aimed to demonstrate that intelligent, teacher-independent learning systems are not only technically feasible, but capable of delivering a more responsive and personalised experience than traditional classroom environments can offer.
Assimilate successfully proved the feasibility of a teacher-independent adaptive learning system. The completed system delivers a fully operational closed-loop pipeline — from question generation through to LLM grading and Bayesian Knowledge Tracing — without any human intervention. Building across multiple languages and frameworks simultaneously was a steep but rewarding challenge, and it deepened my understanding of system design, microservice architecture, and how distributed services communicate at scale.
One of the more unexpected challenges was the reliability of the LLM grading component. Despite extensive prompt engineering, keeping the model deterministic and consistent proved difficult, highlighting a real limitation of using smaller open-source models in high-stakes grading scenarios. Training the BKT model on synthesized data was another pragmatic solution that worked, but reinforced how critical real-world data is to building accurate predictive systems.
The project also shifted my approach to software development. Moving from sprint-based to incremental development mid-project taught me to stay adaptable without losing sight of core goals. Overall, Assimilate gave me hands-on experience across backend engineering, AI integration, and system design .
This thesis investigates the feasibility of a teacher-independent adaptive learning system through the design and implementation of Assimilate. It explores three core research areas: the limitations of traditional and e-learning education systems, the application of Bayesian Knowledge Tracing as a probabilistic model for tracking student mastery, and the use of Large Language Models as automated, process-oriented graders. The research questions centre on whether a closed-loop pipeline can reliably assess student performance, adapt to individual ability levels, and operate entirely without human oversight. Drawing on literature across intelligent tutoring systems, adaptive learning, and knowledge tracing, the project evaluates Assimilate against a defined set of success criteria through functional, integration, and user testing. The thesis concludes that the approach is feasible — the system successfully automates grading, tracks skill-level mastery, and adapts question difficulty in real time. It also honestly addresses the limitations encountered, particularly around LLM reliability and the narrow scope of trackable skills, and sets out a clear direction for future development.
I'm a Creative Computing graduate with a passion for backend development, system design, and AI. I work primarily in Python and Java, and enjoy building clean, efficient systems with tools like FastAPI. What draws me to this field is the challenge of making complex things work seamlessly behind the scenes — and figuring out how intelligent systems can make them work even better.