Requirements

Partner Introduction

SmolPC 2.0 sits within both a direct partner context and a wider technology ecosystem. The primary external partner context for this project is MotionInput Games, while the organisations below remain important because they shaped the deployment environment, hardware targets, and runtime technologies used by the final system.

MotionInput Games

MotionInput Games is an official AI spinout of UCL Computer Science focused on accessible, touchless gaming and equitable computing. In the context of SmolPC 2.0, it provides the clearest direct external partner and publishing context through our supervisor, Prof Dean Mohamedally, who is listed by MotionInput Games as CEO & CTO. We therefore treat MotionInput Games as the project's primary external partner, while Intel, Microsoft, and IBM are better understood as technology and ecosystem-context contributors rather than day-to-day implementation partners.

Intel

Intel is relevant to SmolPC 2.0 primarily because OpenVINO and Intel hardware support informed part of the local runtime strategy. The project uses OpenVINO where it is the best supported option on the target Windows device, but Intel was not directly embedded in day-to-day development of the final implementation.

Microsoft

Microsoft is relevant mainly because SmolPC 2.0 is a Windows-first desktop application and part of the runtime path relies on Windows-compatible tooling such as DirectML and ONNX Runtime packages. Microsoft did not have direct hands-on involvement in the final implementation.

IBM

IBM forms part of the wider partner context around the project, but it was not a direct technical contributor to the final SmolPC 2.0 implementation. Its role in this report is therefore contextual rather than implementation-specific.

Project Background

Artificial intelligence is transforming education, yet access to AI-powered learning tools remains deeply unequal. Most mainstream systems still depend on cloud accounts, reliable internet connectivity, and platform lock-in, which makes them difficult to deploy in privacy-sensitive or under-resourced educational settings. According to UNESCO, the majority of primary schools and a significant proportion of secondary schools worldwide lack internet connectivity. [1] At the same time, teachers are under increasing workload pressure [2], and schools risk falling further behind in the emerging AI divide. [3]

The project began from an earlier SmolPC LibreOffice prototype that demonstrated local AI assistance was possible, but also exposed important limitations. It centred on one application, relied on a more cumbersome local inference setup, and did not translate cleanly into a broader classroom platform. As the project scope expanded to include a dedicated coding workflow together with GIMP and Blender support, it became clear that simply extending the old architecture would create repeated deployment, security, and maintainability problems.

Those constraints shaped the final direction of SmolPC 2.0. Rather than remaining a LibreOffice-first prototype, the project evolved into a unified offline AI platform with coding support as the flagship workflow and shared support for writing, presentations, image editing, and 3D workflows. This shift also changed the technical requirements: Windows-first packaged deployment, local privacy, easier setup, reduced installation burden, and hardware-aware local inference became core project goals rather than secondary concerns.

Project Goals

The overarching goal of SmolPC 2.0 is to deliver a free, offline, open-source AI assistant suite that integrates directly into the software students already use, including coding, LibreOffice, GIMP, and Blender workflows, while remaining realistic to deploy on a range of school and personal devices. Rather than assuming one fixed hardware profile, the system is designed to recognise the best supported local runtime path on the current machine and keep local AI practical without cloud dependence.

