# José C. Paiva

> Solutions Architect & AI Specialist based in Porto, Portugal. 10+ experience in software architecture, AI/RAG solutions, automated assessment, and distributed systems.

## Summary

Full-stack engineer, AI specialist, and software architect with 10+ years of experience spanning R&D, educational technology, AI-enabled products, cloud integrations, and multi-tenant web platforms. PhD in Computer Science from the University of Porto, specializing in automated assessment of programming assignments, source-code semantics, feedback generation, and gamification.

## Contact & Links

- **Website**: https://jcpaiva.dev
- **Email**: paiva@kriol.io
- **GitHub**: https://github.com/josepaiva94
- **LinkedIn**: https://www.linkedin.com/in/jcpaiva/
- **Toptal**: https://www.toptal.com/developers/resume/jose-carlos-paiva#Ngneom
- **ORCID**: https://orcid.org/0000-0003-0394-0527

## Technical Skills

- **Languages**: TypeScript, JavaScript, Python, Java, C#, SQL, Bash/Shell, C/C++, HTML/CSS
- **AI & Data Engineering**: LLM Integration, RAG Pipelines, Qdrant Vector DB, Semantic Code Analysis, Automated Feedback, Pandas, NumPy
- **Full-Stack & Web**: Next.js, Nuxt.js, React, Vue.js, Node.js, NestJS, Flask, REST & GraphQL APIs, Tailwind CSS, Moodle Plugins
- **Databases & Storage**: PostgreSQL, MySQL, MS SQL Server, MongoDB, Redis, Neo4j, SQLite
- **Cloud & Infrastructure**: Docker, Kubernetes, AWS Integrations, Linux, nginx, CI/CD, Git, Performance Testing
- **EdTech & Research**: Automated Assessment, Learning Analytics, LMS Integration, Gamification Services, Bibliometric Analysis, Source-Code Graph Reps

## Key Projects & Systems

