
Lars Sørlie developed and refined complex frontend workflows for the NDLANO/editorial-frontend and ndla-frontend repositories, focusing on Learning Path features, robust editor experiences, and AI-powered content generation. He engineered modular React and TypeScript components, integrating GraphQL and Apollo Client for efficient data handling and real-time UI updates. His work included refactoring plugin architectures, enhancing accessibility, and implementing comprehensive error handling for both user and AI-driven flows. By modernizing test frameworks and improving CI reliability, Lars ensured maintainable, scalable codebases. His contributions addressed both user-facing UX and underlying infrastructure, demonstrating depth in frontend architecture, state management, and automated testing practices.

April 2025: Delivered cross-repo improvements across NDLANO/editorial-frontend and NDLA-frontend, emphasizing AI content generation robustness, editor UX, plugin architecture, and testing reliability. Key outcomes: AI Content Generation: robust prompts and improved error handling for AI queries across framed content, rephrase, meta descriptions, summaries, and alt-text, with clearer error messages. Article Summary Editor Refactor: summary input moved to a standalone editor component and wired generate-summary to directly set summary state, simplifying form logic. Slate Editor UX Improvements: ID-based internal identification, corrected rephrase logic, and improved undo/redo and inline error display in rephrase dialogs. Definition List Plugin Refactor: migrated to a modular plugin system with separate plugins for list, term, and description, updating types, handlers, and serializers. NDLA Frontend: Learning Path UX and Accessibility enhancements and testing maintenance for MyNDLA and Learning Path features to boost usability and test reliability. Overall impact: reduced error surface, faster feature delivery, improved accessibility, and stronger maintainability and test coverage. Technologies/skills: React, Slate, plugin architecture, LLM prompt engineering, advanced testing (HARs, e2e), accessibility focus management.
April 2025: Delivered cross-repo improvements across NDLANO/editorial-frontend and NDLA-frontend, emphasizing AI content generation robustness, editor UX, plugin architecture, and testing reliability. Key outcomes: AI Content Generation: robust prompts and improved error handling for AI queries across framed content, rephrase, meta descriptions, summaries, and alt-text, with clearer error messages. Article Summary Editor Refactor: summary input moved to a standalone editor component and wired generate-summary to directly set summary state, simplifying form logic. Slate Editor UX Improvements: ID-based internal identification, corrected rephrase logic, and improved undo/redo and inline error display in rephrase dialogs. Definition List Plugin Refactor: migrated to a modular plugin system with separate plugins for list, term, and description, updating types, handlers, and serializers. NDLA Frontend: Learning Path UX and Accessibility enhancements and testing maintenance for MyNDLA and Learning Path features to boost usability and test reliability. Overall impact: reduced error surface, faster feature delivery, improved accessibility, and stronger maintainability and test coverage. Technologies/skills: React, Slate, plugin architecture, LLM prompt engineering, advanced testing (HARs, e2e), accessibility focus management.
March 2025 monthly summary focusing on key accomplishments, business value delivered, and technical productivity across NDLA frontend and editorial frontend. Key features delivered: - End-to-End API Mock Data Update (NDLA frontend): Updated API mocks to align with the current schema for authenticated MyNDLA flows, added GraphQL types and removed arenaGroups from user data to improve test reliability and reduce flaky E2E tests. Commit: 743fd44762347b025849338395ae2ef24fb8f0c3. - Learning Path Mutations UX improvements (NDLA frontend): Added toast notifications for create, update, delete, and failure scenarios; ensured feedback appears only on success and provided fallback messaging on errors. Commits include: d17ce7c6e1ea67f1c6e2be1de02f93379f024473; c8e67c55471ee250230a7e33ba5cb76a704a1ec3; cd6e37225ca92945076acc88a43ca4df28da9a5d; 9434fc55cf6962ddff5f33395b12bed090735df9. - Learning Path Step Form UX enhancements (NDLA frontend): Improved editing UX to ensure only one step form is open, added unsaved changes alert, refined form resets, and clarified form state naming. Commits include: a0d14316454b604d189ff67b4d07e22c72e7251b; 983ed46747332dffdd4b201b4213e3e3fecac3f4; 404b6ee5d8dd85cef13eef49bada34a43fc99a7e; e525a8314e507d1a77fa0a2920b2e39296ddeba6; 4f9fadae2aa3ba3ee7edc95114fbf8fe06fd6e26. - Localization and Messaging improvements for Learning Path (NDLA frontend): Enhanced multi-language support and messaging for creation/navigation, including error messages and next button labels across languages. Commits include: 7ef179121d7f620f1c5275d2608d22df4f5e0630; 1d08a477bc7d7566b77deb94a9f7cf0c1fb1565d; 707ac25c26832973086186ae125acd014e2995cd. - Stability and client-side error handling (NDLA frontend): Increased robustness by setting Apollo watchQuery to errorPolicy: 'all' for comprehensive error reporting. Commit: 67b49df049fcb2de9dde914b33414a9f380b1cf0. - Test instrumentation for API calls (NDLA frontend): Recorded HAR data for unauthenticated searches to support testing and performance analysis. Commit: 84f57f00e363354b2a2c8b51a5535006ccfc232d. Major bugs fixed: - Plugins missing from lists (NDLA editorial frontend): Fixed missing plugin items in lists, ensuring UI reflects available capabilities. Commit: 959a85d174c2c48b6cc8e3c7bd1e8b3c5a6a899e. - PR comments rendering fixes (NDLA editorial frontend): Resolved inconsistencies in PR comments across multiple PR versions. Commits: 49bd9508a8fd126877104d3bd5007c7441fa9eda; 222092ae9d42ffa88074f174fa8edd14f344f48a; 57b0a9ee432002132aa03ef8e7fb2a87e688f192; 1896775e45ad2f5a4db6df2155061859d1efce9f; 334283521bf07f48f85f1673ede75235791ea9de. - Editor focus safety: Ensured editor focus exists before placing text in framed content. Commit: cc47e81b8c069b875e41613542e4431596ab17d0. - Editor PR comments and related UI fixes: Various fixes to PR comments rendering across Jonas PRs and language support. Commits: e143a551d495fd8e8b164d4411409928865c8647; 2 b02f09598e3cb5182012c94d52ebe4881c62f66; ee434e7e511e28a6036fdd4e970d66dc6d58f948. Overall impact and accomplishments: - Increased release confidence and test reliability through better API mocks and test instrumentation, enabling faster feedback and fewer flaky tests. - Significantly improved user experience for learning paths with clear, timely feedback and safer editing workflows, reducing user error and support load. - Strengthened client robustness and observability with enhanced error handling, multi-language messaging, and structured error reporting. - Broadened platform capabilities with AI/UI improvements, plugin system refinements, and provider infrastructure to support scalable frontend features. Technologies/skills demonstrated: - React, GraphQL typing, Apollo Client (watchQuery, errorPolicy), react-query migrations, and UI/UX polishing. - Multi-language support and accessible messaging patterns. - HAR data instrumentation for performance analysis and test stabilization. - Code quality improvements through comments readability, utility-class fixes, and structured PR hygiene. - Frontend tooling and provider architecture (ToastProvider, AppProvider) to improve UX and consistency across apps.
March 2025 monthly summary focusing on key accomplishments, business value delivered, and technical productivity across NDLA frontend and editorial frontend. Key features delivered: - End-to-End API Mock Data Update (NDLA frontend): Updated API mocks to align with the current schema for authenticated MyNDLA flows, added GraphQL types and removed arenaGroups from user data to improve test reliability and reduce flaky E2E tests. Commit: 743fd44762347b025849338395ae2ef24fb8f0c3. - Learning Path Mutations UX improvements (NDLA frontend): Added toast notifications for create, update, delete, and failure scenarios; ensured feedback appears only on success and provided fallback messaging on errors. Commits include: d17ce7c6e1ea67f1c6e2be1de02f93379f024473; c8e67c55471ee250230a7e33ba5cb76a704a1ec3; cd6e37225ca92945076acc88a43ca4df28da9a5d; 9434fc55cf6962ddff5f33395b12bed090735df9. - Learning Path Step Form UX enhancements (NDLA frontend): Improved editing UX to ensure only one step form is open, added unsaved changes alert, refined form resets, and clarified form state naming. Commits include: a0d14316454b604d189ff67b4d07e22c72e7251b; 983ed46747332dffdd4b201b4213e3e3fecac3f4; 404b6ee5d8dd85cef13eef49bada34a43fc99a7e; e525a8314e507d1a77fa0a2920b2e39296ddeba6; 4f9fadae2aa3ba3ee7edc95114fbf8fe06fd6e26. - Localization and Messaging improvements for Learning Path (NDLA frontend): Enhanced multi-language support and messaging for creation/navigation, including error messages and next button labels across languages. Commits include: 7ef179121d7f620f1c5275d2608d22df4f5e0630; 1d08a477bc7d7566b77deb94a9f7cf0c1fb1565d; 707ac25c26832973086186ae125acd014e2995cd. - Stability and client-side error handling (NDLA frontend): Increased robustness by setting Apollo watchQuery to errorPolicy: 'all' for comprehensive error reporting. Commit: 67b49df049fcb2de9dde914b33414a9f380b1cf0. - Test instrumentation for API calls (NDLA frontend): Recorded HAR data for unauthenticated searches to support testing and performance analysis. Commit: 84f57f00e363354b2a2c8b51a5535006ccfc232d. Major bugs fixed: - Plugins missing from lists (NDLA editorial frontend): Fixed missing plugin items in lists, ensuring UI reflects available capabilities. Commit: 959a85d174c2c48b6cc8e3c7bd1e8b3c5a6a899e. - PR comments rendering fixes (NDLA editorial frontend): Resolved inconsistencies in PR comments across multiple PR versions. Commits: 49bd9508a8fd126877104d3bd5007c7441fa9eda; 222092ae9d42ffa88074f174fa8edd14f344f48a; 57b0a9ee432002132aa03ef8e7fb2a87e688f192; 1896775e45ad2f5a4db6df2155061859d1efce9f; 334283521bf07f48f85f1673ede75235791ea9de. - Editor focus safety: Ensured editor focus exists before placing text in framed content. Commit: cc47e81b8c069b875e41613542e4431596ab17d0. - Editor PR comments and related UI fixes: Various fixes to PR comments rendering across Jonas PRs and language support. Commits: e143a551d495fd8e8b164d4411409928865c8647; 2 b02f09598e3cb5182012c94d52ebe4881c62f66; ee434e7e511e28a6036fdd4e970d66dc6d58f948. Overall impact and accomplishments: - Increased release confidence and test reliability through better API mocks and test instrumentation, enabling faster feedback and fewer flaky tests. - Significantly improved user experience for learning paths with clear, timely feedback and safer editing workflows, reducing user error and support load. - Strengthened client robustness and observability with enhanced error handling, multi-language messaging, and structured error reporting. - Broadened platform capabilities with AI/UI improvements, plugin system refinements, and provider infrastructure to support scalable frontend features. Technologies/skills demonstrated: - React, GraphQL typing, Apollo Client (watchQuery, errorPolicy), react-query migrations, and UI/UX polishing. - Multi-language support and accessible messaging patterns. - HAR data instrumentation for performance analysis and test stabilization. - Code quality improvements through comments readability, utility-class fixes, and structured PR hygiene. - Frontend tooling and provider architecture (ToastProvider, AppProvider) to improve UX and consistency across apps.
February 2025 highlights across NDLANO/ndla-frontend and NDLANO/editorial-frontend: delivered key features, hardened security and data integrity, and advanced UX/editor improvements that increase developer velocity and business value. Focused on robust URL handling, improved form and resource workflows, and performance/stability enhancements.
February 2025 highlights across NDLANO/ndla-frontend and NDLANO/editorial-frontend: delivered key features, hardened security and data integrity, and advanced UX/editor improvements that increase developer velocity and business value. Focused on robust URL handling, improved form and resource workflows, and performance/stability enhancements.
January 2025 (2025-01) focused on stability, performance, and UX improvements for LearningPaths, with complementary maintenance work in the editors frontend. The work enhanced user flow, reduced server load, and improved maintainability through refactors and up-to-date dependencies.
January 2025 (2025-01) focused on stability, performance, and UX improvements for LearningPaths, with complementary maintenance work in the editors frontend. The work enhanced user flow, reduced server load, and improved maintainability through refactors and up-to-date dependencies.
December 2024 focused on delivering a polished Learningpath workflow in NDLANO/ndla-frontend, strengthening UX and accessibility, and improving maintainability through targeted refactors and robust validation. Key features delivered include Learningpath UI/Form enhancements with responsive design and refined page flow, Todos and extended learning-path capabilities (text/form/external forms and resource picker), and stepper navigation improvements with Link integration. Accessibility and UX were enhanced with ARIA labels, improved navigation around stepper links, and clearer title/form error messaging. Analytics/tracking was added for new pages to support data-driven decisions, and a set of quality fixes tightened UX and stability. Upstream bug fixes across both repos improved messaging consistency, correct handling of empty fields, and not-found UI behavior, while upstream copyright serialization issues in editorial-frontend were addressed with tests and a hotfix.
December 2024 focused on delivering a polished Learningpath workflow in NDLANO/ndla-frontend, strengthening UX and accessibility, and improving maintainability through targeted refactors and robust validation. Key features delivered include Learningpath UI/Form enhancements with responsive design and refined page flow, Todos and extended learning-path capabilities (text/form/external forms and resource picker), and stepper navigation improvements with Link integration. Accessibility and UX were enhanced with ARIA labels, improved navigation around stepper links, and clearer title/form error messaging. Analytics/tracking was added for new pages to support data-driven decisions, and a set of quality fixes tightened UX and stability. Upstream bug fixes across both repos improved messaging consistency, correct handling of empty fields, and not-found UI behavior, while upstream copyright serialization issues in editorial-frontend were addressed with tests and a hotfix.
November 2024 monthly summary focusing on frontend UX improvements, editor reliability, and performance. Across NDLANO/editorial-frontend and NDLANO/ndla-frontend, delivered a set of cohesive features, refactors, and fixes that enhance business value through more robust dialogs, cleaner content rendering, GraphQL-driven Learning Paths, and faster CI runtimes. Key achievements include a consolidated AlertDialog system, content rendering via children, new H5P components with onClose cleanup, comprehensive dialog system refactor with portal integration, Slate editor modernization with toolbar primitives and dependency upgrades, and end-to-end Learning Path UI/GraphQL work in ndla-frontend along with UI/UX polish and performance optimizations.
November 2024 monthly summary focusing on frontend UX improvements, editor reliability, and performance. Across NDLANO/editorial-frontend and NDLANO/ndla-frontend, delivered a set of cohesive features, refactors, and fixes that enhance business value through more robust dialogs, cleaner content rendering, GraphQL-driven Learning Paths, and faster CI runtimes. Key achievements include a consolidated AlertDialog system, content rendering via children, new H5P components with onClose cleanup, comprehensive dialog system refactor with portal integration, Slate editor modernization with toolbar primitives and dependency upgrades, and end-to-end Learning Path UI/GraphQL work in ndla-frontend along with UI/UX polish and performance optimizations.
October 2024 performance summary for NDLANO/editorial-frontend focused on UI reliability, developer velocity, and observability. Delivered key features, fixed critical issues, and implemented a styling/component system that reduces duplication and accelerates UI iteration. Strengthened test coverage and CI stability through modernization of the Playwright framework and tracing instrumentation, while addressing impactful bugs affecting PR workflow, caching, and test reliability.
October 2024 performance summary for NDLANO/editorial-frontend focused on UI reliability, developer velocity, and observability. Delivered key features, fixed critical issues, and implemented a styling/component system that reduces duplication and accelerates UI iteration. Strengthened test coverage and CI stability through modernization of the Playwright framework and tracing instrumentation, while addressing impactful bugs affecting PR workflow, caching, and test reliability.
Overview of all repositories you've contributed to across your timeline