Specifically, SmolPC 2.0 aims to:

  • Enable students and teachers to control educational software through natural language, reducing the technical barrier to using complex applications.
  • Support coding education through an AI-powered assistant that guides students through programming concepts and helps them debug their work.
  • Offer optional local voice input and read-aloud in SmolPC 2.0 so that users can dictate prompts and listen to responses without relying on cloud accessibility services.
  • Teach image editing and 3D modelling interactively, through AI assistants embedded directly in GIMP and Blender.
  • Operate entirely offline in a Windows-first packaged application, using locally managed models to ensure data privacy and avoid dependence on internet connectivity or a separate Ollama installation.
  • Remain hardware-aware on Windows by selecting the best supported runtime path for the current machine and leveraging technologies such as OpenVINO where appropriate.
  • Gathering Requirements

    Requirements were gathered iteratively rather than fixed once at the start. Because SmolPC evolved through several architectural pivots during development, the final requirements reflect both early stakeholder goals and constraints discovered through implementation.

    1. Legacy baseline: we reviewed the original SmolPC LibreOffice and Ollama-based prototype to identify what was reusable and what prevented broader adoption.
    2. Scope expansion: new project objectives introduced a dedicated coding workflow together with assistants for GIMP and Blender, turning the project from a single-application prototype into a multi-workflow platform.
    3. Prototype-driven refinement: early assistant development exposed problems around duplicated inference logic, security boundaries, Windows packaging, and the deployment overhead of relying on a separately managed model server.
    4. Deployment-driven refinement: as the goal shifted towards realistic school deployment, requirements expanded to include a unified app, a shared local engine, hardware-aware runtime selection, direct model management inside the product, and a setup flow that avoids asking students or teachers to install Ollama or manage inference infrastructure manually.

    We did not rely on a formal pupil survey. Direct access to school-age users was limited for safeguarding reasons, so requirements were refined through supervisor discussions, teacher-facing feedback, prototype evaluation, and iterative internal testing of realistic workflows.

    We also compared mainstream cloud AI tools with the deployment assumptions required for SmolPC 2.0. This was not intended as a general product ranking; it was a way to highlight why privacy, offline use, easier deployment, local control, and predictable classroom setup became decisive requirements for this project.

    Later accessibility-oriented implementation work on voice interaction reinforced the same conclusion: if speech input or read-aloud support was included, it still needed to run locally, avoid separate cloud services, and degrade safely when audio hardware or bundled voice resources were unavailable.

    Criterion Microsoft Copilot ChatGPT Google Gemini SmolPC v2.0 (ours)
    Internet required during normal use Yes Yes Yes No
    User data processed off-device Yes Yes Yes No
    Account or platform dependency for core use Yes Yes Yes No
    Suitable for privacy-preserving local deployment No No No Yes
    Open-source and redistributable core stack No No No Yes

    Table 1. Comparison of deployment assumptions between mainstream cloud AI tools and SmolPC v2.0.

    Personas

    Based on the information we've collected, we constructed the following personas:

    Persona of a Student

    Persona 1 photo

    A secondary-school student who uses a school or personal laptop for programming, coursework, presentations, and creative assignments. They are comfortable asking questions in plain English, but not configuring local AI tooling or debugging installation problems. They need a tool that feels approachable, keeps their work private, and helps across more than one subject area.

    Persona of a Teacher

    Persona 2 photo

    A teacher or teaching assistant who prepares lesson material, supports students in computing and digital media work, and values predictable deployment. They want useful AI support for classroom tasks, but cannot depend on cloud services, paid subscriptions, or setup steps that would be difficult to repeat across many student devices.

    Use Case Diagram

    SmolPC 2.0 — User Interactions

    Use case diagram for SmolPC 2.0 showing Student and Teacher actors, core assistant interaction, optional voice features, coding help, LibreOffice workflows, GIMP image editing, Blender help, and conversation history.

    Figure 1. High-level use case diagram for SmolPC 2.0 as a unified local AI platform.

    Use Case List

    The following use cases describe how students and teachers interact with SmolPC v2.0 as a unified local AI platform. Each use case maps to one or more functional requirements listed in the MoSCoW section below.

    Use cases

    UC1 — Start SmolPC and Send a Text Request

    ActorStudent / Teacher
    Pre-conditionSmolPC 2.0 is open and the shared local engine is available.
    Main Flow
    1. User opens SmolPC 2.0 Home and selects a tool.
    2. User types a request in the chat box.
    3. The text is sent to the local LLM; a loading indicator is shown while processing.
    4. The AI response appears in the chat panel.
    5. If supported, the user can press a read-aloud control to hear the response locally.
    Post-conditionThe response is visible in the active workspace and the request has been handled locally, with optional local audio playback if requested.
    ExceptionIf the runtime or host application is unavailable, the user is shown setup guidance or a clear recoverable error.

    UC2 — Get Coding Help in Code Mode

    ActorStudent / Teacher
    Pre-conditionCode mode is active in the unified SmolPC application and the shared engine is ready.
    Main Flow
    1. User opens Code mode from SmolPC 2.0 Home.
    2. User types or dictates a coding question, bug report, or request for new code.
    3. The assistant generates a local response that explains the problem, suggests fixes, or drafts code.
    4. User continues the conversation, copies code, or optionally uses read-aloud on the assistant response.
    Post-conditionStudent receives a locally generated coding answer suited to the task.

    UC3 — Create or Edit a Document in LibreOffice Writer

    ActorStudent / Teacher
    Pre-conditionLibreOffice is installed and Writer mode is available in SmolPC.
    Main Flow
    1. User opens Writer mode from the unified application.
    2. User creates a new document or works on an existing one.
    3. User asks the assistant to draft, edit, structure, or format content.
    4. The Writer workflow applies the requested actions and returns a summary.
    5. User reviews the result and requests further refinement if needed.
    Post-conditionThe document is updated locally according to the request.

    UC4 — Create or Edit a Presentation in Slides

    ActorStudent
    Pre-conditionSlides mode is available in SmolPC and LibreOffice is installed.
    Main Flow
    1. User opens Slides mode from the unified application.
    2. User asks for a new presentation, new slide content, or edits to an existing deck.
    3. The assistant generates slide-level actions and applies them through the LibreOffice workflow.
    4. User reviews the updated deck and continues refining it in natural language.
    Post-conditionThe presentation is created or updated locally according to the request.

    UC5 — Edit an Image in GIMP

    ActorStudent
    Pre-conditionGIMP is installed on the device and GIMP mode is selected.
    Main Flow
    1. User switches to GIMP mode.
    2. User asks for an edit such as cropping, blurring, adjusting colour, or applying a transformation.
    3. The GIMP workflow maps the request to local tool actions.
    4. The image is updated and the user asks for follow-up changes if needed.
    Post-conditionThe requested image edit is completed locally inside the GIMP workflow.

    UC6 — Get Scene-Aware Help in Blender

    ActorStudent / Teacher
    Pre-conditionBlender is installed and Blender mode is available in SmolPC.
    Main Flow
    1. User switches to Blender mode.
    2. User asks a question about the current scene, object, material, or workflow.
    3. The assistant uses local context and retrieval to produce a scene-aware answer.
    4. User follows the guidance and continues the conversation with follow-up questions.
    Post-conditionUser receives Blender help that is grounded in the local workflow rather than a generic web-style answer.

    UC7 — Switch Modes and Continue Previous Work

    ActorStudent / Teacher
    Pre-conditionAt least one previous conversation exists locally and the unified application is open.
    Main Flow
    1. User opens SmolPC 2.0 and sees their chat history listed in the left sidebar.
    2. User clicks a past conversation (e.g. "Python Function Help — Yesterday").
    3. The full conversation loads and the user continues from where they left off.
    Post-conditionMode-specific work and chat history remain available inside one unified application.

    MoSCoW Requirements

    Requirements were prioritised using the MoSCoW method, separating what the system must deliver from what would be beneficial but is not critical. The list below reflects the final agreed requirements following stakeholder interviews and pseudo-user testing.

    Functional Requirements

    ID Requirement Priority
    FR-M1 The platform shall accept natural language requests via text input across all assistant modes. Must Have
    FR-M2 The platform shall provide a unified desktop shell that brings together the Code mode and assistant workflows for LibreOffice, GIMP, and Blender. Must Have
    FR-M3 The Code mode shall answer coding questions, explain programming concepts, and generate or debug code in plain language. Must Have
    FR-M4 The LibreOffice assistant shall support document and presentation workflows through natural language requests. Must Have
    FR-M5 The GIMP assistant shall support image-editing workflows through natural language requests. Must Have
    FR-M6 The Blender assistant shall support scene-aware 3D help and workflow guidance through natural language requests. Must Have
    FR-M7 All AI inference shall run locally on-device during normal use, with no cloud dependency after setup. Must Have
    FR-M8 SmolPC 2.0 Home shall provide a unified launcher for all tools without requiring the user to open separate applications. Must Have
    FR-S1 The system shall display a visible loading indicator while the AI model is processing a request. Should Have
    FR-S2 The system shall persist chat history per tool across sessions so users can continue previous conversations. Should Have
    FR-S3 The platform shall detect required host applications and provide setup guidance when a workflow is unavailable. Should Have
    FR-S4 The platform shall choose the best supported local runtime path for the current machine and fall back gracefully when a preferred accelerator is unavailable. Should Have
    FR-S5 The unified app shall allow users to open or focus the relevant host application directly from the active workflow. Should Have
    FR-S6 The system shall allow users to recover from missing prerequisites or runtime failures without losing chat state. Should Have
    FR-S7 SmolPC 2.0 should support optional local voice input and read-aloud so users can dictate prompts and hear responses when compatible audio hardware is available. Should Have
    FR-C1 The platform could include local benchmark or diagnostics features to help compare runtime behaviour on different machines. Could Have
    FR-C2 A local retrieval-augmented workflow could surface relevant documentation or help content for supported tools. Could Have
    FR-W1 The system will not use cloud-hosted AI models or transmit any user data to external servers. Won't Have
    FR-W2 The system will not require a paid subscription or API key for any core functionality. Won't Have
    FR-W3 Full school network deployment or MDM integration is out of scope for this project phase. Won't Have

    Non-Functional Requirements

    ID Requirement Category Priority
    NF-M1 All AI functions shall work fully offline after initial model download — no network calls during normal use. Privacy / Security Must Have
    NF-M2 No student data, prompts, or generated content shall leave the local device at any time. Privacy / GDPR Must Have
    NF-M3 Installation and launch shall not require end users to manage a separate inference server or run ad hoc shell commands as part of normal setup. Deployability Must Have
    NF-M4 The system shall degrade gracefully when a preferred local accelerator is unavailable, using a supported local runtime path instead of failing completely. Reliability Must Have
    NF-M5 The architecture shall separate shared inference, app orchestration, and user interface logic to keep the platform maintainable as it grows. Maintainability Must Have
    NF-M6 All source code, runtimes, and models used in the final platform shall be open-source or redistributable under compatible licences. Legal / Licensing Must Have
    NF-S1 The platform should surface setup status, host application availability, and model or runtime state clearly to the user. Usability Should Have
    NF-S2 The hardware-aware runtime selector should choose the best supported backend for the current device automatically. Performance Should Have
    NF-S3 The architecture shall be extensible — adding a new tool shall not require changes to the core SmolPC 2.0 codebase. Maintainability Should Have
    NF-S4 Response quality and user experience should remain acceptable across a range of supported hardware, even if throughput varies significantly by device. Performance Should Have
    NF-S5 Voice features should fail safely: if microphone input, audio output, or bundled voice resources are unavailable, the core text-chat workflow should continue without crashing. Reliability / Accessibility Should Have

    References

    1. UNESCO, "UNESCO spotlights how digital learning can promote equity in low-resource contexts", 31st March 2025, Available: https://www.unesco.org/en/articles/unesco-spotlights-how-digital-learning-can-promote-equity-low-resource-contexts
    2. National Education Union, "Working lives of teachers and leaders report shows staff overwhelmed by workload", 27th November 2025, Available: https://neu.org.uk/latest/press-releases/working-lives-teachers-and-leaders-report-shows-staff-overwhelmed-workload
    3. The Sutton Trust, "State schools falling behind in new AI digital divide", 16th July 2025, Available: https://www.suttontrust.com/news-opinion/all-news-opinion/state-schools-falling-behind-in-new-ai-digital-divide/