- **[HUB Digital — INOV-NORTE](https://jcpaiva.dev/projects/hub-digital)** (2026-01): Multi-tenant learning academy, communities of practice, and central CMS platform for higher-education consortium. *[Tech: Nuxt.js, TypeScript, Node.js, PostgreSQL, Moodle API, Docker, Qdrant, Redis]*
- **[GamiBot AI Assistant](https://jcpaiva.dev/projects/gamibot)** (2025-12): AI-powered conversational pedagogical agent for Moodle combining RAG, Qdrant vector DB, and real-time gamification. *[Tech: Python, Qdrant, RAG, LLM, Moodle Plugin, TypeScript]*
- **[FGPE — Gamified Programming Education](https://jcpaiva.dev/projects/fgpe)** (2021-08): International Erasmus+ ecosystem for gamified programming learning, featuring GraphQL Gamification Service, React PWA learning environment, and AuthorKit exercise builder. *[Tech: TypeScript, React, Node.js, GraphQL, NestJS, MongoDB, Redis, Monaco Editor, Keycloak, Docker]*
- **[Academia Ageing in Place — Quiz](https://jcpaiva.dev/projects/academia-ageing-in-place-quiz)** (2025-05): Multi-platform, offline-first gamified quiz application (Tauri + React + Node.js) and admin dashboard promoting digital, financial, health, and domestic literacy for senior citizens. *[Tech: Tauri, Rust, React, TypeScript, SQLite, Node.js, Express, Prisma, PostgreSQL, Docker, Vite, Android]*
- **[Academ_IA XP Platform](https://jcpaiva.dev/projects/academ-ia-xp)** (2024-10): Gamified learning platform with course catalogues, video watch tracking, automated PDF certificates, and agenda. *[Tech: TypeScript, Nuxt.js, Node.js, PostgreSQL, Tailwind CSS, PDF Engine]*
- **[HandSpy Research Engine](https://jcpaiva.dev/projects/handspy)** (2023-06): Psycho-physiological & linguistic research platform analyzing expressive writing markers and Google Drive workflows. *[Tech: Java, Angular.js, PostgreSQL, Spring Boot, Google Drive API, Microservices, NLP]*
- **[Lisbon Taxation & Trade](https://jcpaiva.dev/projects/lisbon-trade)** (2018-06): Historical harbour trade database and interactive ArcGIS mapping application for maritime routes and cargo. *[Tech: Node.js, Vue.js, PostgreSQL, ArcGIS API]*
- **[Asura Coding Competition Engine](https://jcpaiva.dev/projects/asura)** (2018-05): Game-based automated evaluation environment for Mooshak supporting AI player competition. *[Tech: Java, Mooshak, Automated Assessment, Game AI]*
- **[CIP Web Portal & Learner Area](https://jcpaiva.dev/projects/cip-portal)** (2024): Public institutional portal and private learner management area for Centro de Inovação Pedagógica (P.PORTO), with course catalogues, attendance validation, and automated PDF certificates. *[Tech: TypeScript, Nuxt.js, Node.js, PostgreSQL, Directus, PDF Engine]*
- **[PlurALL Institutional Platform](https://jcpaiva.dev/projects/plurall)** (2024): Educational platform and CMS for PlurALL, supporting responsive course catalogues, enrolment workflows, dynamic PDF certificate generation pipelines, and transactional messaging. *[Tech: TypeScript, Nuxt.js, Node.js, PostgreSQL, Directus, Tailwind CSS]*
- **[Distribuir Sorrisos Website](https://jcpaiva.dev/projects/distribuir-sorrisos)** (2025-08): Official web platform for Distribuir Sorrisos non-profit association, managing social initiative showcases, volunteer registration workflows, and community engagement. *[Tech: Next.js, TypeScript, Tailwind CSS, PostgreSQL, CMS]*
- **[Mooshak 2 Assessment System](https://jcpaiva.dev/projects/mooshak-2)** (2018): Next-generation web-based competitive programming evaluation platform co-developed with Prof. José Paulo Leal, featuring WebSockets, sandbox execution, and distributed scoring. *[Tech: Java, GWT, WebSockets, Automated Assessment, Sandboxing, Security]*

## Research & Publications

- **[Bridging Generative AI and Gamification in Moodle: Design and Evaluation of GamiBot](https://jcpaiva.dev/publications/bridging-generative-ai-and-gamification-2026)** (2026-01-01): While Learning Management Systems (LMS) like Moodle are ubiquitous in higher education, they often lack dynamic, personalized academic support. We present GamiBot, an intelligent pedagogical agent natively integrated into Moodle to bridge this gap. GamiBot combines Large Language Model (LLM)… [DOI: https://doi.org/10.4230/OASICS.ICPEC.2026.17]
- **[GamiBot](https://jcpaiva.dev/publications/gamibot-2026)** (2026-01-01): Presents GamiBot, an AI-powered pedagogical agent integrated into Moodle combining conversational RAG assistance, automated feedback, and native gamification mechanics. [DOI: https://doi.org/10.4230/ARTIFACTS.27132]
- **[Incremental Repair Feedback on Automated Assessment of Programming Assignments](https://jcpaiva.dev/publications/incremental-repair-feedback)** (2025-02-01): Automated assessment tools for programming assignments have become increasingly popular in computing education. These tools offer a cost-effective and highly available way to provide timely and consistent feedback to students. However, when evaluating a logically incorrect source code, there are… [DOI: https://doi.org/10.3390/electronics14040819]
- **[Clustering source code from automated assessment of programming assignments](https://jcpaiva.dev/publications/clustering-source-code)** (2024-05-01): Abstract Clustering of source code is a technique that can help improve feedback in automated program assessment. Grouping code submissions that contain similar mistakes can, for instance, facilitate the identification of students’ difficulties to provide targeted feedback. Moreover, solutions with… [DOI: https://doi.org/10.1007/s41060-024-00554-5]
- **[Comparing semantic graph representations of source code: The case of automatic feedback on programming assignments](https://jcpaiva.dev/publications/semantic-graph-code)** (2024-01-01): Static source code analysis techniques are gaining relevance in automated assessment of programming assignments as they can provide less rigorous evaluation and more comprehensive and formative feedback. These techniques focus on source code aspects rather than requiring effective code execution. To… [DOI: https://doi.org/10.2298/csis230615004p]
- **[FGPE+: The Mobile FGPE Environment and the Pareto-Optimized Gamified Programming Exercise Selection Model—An Empirical Evaluation](https://jcpaiva.dev/publications/fgpe-the-mobile-fgpe-environment-and-the-2023)** (2023-07-01): This paper is poised to inform educators, policy makers and software developers about the untapped potential of PWAs in creating engaging, effective, and personalized learning experiences in the field of programming education. We aim to address a significant gap in the current understanding of the… [DOI: https://doi.org/10.3390/computers12070144]
- **[Bibliometric Analysis of Automated Assessment in Programming Education: A Deeper Insight into Feedback](https://jcpaiva.dev/publications/bibliometric-analysis-aa)** (2023-05-01): Learning to program requires diligent practice and creates room for discovery, trial and error, debugging, and concept mapping. Learners must walk this long road themselves, supported by appropriate and timely feedback. Providing such feedback in programming exercises is not a humanly feasible task.… [DOI: https://doi.org/10.3390/electronics12102254]
- **[GATUGU: Six Perspectives of Evaluation of Gamified Systems](https://jcpaiva.dev/publications/gatugu-six-perspectives-of-evaluation-of-2023)** (2023-02-01): As gamification spreads to new areas, new applications are being developed and the interest in evaluating gamified systems continues to grow. To date, however, no one has comprehensively approached this topic: multiple evaluation dimensions and measures have been proposed and applied without any… [DOI: https://doi.org/10.3390/info14020136]
- **[PROGpedia: Collection of source-code submitted to introductory programming assignments](https://jcpaiva.dev/publications/progpedia-collection-of-source-code-subm-2023)** (2023-02-01): Learning how to program is a difficult task. To acquire the required skills, novice programmers must solve a broad range of programming activities, always supported with timely, rich, and accurate feedback. Automated assessment tools play a major role in fulfilling these needs, being a common… [DOI: https://doi.org/10.1016/j.dib.2023.108887]
- **[Automated Assessment in Computer Science: A Bibliometric Analysis of the Literature](https://jcpaiva.dev/publications/automated-assessment-in-computer-science-2023)** (2023-01-01): A comprehensive bibliometric mapping of automated assessment literature in computer science, analysing publication trends, key authors, citations, and emerging themes. [DOI: https://doi.org/10.1007/978-3-031-33023-0_11]
- **[Sifu Reloaded: An Open-Source Gamified Web-Based CyberSecurity Awareness Platform](https://jcpaiva.dev/publications/sifu-reloaded-an-open-source-gamified-we-2023)** (2023-01-01): Malicious actors can cause severe damage by exploiting software vulnerabilities. In industrial settings, where critical infrastructures rely on software, handling these vulnerabilities with utmost care is crucial to prevent catastrophic consequences. For this purpose, a cybersecurity awareness… [DOI: https://doi.org/10.4230/OASIcs.ICPEC.2023.5]
- **[Students’ Usability Evaluation of the FGPE Gamified Programming Learning Environment](https://jcpaiva.dev/publications/students-usability-evaluation-of-the-fgp-2022)** (2022-09-01): Gamified learning environments can effectively support programming education only if their usability satisfies students. Here, we report the results of the usability evaluation of the FGPE PLE, an open-source gamification-supporting web platform for learning programming. The evaluation was based on… [DOI: https://doi.org/10.62036/isd.2022.41]
- **[Automated Assessment in Computer Science Education: A State-of-the-Art Review](https://jcpaiva.dev/publications/automated-assessment-review)** (2022-02-01): Practical programming competencies are critical to the success in computer science (CS) education and go-to-market of fresh graduates. Acquiring the required level of skills is a long journey of discovery, trial and error, and optimization seeking through a broad range of programming activities that… [DOI: https://doi.org/10.1145/3513140]
- **[Managing Gamified Programming Courses with the FGPE Platform](https://jcpaiva.dev/publications/managing-gamified-programming-courses-wi-2022)** (2022-01-01): E-learning tools are gaining increasing relevance as facilitators in the task of learning how to program. This is mainly a result of the pandemic situation and consequent lockdown in several countries, which forced distance learning. Instant and relevant feedback to students, particularly if coupled… [DOI: https://doi.org/10.3390/info13020045]
- **[An Open-Source Gamified Programming Learning Environment](https://jcpaiva.dev/publications/an-open-source-gamified-programming-lear-2021)** (2021-01-01): The importance of e-learning tools facilitating the process of learning to program is growing, especially as the pandemic-caused lockdown enforced distance learning in many countries. The key success factor in this process is the provision of an instant and relevant feedback to students. In this… [DOI: https://doi.org/10.4230/OASIcs.ICPEC.2021.5]
- **[HandSpy 3.0: Logging Handwriting to Study Expressive Writing](https://jcpaiva.dev/publications/handspy-3-0-logging-handwriting-to-study-2021)** (2021-01-01): Presents HandSpy 3.0, a refactored web platform for capturing, logging, and analyzing real-time digital pen handwriting and pauses during expressive writing research.
- **[Mooshak’s Diet Update: Introducing YAPExIL Format to Mooshak](https://jcpaiva.dev/publications/mooshak-s-diet-update-introducing-yapexi-2021)** (2021-01-01): Practice is pivotal in learning programming. As many other automated assessment tools for programming assignments, Mooshak has been adopted by numerous educational practitioners to support them in delivering timely and accurate feedback to students during exercise solving. These tools specialize in… [DOI: https://doi.org/10.4230/OASIcs.SLATE.2021.9]
- **[Programming Exercises Interoperability: The Case of a Non-Picky Consumer](https://jcpaiva.dev/publications/programming-exercises-interoperability-t-2021)** (2021-01-01): Problem-solving is considered one of the most important skills to retain in the coming decades for building a modern and proactive society. In this realm, computer programming learning is vital to enrich those skills. Practicing in this area boils down to solve programming exercises. In order to… [DOI: https://doi.org/10.4230/OASIcs.SLATE.2021.5]
- **[Fostering Programming Practice through Games](https://jcpaiva.dev/publications/fostering-programming-practice-through-g-2020)** (2020-10-01): Loss of motivation is one of the most prominent concerns in programming education as it negatively impacts time dedicated to practice, which is crucial for novice programmers. Of the distinct techniques introduced in the literature to engage students, gamification, is likely the most widely explored… [DOI: https://doi.org/10.3390/info11110498]
- **[GEdIL—Gamified Education Interoperability Language](https://jcpaiva.dev/publications/gedil-textemdash-gamified-education-inte-2020)** (2020-05-01): The paper introduces Gamified Education Interoperability Language (GEdIL), designed as a means to represent the set of gamification concepts and rules applied to courses and exercises separately from their actual educational content. This way, GEdIL allows not only for an easy yet effective… [DOI: https://doi.org/10.3390/info11060287]
- **[Authoring Game-Based Programming Challenges to Improve Students' Motivation](https://jcpaiva.dev/publications/authoring-game-based-programming-challen-2020)** (2020-01-01): Proposes an authoring framework and workflow for game-based programming challenges aimed at increasing novice programmers' engagement and practice. [DOI: https://doi.org/10.1007/978-3-030-11932-4_57]
- **[Towards a Framework for Gamified Programming Education](https://jcpaiva.dev/publications/towards-a-framework-for-gamified-program-2019)** (2019-07-01): Computer programming is a difficult subject that can only be mastered with lots of practice. It is therefore of primary importance to rise and retain students' engagement during a programming course, a task in which gamification has been proven as a competent method. Even though there are numerous… [DOI: https://doi.org/10.1109/iset.2019.00038]
- **[Defining Requirements for a Gamified Programming Exercises Format](https://jcpaiva.dev/publications/defining-requirements-for-a-gamified-pro-2019)** (2019-01-01): Computer programming is a complex domain both to teach and learn. This incited endeavors to find methods that could mitigate at least some of the existing barriers. In the last years, automatic assessment has been playing an important role in reducing the burden of teachers in the assessment of… [DOI: https://doi.org/10.1016/j.procs.2019.09.425]
- **[Heart Rate Variability Correlates of Expressive Writing](https://jcpaiva.dev/publications/heart-rate-variability-correlates-of-exp-2019)** (2019-01-01): Investigates autonomic nervous system responses and heart rate variability (HRV) correlates during expressive writing tasks. [DOI: https://doi.org/10.1097/j.pbj.0000000000000054]
- **[Using HandSpy 2.3 to Study Handwriting and Spelling](https://jcpaiva.dev/publications/using-handspy-2-3-to-study-handwriting-a-2019)** (2019-01-01): Describes the deployment of HandSpy 2.3 to capture, log, and analyze real-time handwriting dynamics and spelling processes.
- **[Asura: A Game-Based Assessment Environment for Mooshak](https://jcpaiva.dev/publications/asura-a-game-based-assessment-environmen-2018)** (2018-01-01): Presents Asura, a game-based assessment environment built on top of Mooshak that challenges students to code Software Agents to compete in automated game tournaments. [DOI: https://doi.org/10.4230/OASIcs.SLATE.2018.9]
- **[Improving Diagram Assessment in Mooshak](https://jcpaiva.dev/publications/improving-diagram-assessment-in-mooshak-2018)** (2018-01-01): Enhances Mooshak 2.0 with graph-based diagram evaluation capability, automated feedback generation, and extensible web editing. [DOI: https://doi.org/10.1007/978-3-319-97807-9_6]
- **[Moozz: Assessment of Quizzes in Mooshak 2.0](https://jcpaiva.dev/publications/moozz-assessment-of-quizzes-in-mooshak-2-2018)** (2018-01-01): Introduces Moozz, an extension for Mooshak 2.0 supporting automated evaluation of multiple-choice, fill-in-the-blank, and matching quizzes. [DOI: https://doi.org/10.4230/OASIcs.SLATE.2018.3]
- **[Raccode: An Eclipse Plugin for Assessment of Programming Exercises](https://jcpaiva.dev/publications/raccode-an-eclipse-plugin-for-assessment-2018)** (2018-01-01): Presents Raccode, an Eclipse IDE plugin connecting desktop development workflows with automated assessment servers. [DOI: https://doi.org/10.4230/OASIcs.SLATE.2018.4]
- **[Enhancing Feedback to Students in Automated Diagram Assessment](https://jcpaiva.dev/publications/enhancing-feedback-to-students-in-automa-2017)** (2017-01-01): Presents techniques for generating rich, formative feedback in automated evaluation of visual diagrammatic languages. [DOI: https://doi.org/10.4230/OASIcs.SLATE.2017.11]
- **[Design and Implementation of an IDE for Learning Programming Languages Using a Gamification Service](https://jcpaiva.dev/publications/design-and-implementation-of-an-ide-for-2016)** (2016-01-01): Details the architectural design and implementation of Enki, a web-based IDE that integrates gamification services to support programming language learning. [DOI: https://doi.org/10.4018/978-1-5225-1034-5.ch014]
- **[Enki: A Pedagogical Services Aggregator for Learning Programming Languages](https://jcpaiva.dev/publications/enki-a-pedagogical-services-aggregator-f-2016)** (2016-01-01): Introduces Enki, a web-based IDE that aggregates distributed pedagogical services—code evaluation, gamification, and resource sequencing—into a unified learning portal. [DOI: https://doi.org/10.1145/2899415.2899441]
- **[Eshu: An Extensible Web Editor for Diagrammatic Languages](https://jcpaiva.dev/publications/eshu-an-extensible-web-editor-for-diagra-2016)** (2016-01-01): Presents Eshu, a modular HTML5 web editor for diagrammatic languages supporting graph drawing, custom node/edge semantics, and integration with automated evaluation systems. [DOI: https://doi.org/10.4230/OASIcs.SLATE.2016.12]
- **[Gamification of Learning Activities with the Odin Service](https://jcpaiva.dev/publications/gamification-of-learning-activities-with-2016)** (2016-01-01): Presents Odin, a dedicated gamification REST service tailored for e-learning platforms to manage points, badges, leaderboards, and user progress. [DOI: https://doi.org/10.2298/CSIS160123025P]
- **[Integrating Rich Learning Applications in LMS](https://jcpaiva.dev/publications/integrating-rich-learning-applications-i-2016)** (2016-01-01): Discusses standards and architectures (e.g. LTI) for seamlessly integrating rich, interactive educational applications into Learning Management Systems. [DOI: https://doi.org/10.1007/978-981-287-868-7_46]
- **[Learning Computer Science Languages in Enki](https://jcpaiva.dev/publications/learning-computer-science-languages-in-e-2016)** (2016-01-01): Overview of student workflows and pedagogical tools available within Enki for learning computer science languages. [DOI: https://doi.org/10.1145/2899415.2925504]
- **[Odin: A Service for Gamification of Learning Activities](https://jcpaiva.dev/publications/odin-a-service-for-gamification-of-learn-2015)** (2015-01-01): Presents Odin, a specialized microservice providing gamification mechanics—badges, experience points, leaderboards—for educational applications. [DOI: https://doi.org/10.1007/978-3-319-27653-3_19]

## Experience Highlights

- **AI Specialist, Solutions Architect & Full-Stack Developer** at **Centro de Inovação Pedagógica, P.PORTO** (2024-12 – Present): Architects and delivers AI-powered educational products, institutional web platforms, learner portals, and Moodle plugins for P.PORTO and INOV-NORTE consortium.
- **CEO, Solutions Architect & Full-Stack Developer** at **Kriol.IO** (2022-01 – Present): Leads a software consultancy studio providing custom web applications, API design, cloud services, SaaS integrations, and technical advisory for clients worldwide.
- **Full-Stack Engineer / AI Specialist** at **Toptal** (2021-08 – Present): Works with international client teams as a vetted full-stack engineer and AI specialist, delivering high-performance web applications and cloud integrations.
- **PhD Researcher in Computer Science** at **Faculty of Sciences, University of Porto** (2021-01 – 2025-01): Completed PhD research titled 'Improving Feedback in the Automated Assessment of Programming Assignments Using Students' Past Solutions'.
- **Research Assistant — FGPE** at **INESC TEC / CRACS** (2019-02 – 2021-02): Contributed to an Erasmus+ European project developing a web-based environment for gamified programming exercises.
- **Research Assistant — FOUREYES-3** at **INESC TEC / CRACS** (2016-04 – 2018-12): Integrated diagram assessment, game-based assessment environments, and teacher analytics into the Enki learning platform.
- **Lead Developer & Architect — HandSpy** at **University of Porto — Faculty of Psychology** (2018-10 – Present): Stabilised, refactored, and architected HandSpy v2.3 and v3 research platforms for psycho-physiological and linguistic markers in expressive writing.
- **Tech Mentor & Advisory Specialist** at **CodeMentor** (2018-10 – Present): Mentors developers, students, and technology leaders in software engineering, system architecture, debugging, and CS problem-solving.
- **AWS Integration Engineer** at **Aplynk** (2018-10 – 2019-02): Developed AWS-based data-integration microservices connecting Zoho CRM, Zoho Books, Zoho Inventory, Exact Online, and Xero.
- **Full-Stack Developer & GIS Specialist — Lisbon Taxation and Trade** at **University of Minho** (2018-03 – 2018-06): Built a Node.js REST API, PostgreSQL database, and Vue.js GIS visualization web application with ArcGIS for historic harbour activity analytics.
- **Software Engineer — TradeNetworks** at **University of Minho** (2015-09 – Present): Maintains and extends a Java/Hibernate/JSF and SQL Server platform for Portuguese external-trade relations analytics from the 18th–19th centuries.
- **Cloud Solutions Developer — BizOne** at **Apora** (2016-07 – 2016-12): Developed a platform for domain purchases, associated cloud services, AWS hosting, customer back-office functionality, and sales connectors.
- **Full-Stack Developer — Duurzame Energie** at **Apora** (2016-01 – 2016-06): Built an application to estimate energy costs, automatically generate electricity and gas PDF contracts, and email them to prospects.
- **Technical Solutions Consultant — Zoho Suite** at **Apora** (2015-08 – Present): Provides technical support, custom web tools, automation scripts, and cloud solutions for enterprise Zoho customers.
- **Software Engineering Intern** at **Ifthen Software, Lda** (2011-06 – 2012-07): Developed e-commerce payment reference plugins and desktop GIS geolocation tools.

## Project Proposals & Services

José Paiva is available for 100% remote consulting, software architecture, custom plugin development (Moodle/LMS/SaaS), AI/RAG integrations, and full-stack web development.
- **Estimate / Proposal Inquiries**: Users can submit project proposal details directly through the interactive AI Assistant on [jcpaiva.dev](https://jcpaiva.dev) or by emailing [paiva@kriol.io](mailto:paiva@kriol.io).

---
*For a complete markdown document of all projects, publications, detailed experience, and full content, see [llms-full.txt](https://jcpaiva.dev/llms-full.txt).*
