PageSourceSearch

https://newmaterial.ai/stories/visualising-ai

html newmaterial.ai collected 2026-10-05 16:22:47 UTC 268,905 bytes, 1,319 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="light"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="preload" as="image" imageSrcSet="/cdn-cgi/image/width=400,quality=50,format=auto,fit=cover/uploads/artifacts/1773086130280-Visualising%20AI%20Comp%20Light-poster.webp 400w, /cdn-cgi/image/width=800,quality=50,format=auto,fit=cover/uploads/artifacts/1773086130280-Visualising%20AI%20Comp%20Light-poster.webp 800w, /cdn-cgi/image/width=1200,quality=50,format=auto,fit=cover/uploads/artifacts/1773086130280-Visualising%20AI%20Comp%20Light-poster.webp 1200w, /cdn-cgi/image/width=1600,quality=50,format=auto,fit=cover/uploads/artifacts/1773086130280-Visualising%20AI%20Comp%20Light-poster.webp 1600w, /cdn-cgi/image/width=2400,quality=50,format=auto,fit=cover/uploads/artifacts/1773086130280-Visualising%20AI%20Comp%20Light-poster.webp 2400w" imageSizes="(max-width: 800px) 100vw, 800px" crossorigin="" fetchPriority="high"/><link rel="preload" as="image" imageSrcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 2400w" imageSizes="800px" crossorigin=""/><link rel="preload" as="image" imageSrcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 2400w" imageSizes="800px" crossorigin=""/><link rel="preload" as="image" imageSrcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 2400w" imageSizes="800px" crossorigin=""/><link rel="preload" as="image" imageSrcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 2400w" imageSizes="800px" crossorigin=""/><title>Visualising AI · New Material</title><meta name="description" content="A series of visualizations depicting the core concepts of machine learning. In 2019, when we first set out to build a company around the idea of making AI a
1pproachable to everyone, we knew that AI literacy was a crucial piece of progressing towards that vision. It was then, while we building the first iteration of what would become FieldDay that we started building our brand not only to communicate what our company was about, but as an educational tool to help people grasp some of the core concepts involved in building AI systems."/><meta name="robots" content="index,follow,max-image-preview:large,max-video-preview:-1"/><link rel="canonical" href="https://newmaterial.ai/stories/visualising-ai"/><meta property="og:site_name" content="New Material"/><meta property="og:locale" content="en_GB"/><meta property="og:type" content="article"/><meta property="og:url" content="https://newmaterial.ai/stories/visualising-ai"/><meta property="og:title" content="Visualising AI · New Material"/><meta property="og:description" content="A series of visualizations depicting the core concepts of machine learning. In 2019, when we first set out to build a company around the idea of making AI approachable to everyone, we knew that AI literacy was a crucial piece of progressing towards that vision. It was then, while we building the first iteration of what would become FieldDay that we started building our brand not only to communicate what our company was about, but as an educational tool to help people grasp some of the core concepts involved in building AI systems."/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@newmaterialai"/><meta name="twitter:title" content="Visualising AI · New Material"/><meta name="twitter:description" content="A series of visualizations depicting the core concepts of machine learning. In 2019, when we first set out to build a company around the idea of making AI approachable to everyone, we knew that AI literacy was a crucial piece of progressing towards that vision. It was then, while we building the first iteration of what would become FieldDay that we started building our brand not only to communicate what our company was about, but as an educational tool to help people grasp some of the core concepts involved in building AI systems."/><meta property="og:image" content="https://newmaterial.ai/uploads/artifacts/1778107366642-the-machine-learning-process-preview.webp"/><meta name="twitter:image" content="https://newmaterial.ai/uploads/artifacts/1778107366642-the-machine-learning-process-preview.webp"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="800"/><meta property="og:image:alt" content="The machine learning process"/><meta name="twitter:image:alt" content="The machine learning process"/><meta property="article:published_time" content="2021-06-13"/><meta property="article:modified_time" content="2026-06-09T18:48:36.490Z"/><meta property="article:section" content="labs"/><meta property="article:author" content="Aaron Abentheuer"/><meta property="article:author" content="Nelson Schöller"/><meta property="article:author" content="Gabriel Mitchell"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="preload" href="/fonts/ABCFavorit-Book.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="icon" href="/favicon-light.png"/><link rel="shortcut icon" href="/favicon-light.png"/><link rel="icon" href="/favicon-light.png" media="(prefers-color-scheme: light)"/><link rel="icon" href="/favicon-dark.png" media="(prefers-color-scheme: dark)"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/><link rel="modulepreload" href="/assets/entry.client-jqb2piIo.js"/><link rel="modulepreload" href="/assets/jsx-runtime-u17CrQMm.js"/><link rel="modulepreload" href="/assets/chunk-EPOLDU6W-DDKLhvzC.js"/><link rel="modulepreload" href="/assets/index-7OC5HNn7.js"/><link rel="modulepreload" href="/assets/index-nIknq2ud.js"/><link rel="modulepreload" href="/assets/root-CVBVwr96.js"/><link rel="modulepreload" href="/assets/preload-helper-BXl3LOEh.js"/><link rel="modulepreload" href="/assets/lightbox-context-DAuiXBBD.js"/><link rel="modulepreload" href="/assets/use-motion-value-event-DnAAq14n.js"/><link rel="modulepreload" href="/assets/button-D2XkC4S1.js"/><link rel="modulepreload" href="/assets/tooltip-_x8vZoE_.js"/><link rel="modulepreload" href="/assets/index-CuF72Boz.js"/><link rel="modulepreload" href="/assets/utils-BS5inCOb.js"/><link rel="modulepreload" href="/assets/useButton-BaC4TK_w.js"/><link rel="modulepreload" href="/assets/useRenderElement-ByvCCVxT.js"/><link rel="modulepreload" href="/assets/createBaseUIEventDetails-L9OVrBJ6.js"/><link rel="modulepreload" href="/assets/popupStateMapping-D96L6Nu6.js"/><link rel="modulepreload" href="/assets/useBaseUiId-2jn-_8Ix.js"/><link rel="modulepreload" href="/assets/element-BCnqlMgX.js"/><link rel="modulepreload" href="/assets/useTimeout-Dtp6uYGR.js"/><link rel="modulepreload" href="/assets/owner-Dm6pnmkm.js"/><link rel="modulepreload" href="/assets/useFocus-CClKL5R_.js"/><link rel="modulepreload" href="/assets/safePolygon-B0Oyhrlw.js"/><link rel="modulepreload" href="/assets/getDisabledMountTransitionStyles-CxtbxEyo.js"/><link rel="modulepreload" href="/assets/floating-ui.utils-BiZy_si2.js"/><link rel="modulepreload" href="/assets/DirectionContext-BZBed3Uc.js"/><link rel="modulepreload" href="/assets/usePopupAutoResize-BVaCeFa9.js"/><link rel="modulepreload" href="/assets/content.layout-CjjI5vuO.js"/><link rel="modulepreload" href="/assets/icons-DSyQTBjT.js"/><link rel="modulepreload" href="/assets/image-DiLk8n9P.js"/><link rel="modulepreload" href="/assets/use-reduced-motion-BAETq9Nb.js"/><link rel="modulepreload" href="/assets/index-CkZSuJ9p.js"/><link rel="modulepreload" href="/assets/proxy-DvfufeLI.js"/><link rel="modulepreload" href="/assets/content-visibility-GQQGOf1O.js"/><link rel="modulepreload" href="/assets/quote-gallery-BGw5Y9A9.js"/><link rel="modulepreload" href="/assets/typograph-CsL4lFT6.js"/><link rel="modulepreload" href="/assets/artifact-visual-analysis-Bwq68FpZ.js"/><link rel="modulepreload" href="/assets/paper-stack-_BS6s43l.js"/><link rel="modulepreload" href="/assets/tint-DSUULco-.js"/><link rel="modulepreload" href="/assets/home-C2Btszmj.js"/><link rel="modulepreload" href="/assets/portfolio-taxonomy-aq57wR6I.js"/>
1<link rel="modulepreload" href="/assets/use-drag-controls-7rqJ6DAa.js"/><link rel="modulepreload" href="/assets/index-DmW9LlW4.js"/><link rel="modulepreload" href="/assets/use-transform-Di-X5ZZY.js"/><link rel="modulepreload" href="/assets/presence-types-D_mDXtxz.js"/><link rel="modulepreload" href="/assets/persona-capture-form-COZg-zPr.js"/><link rel="modulepreload" href="/assets/discord-presence-context-4e2_4OGV.js"/><link rel="modulepreload" href="/assets/app-store-B1FRaRir.js"/><link rel="modulepreload" href="/assets/featured-app-privacy-context-DWGVRxa5.js"/><link rel="modulepreload" href="/assets/showcase-qr-dialog-walk7PN5.js"/><link rel="modulepreload" href="/assets/flipbook-gallery-D9tvbt7A.js"/><link rel="modulepreload" href="/assets/section-list-CibZXy6X.js"/><link rel="modulepreload" href="/assets/site-context-control-_Y4noZUV.js"/><link rel="modulepreload" href="/assets/MotionConfigContext-D_WkdJ8J.js"/><link rel="modulepreload" href="/assets/use-in-view-B89Mrsbm.js"/><link rel="modulepreload" href="/assets/gallery-progress-dots-Pde1NSDP.js"/><link rel="modulepreload" href="/assets/site-header-context--mVWwM2O.js"/><link rel="modulepreload" href="/assets/analytics.client-COam7ciE.js"/><link rel="modulepreload" href="/assets/devices-BJQoVHhU.js"/><link rel="modulepreload" href="/assets/remark-typograph-D2NaBMTg.js"/><link rel="modulepreload" href="/assets/index-Cn7hrrKz.js"/><link rel="modulepreload" href="/assets/avatar-dot-BGUZZVlE.js"/><link rel="modulepreload" href="/assets/image-placeholder-f_Uj4rT2.js"/><link rel="modulepreload" href="/assets/navigation-placeholder-CsFGDdUj.js"/><link rel="modulepreload" href="/assets/navigation-seed-ybS7nvwd.js"/><link rel="modulepreload" href="/assets/person-BNIsIt8P.js"/><link rel="modulepreload" href="/assets/speech-bubble-path-nGU9T00G.js"/><link rel="modulepreload" href="/assets/context-arrow-control-D3l2jq4H.js"/><link rel="modulepreload" href="/assets/use-mobile-Bg-RD5Oy.js"/><link rel="modulepreload" href="/assets/text-shimmer-CJPjEQUk.js"/><link rel="modulepreload" href="/assets/action-helpers-DkKLodi9.js"/><link rel="modulepreload" href="/assets/schemas-cszQidbv.js"/><link rel="modulepreload" href="/assets/artifact.index-B5slPMIl.js"/><link rel="modulepreload" href="/assets/video-artifact-CoeCJnKG.js"/><link rel="modulepreload" href="/assets/artifact-hearts.client-COtUZFKh.js"/><link rel="modulepreload" href="/assets/app-clip-yd5BNHgz.js"/><link rel="modulepreload" href="/assets/random-uuid-Bbe8nWZn.js"/><link rel="modulepreload" href="/assets/favorite-heart-control-Bkd8dics.js"/><link rel="modulepreload" href="/assets/content-types-D_mEm2eJ.js"/><link rel="modulepreload" href="/assets/focus-CMrwnIoW.js"/><link rel="modulepreload" href="/assets/seo-B90DoU_c.js"/><link rel="modulepreload" href="/assets/styles-lmQY2dAH.js"/><link rel="modulepreload" href="/assets/ScrollAreaThumb-CIcpC5Fc.js"/><link rel="modulepreload" href="/assets/use-event-source-BkUmBtoq.js"/><link rel="modulepreload" href="/assets/dialog-Ckv6RMpM.js"/><link rel="modulepreload" href="/assets/DialogTrigger-CconnOQ0.js"/><link rel="modulepreload" href="/assets/composite-BEMs77xx.js"/><link rel="modulepreload" href="/assets/useOpenInteractionType-DLO05xoO.js"/><link rel="modulepreload" href="/assets/home-attention-D3MBHtrV.js"/><link rel="modulepreload" href="/assets/format-date-yaQnJ40C.js"/><link rel="modulepreload" href="/assets/animated-shuffle-icon-0hm9rJm-.js"/><link rel="modulepreload" href="/assets/stories.slug-DpvAxIgU.js"/><link rel="modulepreload" href="/assets/stories.slug-C0kjpYhL.js"/><link rel="modulepreload" href="/assets/site-controls-CJ-AKeIW.js"/><link rel="modulepreload" href="/assets/generation-indicator-BwScE45A.js"/><link rel="modulepreload" href="/assets/index-BsWEDxGP.js"/><link rel="modulepreload" href="/assets/react-DZJN03Dt.js"/><link rel="modulepreload" href="/assets/schema-BV-w-kaV.js"/><link rel="modulepreload" href="/assets/index-ClaGlwFW.js"/><link rel="modulepreload" href="/assets/session-agent.api-Chtn4JHc.js"/><link rel="modulepreload" href="/assets/validation-helpers-C5GosE5M.js"/><link rel="modulepreload" href="/assets/artifact-appearance-analysis-Bt9gkLUA.js"/>
1<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"BlogPosting","@id":"https://newmaterial.ai/stories/visualising-ai#article","url":"https://newmaterial.ai/stories/visualising-ai","mainEntityOfPage":"https://newmaterial.ai/stories/visualising-ai","headline":"Visualising AI","description":"A series of visualizations depicting the core concepts of machine learning. In 2019, when we first set out to build a company around the idea of making AI approachable to everyone, we knew that AI literacy was a crucial piece of progressing towards that vision. It was then, while we building the first iteration of what would become FieldDay that we started building our brand not only to communicate what our company was about, but as an educational tool to help people grasp some of the core concepts involved in building AI systems.","datePublished":"2021-06-13","dateModified":"2026-06-09T18:48:36.490Z","articleSection":"labs","image":["https://newmaterial.ai/uploads/artifacts/1778107366642-the-machine-learning-process-preview.webp"],"author":[{"@type":"Person","name":"Aaron Abentheuer","url":"https://newmaterial.ai/people/aaron-abentheuer"},{"@type":"Person","name":"Nelson Schöller","url":"https://newmaterial.ai/people/nelson-sch%C3%B6ller"},{"@type":"Person","name":"Gabriel Mitchell","url":"https://newmaterial.ai/people/gabriel-mitchell"}],"publisher":{"@id":"https://newmaterial.ai/#organization"},"isPartOf":{"@id":"https://newmaterial.ai/journal#journal"}}]}</script>
1<script>
2(() => {
3  const retryKey = 'nm-asset-recovery';
4  const currentUrl = new URL(window.location.href);
5  if (currentUrl.searchParams.has('__asset_retry')) {
6    currentUrl.searchParams.delete('__asset_retry');
7    history.replaceState(history.state, '', currentUrl.toString());
8  }
9  const recover = () => {
10    if (sessionStorage.getItem(retryKey)) return;
11    sessionStorage.setItem(retryKey, '1');
12    const url = new URL(window.location.href);
13    url.searchParams.set('__asset_retry', Date.now().toString());
14    window.location.replace(url.toString());
15  };
16  window.addEventListener('error', (event) => {
17    const target = event.target;
18    const failedAsset =
19      target instanceof HTMLScriptElement
20        ? target.src
21        : target instanceof HTMLLinkElement && ['stylesheet', 'modulepreload'].includes(target.rel)
22          ? target.href
23          : '';
24    if (failedAsset && new URL(failedAsset, window.location.href).pathname.startsWith('/assets/')) recover();
25    const message = String(event.message ?? event.error?.message ?? event.error ?? '');
26    if (/Importing binding name ['"][^'"]+['"] is not found|does not provide an export named/i.test(message)) recover();
27  }, true);
28  window.addEventListener('unhandledrejection', (event) => {
29    const message = String(event.reason?.message ?? event.reason ?? '');
30    if (/Failed to fetch dynamically imported module|Importing a module script failed|Load failed|Importing binding name ['"][^'"]+['"] is not found|does not provide an export named/i.test(message)) recover();
31  });
32  window.addEventListener('vite:preloadError', recover);
33})();
34</script>
34<link rel="stylesheet" href="/assets/root-qARLWNin.css"/><link rel="stylesheet" href="/assets/text-shimmer-Xoih4BZU.css"/>
34<script>
35	(function() {
36	  var pendingDirection = null;
37	  var pendingUAVisualTransition = false;
38	  var vtState = window.__NM_VIEW_TRANSITION__ || { active: false, direction: null };
39	  var navigationPerformance = window.__NM_NAVIGATION_PERFORMANCE__ || {};
40	  window.__NM_VIEW_TRANSITION__ = vtState;
41	  window.__NM_NAVIGATION_PERFORMANCE__ = navigationPerformance;
42	  var artifactEntries = Object.create(null);
43	  var pendingTraversal = null;
44	  var currentHistoryEntry = readHistoryEntry();
45	  artifactEntries[currentHistoryEntry.key] = { artifact: null, type: null };
46
47	  function readHistoryEntry() {
48	    var state = window.history.state || {};
49	    var entry = window.navigation && window.navigation.currentEntry;
50	    return {
51	      key: state.key || (entry && entry.key) || (typeof state.idx === 'number' ? 'index-' + state.idx : 'initial'),
52	      index: typeof state.idx === 'number' ? state.idx : (entry ? entry.index : null),
53	      path: window.location.pathname + window.location.search,
54	    };
55	  }
56
57	  // Router history keys retain the artifact used to enter each page. Back
58	  // selects the departing entry; Forward selects the destination entry.
59	  // Unlike a popped stack, this also survives repeated history traversal.
60	  var nativePushState = window.history.pushState;
61	  window.history.pushState = function() {
62	    var result = nativePushState.apply(this, arguments);
63	    currentHistoryEntry = readHistoryEntry();
64	    artifactEntries[currentHistoryEntry.key] = {
65	      artifact: window.__NM_PENDING_ARTIFACT__ || null,
66	      type: window.__NM_VIEW_TRANSITION_TYPE__ || null,
67	    };
68	    window.__NM_PENDING_ARTIFACT__ = null;
69	    window.__NM_ACTIVE_ARTIFACT__ = artifactEntries[currentHistoryEntry.key].artifact;
70	    pendingDirection = 'forward';
71	    pendingTraversal = null;
72	    return result;
73	  };
74
75	  var nativeReplaceState = window.history.replaceState;
76	  window.history.replaceState = function() {
77	    var previous = currentHistoryEntry;
78	    var result = nativeReplaceState.apply(this, arguments);
79	    currentHistoryEntry = readHistoryEntry();
80	    if (previous.key !== currentHistoryEntry.key) {
81	      artifactEntries[currentHistoryEntry.key] = previous.path === currentHistoryEntry.path
82	        ? artifactEntries[previous.key] || { artifact: null, type: null }
83	        : { artifact: null, type: null };
84	    }
85	    return result;
86	  };
87
88	  navigationPerformance.navigationSequence = navigationPerformance.navigationSequence || 0;
89	  navigationPerformance.transitionSequence = navigationPerformance.transitionSequence || 0;
90
91	  function performanceNow() {
92	    return window.performance && typeof window.performance.now === 'function'
93	      ? window.performance.now()
94	      : Date.now();
95	  }
96
97	  function markPerformance(name, startTime, detail) {
98	    if (!window.performance || typeof window.performance.mark !== 'function') return;
99	    try {
100	      window.performance.mark(name, { startTime: startTime, detail: detail });
101	    } catch (_) {
102	      try {
103	        window.performance.mark(name);
104	      } catch (_) {}
105	    }
106	  }
107
108	  function measurePerformance(name, startTime, endTime, detail) {
109	    if (!window.performance || typeof window.performance.measure !== 'function') return;
110	    try {
111	      window.performance.measure(name, {
112	        start: startTime,
113	        end: endTime,
114	        detail: detail,
115	      });
116	    } catch (_) {}
117	  }
118
119	  function navigationPerformanceDetail(record, status) {
120	    return {
121	      navigationId: record.id,
122	      destination: record.destination,
123	      state: record.state,
124	      status: status,
125	    };
126	  }
127
128	  function finishNavigationLoading(record, status) {
129	    if (!record || record.loadingEndTime != null) return;
130	    var endTime = performanceNow();
131	    record.loadingEndTime = endTime;
132	    record.status = status;
133	    var detail = navigationPerformanceDetail(record, status);
134	    markPerformance('nm:navigation-loading-end', endTime, detail);
135	    measurePerformance(
136	      'nm:navigation-loading',
137	      record.loadingStartTime,
138	      endTime,
139	      detail,
140	    );
141	    navigationPerformance.lastNavigation = record;
142	    if (
143	      navigationPerformance.activeNavigation &&
144	      navigationPerformance.activeNavigation.id === record.id
145	    ) {
146	      navigationPerformance.activeNavigation = null;
147	    }
148	  }
149
150	  navigationPerformance.beginLoading = function(detail) {
151	    var identity = (detail && (detail.key || detail.destination)) || null;
152	    var activeNavigation = navigationPerformance.activeNavigation;
153	    if (activeNavigation && activeNavigation.identity === identity) {
154	      activeNavigation.state = detail && detail.state;
155	      return activeNavigation.id;
156	    }
157	    if (activeNavigation) finishNavigationLoading(activeNavigation, 'interrupted');
158
159	    var startTime = performanceNow();
160	    var record = {
161	      id: ++navigationPerformance.navigationSequence,
162	      identity: identity,
163	      destination: (detail && detail.destination) || null,
164	      state: (detail && detail.state) || 'loading',
165	      loadingStartTime: startTime,
166	      loadingEndTime: null,
167	    };
168	    navigationPerformance.activeNavigation = record;
169	    markPerformance(
170	      'nm:navigation-loading-start',
171	      startTime,
172	      navigationPerformanceDetail(record, 'started'),
173	    );
174	    return record.id;
175	  };
176
177	  navigationPerformance.endLoading = function(detail) {
178	    finishNavigationLoading(
179	      navigationPerformance.activeNavigation,
180	      (detail && detail.status) || 'complete',
181	    );
182	  };
183
184	  var transitionMarkNames = {
185	    start: 'nm:view-transition-start',
186	    updateStart: 'nm:view-transition-update-start',
187	    updateEnd: 'nm:view-transition-update-end',
188	    ready: 'nm:view-transition-ready',
189	    finished: 'nm:view-transition-finished',
190	  };
191
192	  function transitionPerformanceDetail(record, status) {
193	    return {
194	      transitionId: record.id,
195	      navigationId: record.navigation ? record.navigation.id : null,
196	      direction: record.direction,
197	      transitionType: record.transitionType,
198	      destination: record.navigation ? record.navigation.destination : null,
199	      status: status,
200	    };
201	  }
202
203	  function recordTransitionPerformance(record, phase, status) {
204	    var property = phase + 'Time';
205	    if (record[property] != null) return;
206	    var time = performanceNow();
207	    record[property] = time;
208	    var detail = transitionPerformanceDetail(record, status);
209	    markPerformance(transitionMarkNames[phase], time, detail);
210
211	    if (phase === 'start' && record.navigation) {
212	      measurePerformance(
213	        'nm:navigation-loading-to-view-transition',
214	        record.navigation.loadingStartTime,
215	        time,
216	        detail,
217	      );
218	    } else if (phase === 'updateEnd' && record.updateStartTime != null) {
219	      measurePerformance(
220	        'nm:view-transition-update',
221	        record.updateStartTime,
222	        time,
223	        detail,
224	      );
225	    } else if (phase === 'ready' && record.startTime != null) {
226	      measurePerformance(
227	        'nm:view-transition-start-to-ready',
228	        record.startTime,
229	        time,
230	        detail,
231	      );
232	    } else if (phase === 'finished' && record.startTime != null) {
233	      measurePerformance(
234	        'nm:view-transition-total',
235	        record.startTime,
236	        time,
237	        detail,
238	      );
239	    }
240	  }
241
242	  function emitStart(direction) {
243	    vtState.active = true;
244	    vtState.direction = direction;
245	    document.documentElement.classList.add('nm-vt-active');
246    window.dispatchEvent(
247      new CustomEvent('nm:view-transition-start', {
248        detail: { direction: direction },
249      }),
250    );
251  }
252
253	  function emitEnd() {
254	    vtState.active = false;
255	    vtState.direction = null;
256	    document.documentElement.classList.remove('nm-vt-active');
257    window.dispatchEvent(new Event('nm:view-transition-end'));
258  }
259
260  function resetArtifactRadiusMorph() {
261    document.documentElement.classList.remove('nm-vt-artifact-radius');
262    document.documentElement.style.removeProperty('--artifact-vt-radius-from');
263    document.documentElement.style.removeProperty('--artifact-vt-radius-to');
264  }
265
266	function installExactLightboxArtifactPolicy(name, shadowName, outlineName, retainedChrome, postTransition) {
267	  if (!name || !/^[-_a-zA-Z0-9]+$/.test(name)) return null;
268	  var style = document.createElement('style');
269	  var shadowRules = '';
270	  var outlineRules = '';
271	  if (shadowName && /^[-_a-zA-Z0-9]+$/.test(shadowName)) {
272		shadowRules =
273		  ':root.nm-vt-shared-artifact::view-transition-group(' + shadowName + '){animation-duration:var(--artifact-duration);animation-timing-function:var(--artifact-curve);z-index:59}' +
274		  ':root.nm-vt-shared-artifact::view-transition-old(' + shadowName + '){animation:fade-out var(--vt-lightbox-artifact-fade-duration) var(--primary-curve) forwards var(--vt-lightbox-artifact-fade-delay)!important;mix-blend-mode:normal!important}' +
275		  ':root.nm-vt-shared-artifact::view-transition-new(' + shadowName + '){opacity:0;animation:fade-in var(--vt-lightbox-artifact-fade-duration) var(--primary-curve) forwards var(--vt-lightbox-artifact-fade-delay)!important;mix-blend-mode:normal!important}';
276	  }
277	  if (outlineName && /^[-_a-zA-Z0-9]+$/.test(outlineName)) {
278		outlineRules =
279		  '[data-nm-artifact-outline-capture]{box-shadow:none!important}' +
280		  ':root.nm-vt-shared-artifact::view-transition-group(' + outlineName + '){animation-duration:var(--artifact-duration);animation-timing-function:var(--artifact-curve);z-index:61}' +
281		  ':root.nm-vt-shared-artifact::view-transition-old(' + outlineName + '),:root.nm-vt-shared-artifact::view-transition-new(' + outlineName + '){animation:none!important;opacity:0!important;mix-blend-mode:normal!important}';
282	  }
283	  style.setAttribute('data-nm-exact-lightbox-transition', name);
284	  style.textContent =
285		':root.nm-vt-shared-artifact::view-transition-group(' + name + '){animation-duration:var(--artifact-duration);animation-timing-function:var(--artifact-curve);z-index:60;overflow:clip}' +
286		':root.nm-vt-shared-artifact::view-transition-image-pair(' + name + '){clip-path:inset(0 round var(--artifact-vt-radius-from, 0px))}' +
287		':root.nm-vt-shared-artifact::view-transition-old(' + name + '){animation:none!important;opacity:1!important;mix-blend-mode:normal!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:center}' +
288		':root.nm-vt-shared-artifact::view-transition-new(' + name + '){animation:none!important;opacity:0!important;mix-blend-mode:normal!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:center}' +
289		':root.nm-vt-shared-artifact.nm-vt-artifact-radius::view-transition-image-pair(' + name + '){animation-name:artifact-corner-radius;animation-duration:var(--artifact-duration);animation-timing-function:var(--artifact-curve);animation-fill-mode:both}' +
290		shadowRules + outlineRules;
291	  var chromeName = name + '-chrome';
292	  var returning = !!document.querySelector('[data-lightbox-transition-root]');
293	  if (!postTransition) style.textContent +=
294	    ':root.nm-vt-shared-artifact::view-transition-group(' + chromeName + '){animation-duration:var(--artifact-duration);animation-timing-function:var(--artifact-curve);z-index:62;overflow:clip;border-radius:var(--artifact-vt-radius-from,0px)}' +
295	    ':root.nm-vt-shared-artifact::view-transition-old(' + chromeName + '),:root.nm-vt-shared-artifact::view-transition-new(' + chromeName + '){inset:0;width:100%;height:100%;object-fit:fill}' +
296	    ':root.nm-vt-shared-artifact::view-transition-old(' + chromeName + '){mix-blend-mode:normal;animation:' + (returning ? (retainedChrome ? 'artifact-chrome-in var(--artifact-duration) var(--ease-damped-spring) both' : 'none;opacity:0') : 'artifact-chrome-out var(--artifact-duration) var(--ease-damped-spring) both') + '}' +
297	    ':root.nm-vt-shared-artifact::view-transition-new(' + chromeName + '){mix-blend-mode:normal;animation:' + (returning && !retainedChrome ? 'artifact-chrome-in var(--artifact-duration) var(--ease-damped-spring) both' : 'none;opacity:0') + '}' +
298	    '@keyframes artifact-chrome-out{from{opacity:1;transform:translateY(0);filter:blur(0)}to{opacity:0;transform:translateY(var(--spacing-prose-gutter));filter:blur(10px)}}' +
299	    '@keyframes artifact-chrome-in{from{opacity:0;transform:translateY(var(--spacing-prose-gutter));filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}';
300	  document.head.appendChild(style);
301	  document.documentElement.classList.add('nm-vt-shared-artifact', postTransition ? 'nm-vt-post-artifact' : 'nm-vt-lightbox-exact');
302	  return style;
303	}
304
305  // WebKit can omit a composited video from the outgoing element snapshot.
306  // Paint its current frame synchronously in the same layout/clip for capture.
307  function freezeArtifactVideo(name) {
308    var frame = findArtifactTransitionTarget(name);
309    var video = frame && frame.querySelector('video');
310    if (!video || video.readyState < 2 || !video.videoWidth || !video.videoHeight) return null;
311    var canvas = document.createElement('canvas');
312    var scale = Math.min(1, 1440 / video.videoWidth);
313    canvas.width = Math.max(1, Math.round(video.videoWidth * scale));
314    canvas.height = Math.max(1, Math.round(video.videoHeight * scale));
315    var context = canvas.getContext('2d');
316    if (!context) return null;
317    try {
318      // The start listener already retained this frame for the destination.
319      // Reuse its bitmap instead of reading the video surface a second time.
320      var handoffs = window.__NM_VIDEO_PLAYBACK_HANDOFF__;
321      var handoff = handoffs && handoffs.get(name.replace(/^artifact-/, ''));
322      var retainedFrame = handoff && Date.now() - handoff.capturedAt < 5000 && handoff.frame;
323      context.drawImage(retainedFrame || video, 0, 0, canvas.width, canvas.height);
324    } catch (_) { return null; }
325    var computed = getComputedStyle(video);
326    Object.assign(canvas.style, {
327      position: 'absolute', left: video.offsetLeft + 'px', top: video.offsetTop + 'px',
328      width: video.offsetWidth + 'px', height: video.offsetHeight + 'px',
329      objectFit: computed.objectFit, objectPosition: computed.objectPosition,
330      borderRadius: computed.borderRadius, transform: computed.transform,
331      transformOrigin: computed.transformOrigin, opacity: computed.opacity,
332      zIndex: computed.zIndex, pointerEvents: 'none', viewTransitionName: 'none'
333    });
334    canvas.setAttribute('aria-hidden', 'true');
335    canvas.setAttribute('data-artifact-video-snapshot', '');
336    video.after(canvas);
337    return canvas;
338  }
339
340  function findArtifactTransitionTarget(name) {
341    if (!name) return null;
342    var candidates = document.querySelectorAll(
343      '[data-artifact-transition-name], [style*="view-transition-name"]',
344    );
345    for (var i = 0; i < candidates.length; i++) {
346      var candidate = candidates[i];
347      if (candidate.style.viewTransitionName === name) return candidate;
348      if (getComputedStyle(candidate).viewTransitionName === name) return candidate;
349    }
350    return null;
351  }
352
353  function retainPostCaptureSurface(name) {
354    var frame = findArtifactTransitionTarget(name);
355    if (!frame || !frame.closest('.article-view')) return null;
356    var bounds = frame.getBoundingClientRect();
357    var clone = frame.cloneNode(true);
358    var originals = frame.querySelectorAll('canvas');
359    var canvases = clone.querySelectorAll('canvas');
360    for (var i = 0; i < originals.length; i++) {
361      canvases[i].getContext('2d').drawImage(originals[i], 0, 0);
362    }
363    var elements = [clone].concat(Array.from(clone.querySelectorAll('*')));
364    var sourceElements = [frame].concat(Array.from(frame.querySelectorAll('*')));
365    elements.forEach(function(element, index) {
366      // Preserve intrinsic video sizing and container-query geometry when the
367      // copy leaves the article. A source-less video otherwise reflows to its
368      // default dimensions and shifts the retained canvas inside the frame.
369      var style = getComputedStyle(sourceElements[index]);
370      element.style.width = style.width;
371      element.style.height = style.height;
372      element.style.boxSizing = style.boxSizing;
373      element.style.contentVisibility = 'visible';
374      element.style.viewTransitionName = 'none';
375      element.removeAttribute('data-artifact-transition-name');
376      if (element.tagName === 'VIDEO') {
377        element.removeAttribute('src');
378        element.removeAttribute('autoplay');
379      }
380    });
381    Object.assign(clone.style, {
382      position: 'fixed', left: bounds.left + 'px', top: bounds.top + 'px',
383      width: bounds.width + 'px', height: bounds.height + 'px', margin: '0',
384      transform: 'none', pointerEvents: 'none', zIndex: '60'
385    });
386    clone.inert = true;
387    clone.setAttribute('aria-hidden', 'true');
388    clone.setAttribute('data-post-capture-surface', '');
389    var computed = getComputedStyle(frame);
390    for (var propertyIndex = 0; propertyIndex < computed.length; propertyIndex++) {
391      var property = computed[propertyIndex];
392      if (property.indexOf('--') === 0) clone.style.setProperty(property, computed.getPropertyValue(property));
393    }
394    document.body.appendChild(clone);
395    // Canvas/video surfaces can disappear from WebKit's frozen page even when
396    // their DOM survives. Decode ordinary images before native capture begins.
397    // toBlob keeps image encoding off the synchronous navigation path.
398    var urls = [];
399    var ready = Promise.all(Array.from(canvases, function(canvas) {
400      return new Promise(function(resolve) {
401        try {
402          canvas.toBlob(function(blob) {
403            if (!blob) { resolve(); return; }
404            var url = URL.createObjectURL(blob);
405            urls.push(url);
406            var image = new Image();
407            image.className = canvas.className;
408            image.style.cssText = canvas.style.cssText;
409            image.width = canvas.width;
410            image.height = canvas.height;
411            image.alt = '';
412            image.decoding = 'sync';
413            image.src = url;
414            image.decode().then(function() { canvas.replaceWith(image); resolve(); }, function() { resolve(); });
415          }, 'image/jpeg', 0.92);
416        } catch (_) { resolve(); }
417      });
418    }));
419    return {
420      element: clone, bounds: bounds, background: getComputedStyle(document.body).backgroundColor, ready: ready,
421      dispose: function() { clone.remove(); urls.forEach(function(url) { URL.revokeObjectURL(url); }); }
422    };
423  }
424
425  function startAfterCaptureReady(ready, start, types) {
426    var native = null;
427    var skip = false;
428    var pendingTypes = new Set(types || []);
429    var pending = ready.then(function() {
430      native = start(Array.from(pendingTypes));
431      if (skip) native.skipTransition();
432      return native;
433    });
434    var result = {
435      ready: pending.then(function(value) { return value.ready; }),
436      updateCallbackDone: pending.then(function(value) { return value.updateCallbackDone; }),
437      finished: pending.then(function(value) { return value.finished; }),
438      get types() { return native ? native.types : pendingTypes; },
439      skipTransition: function() { skip = true; if (native) native.skipTransition(); }
440    };
441    result.updateCallbackDone.catch(function() {});
442    return result;
443  }
444
445  function measureArtifactRadius(name) {
446    var target = findArtifactTransitionTarget(name);
447    if (!target) return null;
448    var clip = target.querySelector('[data-artifact-clip]');
449    if (!clip) return null;
450    var clipStyle = getComputedStyle(clip);
451    var clipPath = clipStyle.clipPath;
452    var match = clipPath && clipPath.match(/round +([0-9.]+)px/);
453    var width = Number.parseFloat(clipStyle.width) || clip.clientWidth;
454    if (!match || width <= 0) return null;
455    var px = Number.parseFloat(match[1]);
456    if (!Number.isFinite(px)) return null;
457    var radiusToken = clipStyle
458      .getPropertyValue('--artifact-corner-radius')
459      .trim();
460    var cqiMatch = radiusToken.match(/^([0-9.]+)cqi$/);
461    var ratio = cqiMatch ? Number.parseFloat(cqiMatch[1]) / 100 : px / width;
462    return { px: px, ratio: ratio };
463  }
464
465	function captureArtifactOutline(name, token, captured) {
466	  var frame = findArtifactTransitionTarget(name);
467	  var outline = frame && frame.querySelector('[data-artifact-transition-outline]');
468	  if (!outline) return null;
469	  // WebKit can leave an inset shadow painted in the parent/root snapshot,
470	  // even when its element has a separate transition name. Capture geometry
471	  // only and recreate the stroke on that group's animated image pair.
472	  outline.removeAttribute('data-nm-artifact-outline-capture');
473	  var style = getComputedStyle(outline);
474	  var result = {
475	    shadow: style.boxShadow || 'none',
476	    radius: style.borderTopLeftRadius || '0px',
477	    opacity: style.opacity || '1',
478	  };
479	  outline.setAttribute('data-nm-artifact-outline-capture', String(token));
480	  captured.push(outline);
481	  return result;
482	}
483
484	function updateArtifactOutlinePolicy(style, name, from, to, token) {
485	  if (!style || !name || !from || !to) return;
486	  if (!style.__nmOutlineBase) style.__nmOutlineBase = style.textContent;
487	  var animationName = 'artifact-outline-' + token;
488	  var stroke = to.shadow === 'none' ? from.shadow : to.shadow;
489	  // The white lightbox stroke disappears against the returning white page.
490	  // Paint the destination inset stroke from the first frame and move it with
491	  // the frame; interpolating box-shadow also repaints this large layer.
492	  style.textContent = style.__nmOutlineBase +
493	    ':root.nm-vt-shared-artifact::view-transition-image-pair(' + name + '){box-shadow:' + stroke + ';border-radius:' + from.radius + ';animation:' + animationName + ' var(--artifact-duration) var(--artifact-curve) both!important}' +
494	    '@keyframes ' + animationName + '{from{border-radius:' + from.radius + ';opacity:' + from.opacity + '}to{border-radius:' + to.radius + ';opacity:' + to.opacity + '}}';
495	}
496
497  // WebKit can drop a freshly mounted chrome layer from the new snapshot.
498  // Keep bounded, inert copies of the two article states so Back can animate
499  // an old snapshot, just as the media transition does. No work runs per frame.
500  var artifactChromeCache = new Map();
501  function copyChrome(chrome) {
502    var clone = chrome.cloneNode(true);
503    var sources = [chrome].concat(Array.from(chrome.querySelectorAll('*')));
504    var copies = [clone].concat(Array.from(clone.querySelectorAll('*')));
505    sources.forEach(function(source, index) {
506      var computed = getComputedStyle(source);
507      var copy = copies[index];
508      for (var n = 0; n < computed.length; n++) {
509        var property = computed[n];
510        if (property.indexOf('--') === 0) continue;
511        copy.style.setProperty(property, computed.getPropertyValue(property));
512      }
513      copy.removeAttribute('id');
514      copy.style.viewTransitionName = 'none';
515      copy.style.transition = 'none';
516      copy.style.animation = 'none';
517    });
518    return clone;
519  }
520
521  function prepareArtifactChrome(name, token) {
522    var frame = findArtifactTransitionTarget(name);
523    var chrome = frame && frame.querySelector('[data-artifact-transition-chrome]');
524    if (!chrome) return null;
525    var bounds = frame.getBoundingClientRect();
526    if (!document.querySelector('[data-lightbox-transition-root]')) {
527      frame.setAttribute('data-artifact-chrome-token', String(token));
528      var previous = frame.matches(':hover') || frame.hasAttribute('data-gallery-force-hover') ? 'true' : 'false';
529      frame.setAttribute('data-artifact-chrome-hover', 'true');
530      var hovered = copyChrome(chrome);
531      frame.setAttribute('data-artifact-chrome-hover', 'false');
532      var resting = copyChrome(chrome);
533      frame.setAttribute('data-artifact-chrome-hover', previous);
534      artifactChromeCache.delete(name);
535      artifactChromeCache.set(name, { hovered: hovered, resting: resting, bounds: bounds, width: chrome.clientWidth });
536      if (artifactChromeCache.size > 12) artifactChromeCache.delete(artifactChromeCache.keys().next().value);
537      return null;
538    }
539    var saved = artifactChromeCache.get(name);
540    if (!saved || !saved.width) return null;
541    var target = saved.bounds;
542    var hovered = artifactPointer && artifactPointer.x >= target.left && artifactPointer.x < target.right && artifactPointer.y >= target.top && artifactPointer.y < target.bottom;
543    var paint = (hovered ? saved.hovered : saved.resting).cloneNode(true);
544    var layer = document.createElement('div');
545    layer.setAttribute('aria-hidden', 'true');
546    layer.inert = true;
547    Object.assign(layer.style, { position: 'fixed', left: bounds.left + 'px', top: bounds.top + 'px', width: bounds.width + 'px', height: bounds.height + 'px', pointerEvents: 'none', viewTransitionName: name + '-chrome' });
548    Object.assign(paint.style, { position: 'absolute', left: '0', top: '0', right: 'auto', bottom: 'auto', margin: '0', transformOrigin: '0 0', transform: 'scale(' + bounds.width / saved.width + ')' });
549    layer.appendChild(paint);
550    chrome.style.viewTransitionName = 'none';
551    document.body.appendChild(layer);
552    return layer;
553  }
554
555  var artifactPointer = null;
556  window.addEventListener('pointermove', function(event) {
557    artifactPointer = { x: event.clientX, y: event.clientY };
558  }, { passive: true });
559  document.addEventListener('pointerleave', function() { artifactPointer = null; });
560
561  function settleArtifactChrome(name, token) {
562    var frame = findArtifactTransitionTarget(name);
563    if (!frame || !frame.querySelector('[data-artifact-transition-chrome]')) return;
564    frame.querySelector('[data-artifact-transition-chrome]').style.viewTransitionName = name + '-chrome';
565    var rect = frame.getBoundingClientRect();
566    var hovered = artifactPointer && artifactPointer.x >= rect.left && artifactPointer.x < rect.right && artifactPointer.y >= rect.top && artifactPointer.y < rect.bottom;
567    frame.setAttribute('data-artifact-chrome-hover', hovered ? 'true' : 'false');
568    frame.setAttribute('data-artifact-chrome-token', String(token));
569    return frame;
570  }
571
572  function activateArtifact(name) {
573	window.__NM_ACTIVE_ARTIFACT__ = name || null;
574	var artifactEls = document.querySelectorAll('[data-artifact-transition-name]');
575	var activated = false;
576	for (var j = 0; j < artifactEls.length; j++) {
577	  var artifactEl = artifactEls[j];
578	  var match = !activated && name && artifactEl.getAttribute('data-artifact-transition-name') === name;
579	  if (match) {
580	    artifactEl.style.viewTransitionName = name;
581	    artifactEl.style.viewTransitionClass = 'artifact';
582	    activated = true;
583	  } else if ((artifactEl.style.viewTransitionName || '').indexOf('artifact-') === 0) {
584	    artifactEl.style.viewTransitionName = 'none';
585	  }
586	  var shadowEl = artifactEl.querySelector('[data-artifact-transition-shadow]');
587	  if (shadowEl) {
588	    if (match) {
589	      shadowEl.style.viewTransitionName = name + '-shadow';
590	      shadowEl.style.viewTransitionClass = shadowEl.getAttribute('data-artifact-transition-shadow-class') || 'artifact-shadow';
591	    } else if ((shadowEl.style.viewTransitionName || '').indexOf('artifact-') === 0) {
592	      shadowEl.style.viewTransitionName = 'none';
593	    }
594	  }
595	  var chromeEl = artifactEl.querySelector('[data-artifact-transition-chrome]');
596	  if (chromeEl) chromeEl.style.viewTransitionName = match ? name + '-c
596hrome' : 'none';
597	  var outlineEl = artifactEl.querySelector('[data-artifact-transition-outline]');
598	  if (outlineEl) {
599	    if (match) {
600	      outlineEl.style.viewTransitionName = name + '-outline';
601	      outlineEl.style.viewTransitionClass = outlineEl.getAttribute('data-artifact-transition-outline-class') || 'artifact-outline';
602	    } else if ((outlineEl.style.viewTransitionName || '').indexOf('artifact-') === 0) {
603	      outlineEl.style.viewTransitionName = 'none';
604	    }
605	  }
606	}
607  }
608
609  if (window.navigation) {
610    window.navigation.addEventListener('navigate', function(e) {
611      if (!e.destination) return;
612      var cur = window.navigation.currentEntry;
613      if (!cur) return;
614      if (e.navigationType === 'traverse') {
615		pendingDirection =
616		  e.destination.index >= 0 && cur.index >= 0
617		    ? (e.destination.index > cur.index ? 'forward' : 'back')
618	    : 'back';
619		pendingTraversal = { direction: pendingDirection };
620      } else if (!pendingTraversal) {
621		pendingDirection = 'forward';
622      }
623      pendingUAVisualTransition = !!e.hasUAVisualTransition;
624    });
625  }
626	window.addEventListener('popstate', function() {
627	  var destination = readHistoryEntry();
628	  var previous = currentHistoryEntry;
629	  var direction = typeof destination.index === 'number' && typeof previous.index === 'number'
630	    ? (destination.index > previous.index ? 'forward' : 'back')
631	    : (pendingTraversal && pendingTraversal.direction) || 'back';
632	  var entry = artifactEntries[direction === 'back' ? previous.key : destination.key];
633	  pendingDirection = direction;
634	  pendingTraversal = { direction: direction, artifact: entry ? entry.artifact : null, type: entry ? entry.type : null };
635	  currentHistoryEntry = destination;
636	  window.__NM_PENDING_ARTIFACT__ = null;
637	  window.__NM_VIEW_TRANSITION_TYPE__ = null;
638	  activateArtifact(pendingTraversal.artifact);
639	});
640	document.addEventListener('click', function(e) {
641	  if (!e.target.closest || !e.target.closest('a[href]')) return;
642	  pendingDirection = 'forward';
643	  pendingTraversal = null;
644	  window.__NM_PENDING_ARTIFACT__ = null;
645	  window.__NM_VIEW_TRANSITION_TYPE__ = null;
646	}, true);
647	document.addEventListener('submit', function() {
648	  pendingDirection = 'forward';
649	  pendingTraversal = null;
650	  window.__NM_PENDING_ARTIFACT__ = null;
651	  window.__NM_VIEW_TRANSITION_TYPE__ = null;
652	}, true);
653
654  var orig = document.startViewTransition;
655  if (orig) {
656    document.startViewTransition = function(cb) {
657      var dir = pendingDirection || 'forward';
658      var uaTransition = pendingUAVisualTransition;
659	  var traversal = pendingTraversal;
660	  pendingTraversal = null;
661      pendingDirection = null;
662      pendingUAVisualTransition = false;
663	  var transitionToken = (vtState.transitionToken || 0) + 1;
664	  vtState.transitionToken = transitionToken;
665	  document.documentElement.classList.remove('nm-vt-skip-root', 'nm-vt-lightbox-exact', 'nm-vt-shared-artifact', 'nm-vt-post-artifact', 'nm-vt-post-ready');
666	  activateArtifact(traversal ? traversal.artifact : window.__NM_ACTIVE_ARTIFACT__);
667      emitStart(dir);
668      var types = [dir];
669      if (uaTransition) types.push('ua-visual-transition');
670	  var opts = typeof cb === 'function'
671	    ? { update: cb, types: types }
672	    : Object.assign({}, cb, { types: types.concat(cb.types || []) });
673	  var transitionType = (traversal && traversal.type) || window.__NM_VIEW_TRANSITION_TYPE__;
674	  window.__NM_VIEW_TRANSITION_TYPE__ = null;
675	  if (
676		!transitionType &&
677		dir === 'back' &&
678		document.querySelector('[data-lightbox-transition-root]')
679	  ) {
680		transitionType = 'lightbox';
681	  }
682		  if (transitionType && opts.types.indexOf(transitionType) === -1) {
683		    opts.types.push(transitionType);
684		  }
685		  var transitionPerformance = {
686		    id: ++navigationPerformance.transitionSequence,
687		    navigation: navigationPerformance.activeNavigation || null,
688		    direction: dir,
689		    transitionType: transitionType || null,
690		  };
691		  var skipRootSnapshot = transitionType === 'masonry';
692	  if (skipRootSnapshot) {
693	    document.documentElement.classList.add('nm-vt-skip-root');
694	  }
695	  var artifactRadiusToken = (vtState.artifactRadiusToken || 0) + 1;
696	  vtState.artifactRadiusToken = artifactRadiusToken;
697	  resetArtifactRadiusMorph();
698	  var activeArt = window.__NM_ACTIVE_ARTIFACT__;
699	  var activeArtShadow = activeArt ? activeArt + '-shadow' : null;
700	  var activeArtOutline = activeArt ? activeArt + '-outline' : null;
701	  var sharedArtifactTransition = transitionType === 'lightbox' || transitionType === 'post-artifact';
702	  var videoSnapshot = transitionType === 'post-artifact' ? freezeArtifactVideo(activeArt) : null;
703	  var postCaptureSurface = transitionType === 'post-artifact' && dir === 'back' ? retainPostCaptureSurface(activeArt) : null;
704	  var capturedOutlines = [];
705	  var settledChrome = null;
706	  var sourceChromeFrame = transitionType === 'lightbox' ? findArtifactTransitionTarget(activeArt) : null;
707	  var returnChrome = transitionType === 'lightbox' ? prepareArtifactChrome(activeArt, transitionToken) : null;
708	  var oldArtifactOutline = sharedArtifactTransition
709	    ? captureArtifactOutline(activeArt, transitionToken, capturedOutlines)
710	    : null;
711	  var exactLightboxStyle =
712		sharedArtifactTransition
713		  ? installExactLightboxArtifactPolicy(activeArt, activeArtShadow, activeArtOutline, returnChrome, transitionType === 'post-artifact')
714		  : null;
715	  if (postCaptureSurface && exactLightboxStyle) {
716	    var b = postCaptureSurface.bounds;
717	    exactLightboxStyle.textContent +=
718	      ':root::view-transition-group(post-capture-retainer){animation:none!important;opacity:0!important}' +
719	      ':root.nm-vt-post-ready::view-transition-image-pair(root){background:' + postCaptureSurface.background + '}' +
720	      ':root.nm-vt-post-ready::view-transition-old(root){clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,' + b.left + 'px ' + b.top + 'px,' + b.left + 'px ' + b.bottom + 'px,' + b.right + 'px ' + b.bottom + 'px,' + b.right + 'px ' + b.top + 'px,' + b.left + 'px ' + b.top + 'px)}';
721	  }
722	  updateArtifactOutlinePolicy(exactLightboxStyle, activeArtOutline, oldArtifactOutline, oldArtifactOutline, transitionToken);
723	  if (activeArt) {
724	    var els = document.querySelectorAll('[style*="view-transition-name"]');
725	    for (var k = 0; k < els.length; k++) {
726	      var vt = els[k].style.viewTransitionName;
727	      if (
728			vt &&
729			vt !== activeArt &&
730			vt !== activeArtShadow &&
731			vt !== activeArtOutline &&
732			vt !== activeArt + '-chrome' &&
733			vt.indexOf('artifact-') === 0
734		  ) {
735            els[k].style.viewTransitionName = 'none';
736          }
737        }
738      }
739
740	  var oldArtifactRadius =
741		!uaTransition && activeArt ? measureArtifactRadius(activeArt) : null;
742	  if (oldArtifactRadius) {
743		document.documentElement.style.setProperty(
744		  '--artifact-vt-radius-from',
745		  oldArtifactRadius.px + 'px',
746		);
747	  }
748	  var originalUpdate = opts.update;
749		  if (typeof originalUpdate === 'function') {
750			opts.update = function() {
751			  if (videoSnapshot) videoSnapshot.remove();
752			  if (postCaptureSurface) postCaptureSurface.element.style.viewTransitionName = 'post-capture-retainer';
753			  var updateThis = this;
754			  var updateArgs = arguments;
755			  recordTransitionPerformance(transitionPerformance, 'updateStart', 'started');
756			  var updatePromise;
757			  if (oldArtifactRadius) {
758				// Preserve the radius morph's existing microtask boundary.
759				updatePromise = Promise.resolve().then(function() {
760				  return originalUpdate.apply(updateThis, updateArgs);
761				});
762			  } else {
763				try {
764				  updatePromise = Promise.resolve(
765					originalUpdate.apply(updateThis, updateArgs),
766				  );
767				} catch (err) {
768				  recordTransitionPerformance(
769					transitionPerformance,
770					'updateEnd',
771					'rejected',
772				  );
773				  throw err;
774				}
775			  }
776
777			  return updatePromise.then(
778				function(value) {
779				  if (returnChrome) returnChrome.remove();
780				  if (transitionType === 'lightbox' && vtState.transitionToken === transitionToken) settledChrome = settleArtifactChrome(activeArt, transitionToken);
781				  if (oldArtifactOutline && vtState.transitionToken === transitionToken) {
782				    var newArtifactOutline = captureArtifactOutline(activeArt, transitionToken, capturedOutlines);
783				    updateArtifactOutlinePolicy(exactLightboxStyle, activeArtOutline, oldArtifactOutline, newArtifactOutline, transitionToken);
784				  }
785				  if (oldArtifactRadius && vtState.transitionToken === transitionToken) {
786					var newArtifactRadius = measureArtifactRadius(activeArt);
787					if (newArtifactRadius) {
788					  document.documentElement.style.setProperty(
789						'--artifact-vt-radius-from',
790						oldArtifactRadius.px + 'px',
791					  );
792					  document.documentElement.style.setProperty(
793						'--artifact-vt-radius-to',
794						newArtifactRadius.px + 'px',
795					  );
796					  document.documentElement.classList.add('nm-vt-artifact-radius');
797					}
798				  }
799				  recordTransitionPerformance(
800					transitionPerformance,
801					'updateEnd',
802					'fulfilled',
803				  );
804				  return value;
805				},
806				function(err) {
807				  recordTransitionPerformance(
808					transitionPerformance,
809					'updateEnd',
810					'rejected',
811				  );
812				  throw err;
813				},
814			  );
815			};
816		  }
817
818		  function finishTransition(status) {
819			recordTransitionPerformance(
820			  transitionPerformance,
821			  'finished',
822			  status,
823			);
824		if (exactLightboxStyle) exactLightboxStyle.remove();
825		if (videoSnapshot) videoSnapshot.remove();
826		if (postCaptureSurface) postCaptureSurface.dispose();
827		if (settledChrome && settledChrome.getAttribute('data-artifact-chrome-token') === String(transitionToken)) { settledChrome.removeAttribute('data-artifact-chrome-hover'); settledChrome.removeAttribute('data-artifact-chrome-token'); }
828		if (returnChrome) returnChrome.remove();
829		if (sourceChromeFrame && sourceChromeFrame.getAttribute('data-artifact-chrome-token') === String(transitionToken)) { sourceChromeFrame.removeAttribute('data-artifact-chrome-hover'); sourceChromeFrame.removeAttribute('data-artifact-chrome-token'); }
830		for (var outlineIndex = 0; outlineIndex < capturedOutlines.length; outlineIndex++) {
831		  var capturedOutline = capturedOutlines[outlineIndex];
832		  if (capturedOutline.getAttribute('data-nm-artifact-outline-capture') === String(transitionToken)) {
833		    capturedOutline.removeAttribute('data-nm-artifact-outline-capture');
834		  }
835		}
836		// A skipped transition may finish after its replacement has started.
837		// Only the current operation may restore names or clear shared state.
838		if (vtState.transitionToken !== transitionToken) return;
839		var currentArtifactEntry = artifactEntries[currentHistoryEntry.key];
840		activateArtifact(window.__NM_PENDING_ARTIFACT__ || (currentArtifactEntry && currentArtifactEntry.artifact));
841		if (vtState.artifactRadiusToken === artifactRadiusToken) {
842		  resetArtifactRadiusMorph();
843		}
844		document.documentElement.classList.remove('nm-vt-skip-root', 'nm-vt-lightbox-exact', 'nm-vt-sh
844ared-artifact', 'nm-vt-post-artifact', 'nm-vt-post-ready');
845		emitEnd();
846	  }
847
848	      var transition;
849		  try {
850		    recordTransitionPerformance(
851		      transitionPerformance,
852		      'start',
853		      'started',
854		    );
855		    if (postCaptureSurface) {
856		      transition = startAfterCaptureReady(postCaptureSurface.ready, function(types) { opts.types = types; return orig.call(document, opts); }, opts.types);
857		    } else {
858		      transition = orig.call(document, opts);
859		    }
860		    if (
861		      !uaTransition &&
862		      window.matchMedia &&
863		      window.matchMedia('(prefers-reduced-motion: reduce)').matches &&
864		      transition &&
865		      typeof transition.skipTransition === 'function'
866		    ) {
867		      // CSS still provides the fallback policy, but the native skip keeps
868		      // snapshot/update overhead plus animation inside the 120ms budget.
869		      transition.skipTransition();
870		    }
871		  } catch (err) {
872	    if (skipRootSnapshot && vtState.transitionToken === transitionToken) {
873	      document.documentElement.classList.remove('nm-vt-skip-root');
874	    }
875	    finishTransition('threw');
876	    throw err;
877	  }
878
879		  var finishReady = function(status) {
880		    if (status === 'rejected' && postCaptureSurface) postCaptureSurface.element.remove();
881		    if (status === 'fulfilled' && postCaptureSurface && exactLightboxStyle) {
882		      // The unnamed copy keeps WebKit's frozen root complete while it builds
883		      // the destination. Once the shared layer exists, cut the copy out of
884		      // that root so it cannot leave a second artifact behind the moving one.
885		      document.documentElement.classList.add('nm-vt-post-ready');
886		      // WebKit may expose the live DOM before finished callbacks run. Keep
887		      // the named element mounted for the snapshot lifetime, but hide its
888		      // live copy now so teardown cannot flash it at the old article position.
889		      postCaptureSurface.element.style.opacity = '0';
890		    }
891		    if (status === 'fulfilled' && transitionType === 'post-artifact' && vtState.transitionToken === transitionToken && document.getAnimations) {
892		      // WebKit can start against the frame timestamp from before route
893		      // capture. Use the current document clock so capture doesn't consume
894		      // the visible animation. Keep every snapshot on the same clock.
895		      var animationStart = performance.now();
896		      document.getAnimations().forEach(function(animation) {
897		        var effect = animation.effect;
898		        if (effect && effect.pseudoElement && effect.pseudoElement.indexOf('::view-transition') === 0) animation.startTime = animationStart;
899		      });
900		    }
901		    recordTransitionPerformance(
902		      transitionPerformance,
903		      'ready',
904		      status,
905		    );
906		    if (skipRootSnapshot && vtState.transitionToken === transitionToken) {
907		      document.documentElement.classList.remove('nm-vt-skip-root');
908		    }
909		  };
910		  if (transition && transition.ready && typeof transition.ready.then === 'function') {
911		    transition.ready.then(
912		      function() { finishReady('fulfilled'); },
913		      function() { finishReady('rejected'); },
914		    );
915		  } else {
916		    setTimeout(function() { finishReady('unavailable'); }, 0);
917		  }
918
919	      if (transition && transition.finished && typeof transition.finished.then === 'function') {
920			transition.finished.then(
921			  function() { finishTransition('fulfilled'); },
922			  function() { finishTransition('rejected'); },
923			);
924	      } else {
925			setTimeout(function() { finishTransition('unavailable'); }, 0);
926	      }
927
928      return transition;
929    };
930  }
931})();
932</script>
932</head><body class="select-none"><div aria-hidden="true" data-lightbox-bottom-scrim="" class="fixed inset-x-0 bottom-0 z-80 h-[12vh] pointer-events-none" style="opacity:0;background:linear-gradient(to bottom, color-mix(in srgb, color-mix(in srgb, var(--lightbox-bg) 100.00%, var(--bg) 0.00%) 0%, transparent) 0%, color-mix(in srgb, var(--lightbox-bg) 100.00%, var(--bg) 0.00%) 100%);view-transition-name:article-lightbox-bottom-scrim"></div><div class="contents" style="--article-tint:#ffffff;--selection-bg:#ffffff;--selection-fg:#000000"><div data-content-shell="true" class="max-w-screen min-h-dvh bg-bg text-fg transition-colors duration-400 labs-content-theme"><header data-site-header="" class="sticky top-0 left-0 right-0 flex items-center pointer-events-none z-75"><div class="site-header-chrome z-10 w-full" data-animate-intro="false" data-visible="true" style="--site-header-tint:#ffffff;color:#ffffff"><div data-site-header-surface="" class="relative flex w-full items-center overflow-clip border-b border-transparent transition-[background-color,border-color] duration-300" style="view-transition-name:header;view-transition-class:header"><div data-site-header-tint="" class="absolute inset-0 pointer-events-none transition-colors duration-250 ease-in-out" style="background-color:transparent;opacity:0"></div><div class="flex min-w-0 w-full flex-1 items-center px-4 sm:px-6"><div class="flex min-w-0 w-full items-stretch gap-4 pl-0 pr-0 sm:pl-3"><div data-site-header-leading="" class="flex min-w-0 flex-1 items-center gap-2.5"><button type="button" title="Home" class="cursor-pointer pointer-events-auto shrink-0 transition-opacity duration-75 active:opacity-70"><div><div tabindex="0" style="pointer-events:none;cursor:default;width:80px;height:15px"><svg width="100%" viewBox="0 0 1600 300" xmlns="http://www.w3.org/2000/svg" style="overflow:visible;fill:#ffffff;stroke:#ffffff;width:80px" class="transition-colors duration-300" stroke-width="3"><title>New Material</title><path opacity="1" d="M 0, 300 m 20, 0 Q 0,300 20,280 L 90,210 Q 100,200 110,200 L 300,200 Q 300,200 290,210 L 200,300 Q 200,300 190,300 Z"></path><path d="M 200, 300 m 0, 0 Q 200,300 210,290 L 300,200 Q 300,200 310,200 L 600,200 L 500,300 Q 500,300 500,300 Z"></path><path opacity="1" d="M 500, 300 m 0,0 Q 500,300 500,300 L 600,200 L 800,200 Q 800,200 800,200 L 700,300 Z"></path><path d="M 700, 300 L 800,200 Q 800,200 810,200 L 1100,200 Q 1100,200 1090,210 L 1000,300 Q 1000,300 990,300 Z"></path><path opacity="1" d="M 1000,300 l 100,-100 l 300,0 l -100,100 Z"></path><path d="M 1300,300 l 100,-100 q 0,0 20,0 l 160,0 q 20,0 0,20 l -70,70 q -10,10 -20,10 Z"></path></svg></div></div></button><div class="site-header-title-motion group relative flex self-stretch items-center min-w-0 max-w-full grow text-[14px] font-[400] site-header-title-motion-hidden pointer-events-none" aria-hidden="true" style="color:var(--fg)"><div data-site-header-title-content="" class="flex flex-row self-stretch items-center gap-2.5 justify-start w-full"><div class="w-px h-4 shrink-0 transition-opacity duration-300 ease-in-out opacity-24" style="background-color:currentColor"></div><div class="grid w-full min-w-0 transition-all duration-300 ease-in-out opacity-100 blur-none"><div class="site-header-title-layer site-header-context-title-layer flex w-full min-w-0 items-center gap-1.5 overflow-visible site-header-title-layer-hidden" aria-hidden="true" style="color:var(--site-header-tint)"><div class="size-4 shrink-0"><div data-scroll-spinner-scroll="" class="size-full" style="rotate:0deg"><div data-scroll-spinner-idle="" class="size-full" style="transform:none"><svg viewBox="0 0 60 60" fill="none" aria-hidden="true" overflow="visible" class="size-full"><circle cx="49.425" cy="30" r="5" fill="currentColor"></circle><circle cx="39.7125" cy="46.827600000000004" r="5" fill="currentColor"></circle><circle cx="20.2875" cy="46.827600000000004" r="5" fill="currentColor"></circle><circle cx="10.575" cy="30" r="5" fill="currentColor"></circle><circle cx="20.2875" cy="13.1724" r="5" fill="currentColor"></circle><circle cx="39.7125" cy="13.1724" r="5" fill="currentColor"></circle></svg></div></div></div><span class="truncate">More from context</span></div><div class="site-header-title-layer site-header-article-title-layer truncate w-full site-header-title-layer-visible" data-site-header-title="" style="color:var(--fg)" aria-hidden="false"></div></div></div><button type="button" class="absolute left-0 inset-y-0 z-10 flex origin-center items-center justify-center pointer-events-none cursor-pointer shrink-0 group-hover:pointer-events-auto" tabindex="0" style="opacity:0;transform:scale(0.9)"><div class="flex items-center justify-center gap-2 p-1 pr-3 rounded-full bg-bg outline-[1pt] outline-fg/6 shadow-[0_1px_2px_color-mix(in_srgb,var(--fg)_6%,transparent)]"><div class="size-6 rounded-full overflow-clip relative" style="background-color:color-mix(in srgb, #ffffff 12%, transparent);color:#ffffff"><div class="site-header-jump-mask absolute inset-0 overflow-clip" style="-webkit-mask-image:linear-gradient(to bottom, transparent 0%, black 33%, black 67%, transparent 100%);mask-image:linear-gradient(to bottom, transparent 0%, black 33%, black 67%, transparent 100%)"><div data-site-header-jump-track="" class="h-12 w-6 flex flex-col"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-6"><path d="M15.9961 10V22" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path><path d="M11 15L16 10L21 15" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-6"><path d="M15.9961 10V22" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path><path d="M11 15L16 10L21 15" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg></div></div></div><p class="shrink-0 text-[0.875rem] font-[400] leading-[21px] tracking-[-0.1px] text-muted">Jump to top</p></div></button></div></div><div data-site-header-announcement-slot="" class="pointer-events-none absolute inset-y-0 left-1/2 z-20 flex w-[var(--announcement-max-width,0px)] min-w-0 -translate-x-1/2 items-center justify-center"></div><div data-site-header-actions="" class="ml-auto flex shrink-0 items-center justify-end py-[8pt] will-change-transform"><a href="#get-in-touch" data-site-header-cta="" data-compact="false" aria-label="Get started" class="appearance-none text-fg cursor-pointer rounded-[10px] border border-fg/8 bg-transparent hover:border-[var(--btn-tint)]/8 hover:bg-[var(--btn-tint)]/8 hover:text-[var(--btn-tint)] active:bg-[var(--btn-tint)]/16 shadow-none hover:shadow-none active:shadow-none filter-none hover:filter-none active:filter-none transition-[border-color,background-color,color] duration-300 text-[14px] pointer-events-auto relative inline-flex h-9 shrink-0 items-center justify-center overflow-hidden p-0 font-[500]" style="--btn-tint:#ffffff;border-color:transparent;width:110px"><span aria-hidden="true" class="pointer-events-none absolute inset-0 rounded-[inherit] border border-fg/8" style="opacity:1"></span><span class="absolute inset-0 flex items-center origin-center whitespace-nowrap will-change-transform backface-hidden" style="transform:translateZ(0.01px)"><span data-cta-label="" aria-hidden="true" class="pointer-events-none absolute right-3 inline-block w-max" style="opacity:1;filter:blur(0px);transform:none">Get started</span><svg class="pointer-events-none absolute right-[3px]" width="28" height="28" viewBox="0 0 36 36" fill="none" aria-hidden="true" style="opacity:0;filter:blur(4px);transform:translateX(-62px) scale(0.8)"><path d="M29 18.5C29 21.7616 29 23.3924 28.4672 24.6788C27.7567 26.394 26.394 27.7567 24.6788 28.4672C23.3924 29 21.7616 29 18.5 29C15.2384 29 13.6076 29 12.3212 28.4672C10.606 27.7567 9.2433 26.394 8.53284 24.6788C8 23.3924 8 21.7616 8 18.5C8 15.2384 8 13.6076 8.53284 12.3212C9.2433 10.606 10.606 9.2433 12.3212 8.53284C13.6076 8 15.2384 8 18.5 8" stroke="currentColor" stroke-opacity="0.5" stroke-width="3"></path><path d="M21 8H29V16" stroke="currentColor" stroke-width="3"></path><path d="M30.0598 9.06066C30.6456 8.47488 30.6456 7.52513 30.0598 6.93934C29.4741 6.35355 28.5243 6.35355 27.9385 6.93934L28.9992 8L30.0598 9.06066ZM28.9992 8L27.9385 6.93934L19.9393 14.9385L21 15.9991L22.0607 17.0598L30.0598 9.06066L28.9992 8Z" fill="currentColor"></path></svg></span></a></div></div></div></div><div aria-hidden="true" data-public-navigation-pending-indicator="" class="absolute inset-x-0 bottom-0 h-px overflow-x-clip overflow-y-visible" style="--navigation-indicator-max-width:clamp(33.333333vw, 320px, 66vw);opacity:0"><div class="absolute inset-y-0 left-0 animate-[navigation-indicator-slide_2.5s_ease-in-out_infinite] motion-reduce:animate-none motion-reduce:translate-x-1/2 motion-reduce:[--navigation-gradient-position:0.5]" style="width:calc(100% - var(--navigation-indicator-max-width));animation-play-state:paused"><svg aria-hidden="true" fill="none" class="absolute top-0 h-full overflow-visible" style="--navigation-gradient-length:calc(4 * var(--navigation-gradient-position) * (1 - var(--navigation-gradient-position)));color:var(--color-white);width:var(--navigation-indicator-max-width);transform-origin:left center;transform:translateX(calc(100% * (1 - var(--navigation-gradient-length)) * var(--navigation-gradient-position))) scaleX(var(--navigation-gradient-length));left:0"><defs><linearGradient id="_R_cj5_" gradientUnits="userSpaceOnUse" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" stop-color="currentColor" stop-opacity="0"></stop><stop offset="45%" stop-color="currentColor" stop-opacity="0.15"></stop><stop offset="80%" stop-color="currentColor" stop-opacity="0.55"></stop><stop offset="93%" stop-color="currentColor"></stop><stop offset="100%" stop-color="currentColor" stop-opacity="0"></stop></linearGradient><filter id="_R_cj5H1_" filterUnits="userSpaceOnUse" x="-20%" y="-20" width="140%" height="40"><feGaussianBlur stdDeviation="4"></feGaussianBlur></filter></defs><g data-navigation-gradient-direction="forward" class="origin-center [transform-box:view-box]" style="opacity:var(--navigation-gradient-forward-opacity)">
932<g filter="url(#_R_cj5H1_)" opacity="0.5"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="url(#_R_cj5_)" stroke-width="3"></line></g><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="url(#_R_cj5_)" stroke-width="1"></line></g><g data-navigation-gradient-direction="reverse" class="origin-center [transform-box:view-box] -scale-x-100" style="opacity:calc(1 - var(--navigation-gradient-forward-opacity))"><g filter="url(#_R_cj5H1_)" opacity="0.5"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="url(#_R_cj5_)" stroke-width="3"></line></g><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="url(#_R_cj5_)" stroke-width="1"></line></g></svg></div></div></div></header><main class="article-view relative mx-auto w-full max-w-post px-gutter pt-6 pb-16" aria-busy="true"><article><div class="flex flex-col gap-0 min-h-fold"><h1 class="mx-auto w-full origin-center px-[var(--article-text-gutter)] max-w-title font-semibold text-display text-balance text-center select-text z-70" data-article-open-layer="headline" style="margin-top:6vh;opacity:0;transform:scale(0.96)">Visualising AI<span data-headline-baseline="" class="inline-block size-0 align-baseline" aria-hidden="true"></span></h1><div class="article-lightbox-meta relative z-70 mx-auto w-full origin-center px-[var(--article-text-gutter)] max-w-title mb-4" data-article-open-layer="subheadline" style="--avatar-ring-color:var(--avatar-surface-color);--avatar-status-outline:var(--avatar-surface-color);--avatar-status-bg:var(--avatar-surface-color);--article-meta-circle-outline:color-mix(in srgb, var(--lightbox-bg) 0.00%, var(--bg) 100.00%);--avatar-surface-color:color-mix(in srgb, var(--lightbox-bg) 0.00%, var(--bg) 100.00%);--avatar-status-offline:color-mix(in srgb, color-mix(in srgb, var(--bg) 0.00%, var(--fg) 100.00%) 45%, transparent);opacity:0;transform:scale(0.96)"><div class="w-full min-h-[3rem]" data-article-meta-reserve="true"><div class="w-full"><div class="flex w-full flex-col justify-center items-center" style="gap:6px;margin-top:16px;margin-bottom:16px"><div class="flex w-full flex-wrap items-center gap-x-3 gap-y-1 justify-center"><p class="article-paragraph-type text-fg/50 transition-colors duration-400" data-article-meta-muted="true">June 13, 2021</p></div></div></div></div></div><div id="header-image" class="artifact-viewport-sized relative overflow-visible pointer-events-none" style="--artifact-display-aspect:1.5"><div class="overflow-visible flex flex-col items-center justify-end h-full"><div class="w-full origin-bottom relative z-60 pointer-events-auto"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="8yPZkNXWN54JpcAsaZjKZhwNTQ1Hf3jS" data-artifact-transition-name="artifact-visualising-ai-comp-light" style="view-transition-name:artifact-visualising-ai-comp-light;view-transition-class:artifact;height:0;padding-bottom:66.6667%;--artifact-outline-color:#002e7a"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact" data-artifact-transition-shadow="artifact-visualising-ai-comp-light-shadow" data-artifact-transition-shadow-class="artifact-shadow" style="view-transition-name:artifact-visualising-ai-comp-light-shadow;view-transition-class:artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b6c3cb;border-color:#002e7a;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi"><div class="contents" data-artifact-media-content="true"><div class="relative content-visibility-auto"><img draggable="false" src="/cdn-cgi/image/width=800,quality=50,format=auto,fit=cover/uploads/artifacts/1773086130280-Visualising%20AI%20Comp%20Light-poster.webp" srcSet="/cdn-cgi/image/width=400,quality=50,format=auto,fit=cover/uploads/artifacts/1773086130280-Visualising%20AI%20Comp%20Light-poster.webp 400w, /cdn-cgi/image/width=800,quality=50,format=auto,fit=cover/uploads/artifacts/1773086130280-Visualising%20AI%20Comp%20Light-poster.webp 800w, /cdn-cgi/image/width=1200,quality=50,format=auto,fit=cover/uploads/artifacts/1773086130280-Visualising%20AI%20Comp%20Light-poster.webp 1200w, /cdn-cgi/image/width=1600,qual
932ity=50,format=auto,fit=cover/uploads/artifacts/1773086130280-Visualising%20AI%20Comp%20Light-poster.webp 1600w, /cdn-cgi/image/width=2400,quality=50,format=auto,fit=cover/uploads/artifacts/1773086130280-Visualising%20AI%20Comp%20Light-poster.webp 2400w" sizes="(max-width: 800px) 100vw, 800px" alt="" crossorigin="anonymous" fetchPriority="high" class="m-0! transition-opacity duration-200 ease-out opacity-0 absolute inset-0 size-full object-cover z-0"/><video width="1920" height="1080" loop="" muted="" playsInline="" preload="auto" class="artifact-video relative z-1 w-full transition-opacity duration-200 pointer-events-none opacity-0" crossorigin="anonymous"></video></div></div></div></div><div class="absolute inset-0 z-5"></div></div><div aria-hidden="true" class="pointer-events-none absolute inset-0 z-80" style="background:radial-gradient(ellipse 150% 150% at 0% 0%, color-mix(in srgb, #b6c3cb 100.00%, transparent) 0.00%, color-mix(in srgb, #b6c3cb 98.70%, transparent) 8.10%, color-mix(in srgb, #b6c3cb 95.10%, transparent) 15.50%, color-mix(in srgb, #b6c3cb 89.60%, transparent) 22.50%, color-mix(in srgb, #b6c3cb 82.50%, transparent) 29.00%, color-mix(in srgb, #b6c3cb 74.10%, transparent) 35.30%, color-mix(in srgb, #b6c3cb 64.80%, transparent) 41.20%, color-mix(in srgb, #b6c3cb 55.00%, transparent) 47.10%, color-mix(in srgb, #b6c3cb 45.00%, transparent) 52.90%, color-mix(in srgb, #b6c3cb 35.20%, transparent) 58.80%, color-mix(in srgb, #b6c3cb 25.90%, transparent) 64.70%, color-mix(in srgb, #b6c3cb 17.50%, transparent) 70.10%, color-mix(in srgb, #b6c3cb 10.40%, transparent) 75.50%, color-mix(in srgb, #b6c3cb 4.90%, transparent) 80.20%, color-mix(in srgb, #b6c3cb 1.90%, transparent) 86.10%, color-mix(in srgb, #b6c3cb 0.10%, transparent) 91.10%, color-mix(in srgb, #b6c3cb 0.00%, transparent) 100.00%);opacity:0"></div><div class="absolute z-100" style="top:calc(1rem * var(--artifact-control-scale, 1));right:calc(1rem * var(--artifact-control-scale, 1));transform:scale(var(--artifact-control-scale, 1));transform-origin:top right;pointer-events:auto"><div class="flex flex-col items-end gap-2"></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact" style="view-transition-name:artifact-visualising-ai-comp-light-chrome"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-auto"><div style="color:#b6c3cb" class="artifact-hover-scrim absolute inset-0 -z-5 opacity-0 transition-opacity duration-300 ease-out group-touch:opacity-100 delay-artifact-hover scrim-b-full scrim-current w-full h-full"></div><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline="artifact-visualising-ai-comp-light-outline" data-artifact-transition-outline-class="artifact-outline" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="view-transition-name:artifact-visualising-ai-comp-light-outline;view-transition-class:artifact-outline;--artifact-frame-border-color:var(--artifact-default-view-border);inset:var(--artifact-press-inset, 0%)"></div></figure></div></div></div><div class="flex flex-col article-body-sections [&amp;&gt;:first-child_.article-content-section--headed]:pt-0! mt-[36pt] mb-12" data-article-open-layer="rest" style="opacity:0"><div class=""><div class="@container"><div id="18fe36187c93aacba8fdd0dcd93989c0" style="--article-tint:#ffffff" class="article-content-section relative px-[var(--article-text-gutter)] select-text py-0 article-content-section--intro"><div class="article-content-copy p-0 w-full"><div class="quote-markdown w-full prose tracking-tight dark:prose-invert transition-colors duration-300 text-body text-fg/60 text-pretty"><p>A series of visualizations depicting the core concepts of machine learning. In 2019, when we first set out to build a company around the idea of making AI approachable to everyone, we knew that AI literacy was a crucial piece of progressing towards that vision. It was then, while we building the first iteration of what would become FieldDay that we started building our brand not only to communicate what our company was about, but as an educational tool to help people grasp some of the core concepts involved in building AI systems.</p></div><div class="article-lightbox-meta relative z-70 mt-8 origin-center w-full px-[var(--body-
932padding-x,0rem)]" data-article-open-layer="byline" style="--avatar-ring-color:var(--avatar-surface-color);--avatar-status-outline:var(--avatar-surface-color);--avatar-status-bg:var(--avatar-surface-color);--article-meta-circle-outline:color-mix(in srgb, var(--lightbox-bg) 0.00%, var(--bg) 100.00%);--avatar-surface-color:color-mix(in srgb, var(--lightbox-bg) 0.00%, var(--bg) 100.00%);--avatar-status-offline:color-mix(in srgb, color-mix(in srgb, var(--bg) 0.00%, var(--fg) 100.00%) 45%, transparent);opacity:0;color:var(--fg);transform:scale(0.96)"><div class="flex min-h-[2.25rem] items-end" data-article-meta-reserve="true"><div class="min-h-[2.25rem] w-full origin-center" style="opacity:1;transform:none"></div></div></div></div></div></div></div><div class="mt-[36pt]"><div id="M5vg28DJa3D3t4hZw2r2j9anvP7OJpKD"><div class="artifact-gallery-shell not-prose" style="--artifact-display-aspect:1.5;--gallery-progress-tint:#c5d4dc"><div class="artifact-gallery"><div class="artifact-gallery-scroll-viewport relative w-screen left-1/2 -translate-x-1/2"><p class="absolute top-0 left-0 pointer-events-none opacity-0">0</p><div class="gallery-scroll flex snap-x snap-mandatory overflow-x-auto overflow-y-clip cursor-grab select-none" style="padding-left:max(var(--content-gutter), calc((100vw - var(--post-artifact-width)) / 2));padding-right:max(var(--content-gutter), calc((100vw - var(--post-artifact-width)) / 2))"><div class="gallery-virtual-track relative shrink-0" style="width:calc(4004 * var(--gallery-slide-span))"><div aria-hidden="true" class="invisible pointer-events-none w-post-artifact" style="aspect-ratio:1.5"></div><div data-slide="true" data-virtual-index="2000" data-gallery-active-card="" data-gallery-active-set="" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2000 * var(--gallery-slide-span))"><span aria-hidden="true" class="pointer-events-none absolute top-1/2 left-[-0.1875rem] z-40 size-1 shrink-0 -translate-x-1/2 -translate-y-1/2 rounded-full bg-[currentColor] transition-opacity duration-200 ease-out sm:left-[-1rem] opacity-25"></span><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-classifier-light-00?lightbox&amp;i=0&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container group contain-layout" data-artifact-cms-id="2WWe0aZBk9Z9kVrDtdmv25fL37qWIPL3" data-hover-scale="true" data-artifact-transition-target="" data-artifact-transition-name="artifact-visualising-ai-classifier-light-00-0" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#c5d4dc"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow="artifact-visualising-ai-classifier-light-00-0-shadow" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b6c5cc;border-color:#c5d4dc;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div><div aria-hidden="true" class="pointer-events-none absolute inset-0 z-80" style="background:radial-gradient(ellipse 150% 150% at 0% 0%, color-mix(in srgb, #b6c5cc 100.00%, transparent) 0.00%, color-mix(in srgb, #b6c5cc 98.70%, transparent) 8.10%, color-mix(in srgb, #b6c5cc 95.10%, transparent) 15.50%, color-mix(in srgb, #b6c5cc 89.60%, transparent) 22.50%, color-mix(in srgb, #b6c5cc 82.50%, transparent) 29.00%, color-mix(in srgb, #b6c5cc 74.10%, transparent) 35.30%, color-mix(in srgb, #b6c5cc 64.80%, transparent) 41.20%, color-mix(in srgb, #b6c5cc 55.00%, transparent) 47.10%, color-mix(in srgb, #b6c5cc 45.00%, transparent) 52.90%, color-mix(in srgb, #b6c5cc 35.20%, transparent) 58.80%, color-mix(in srgb, #b6c5cc 25.90%, transparent) 64.70%, color-mix(in srgb, #b6c5cc 17.50%, transparent) 70.10%, color-mix(in srgb, #b6c5cc 10.40%, transparent) 75.50%, color-mix(in srgb, #b6c5cc 4.90%, transparent) 80.20%, color-mix(in srgb, #b6c5cc 1.90%, transparent) 86.10%, color-mix(in srgb, #b6c5cc 0.10%, transparent) 91.10%, color-mix(in srgb, #b6c5cc 0.00%, transparent) 100.00%);opacity:0"></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-auto"><div style="color:#b6c5cc" class="artifact-hover-scrim absolute inset-0 -z-5 opacity-0 transition-opacity duration-300 ease-out group-touch:opacity-100 delay-artifact-hover scrim-b-full scrim-current w-full h-full"></div><div class="artifact-hover-title min-w-0 transform-gpu backface-hidden transition-[translate,opacity,filter] duration-[520ms] ease-damped-spring delay-artifact-hover motion-reduce:translate-y-0 motion-reduce:blur-[0px] motion-reduce:transition-none translate-y-[calc(100%+var(--spacing-prose-gutter))] opacity-0 blur-[10px] group-touch:translate-y-0 group-touch:opacity-100 group-touch:blur-[0px]" style="text-shadow:0 0 8px #b6c5cc"><p class="article-paragraph-type line-clamp-2 my-0! transform-gpu backface-hidden transition-colors duration-300 text-balance text-white">Data collection</p></div><div class="ml-auto shrink-0" aria-hidden="false"><div data-artifact-bottom-controls="" class="flex items-center"><div data-artifact-control-motion="heart" class="shrink-0" style="transform-origin:center;opacity:var(--gallery-controls-progress, 0);filter:none;transform:none"><div data-artifact-favorite="" class="relative shrink-0" style="zoom:0.8888888888888888;--favorite-resting-background:color-mix(in srgb, #c5d4dc 25%, transparent);--favorite-resting-color:#c5d4dc;--favorite-hover-color:var(--color-white)"><span class="favorite-control" style="padding-left:0"><span class="favorite-anchor"><span aria-hidden="true" class="favorite-effects"><span class="favorite-bursts"></span><span class="favorite-total" data-testid="favorite-total" data-hidden="false" style="opacity:1;transform:none"></span></span><button type="button" class="favorite-hit-target" aria-label="Add a heart to Data collection" aria-pressed="false" aria-description="0 of your hearts, 0 total. Hold to add more hearts."><span class="favorite-button" data-liked="false" style="transform:none"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" class="size-[18px] translate-y-[0.5px]"><path d="M10.2 20C8.4 18.8 3 14.7 3 9a5 5 0 0 1 9-3 5 5 0 0 1 9 3c0 5.7-5.4 9.8-7.2 11C12.7 20.733 11.3 20.733 10.2 20Z"></path></svg></span></button></span></span></div></div><div data-artifact-control-motion="plus" class="shrink-0" style="transform-origin:center;opacity:var(--gallery-controls-progress, 0);filter:none;transform:none"><div class="h-8" style="transform-origin:right center;width:0px;margin-left:0px;opacity:0;transform:scale(0.7)"><div class="artifact-plus-control size-8 rounded-full flex items-center justify-center shrink-0 motion-reduce:transition-none" style="transform-origin:center;--artifact-plus-start:#c5d4dc;--artifact-plus-hover-bg:var(--color-white)"><svg viewBox="0 0 12 12" fill="currentColor" aria-hidden="true" class="size-4 transition-colors duration-300" style="color:#b6c5cc"><circle cy="6" cx="6" r="0" opacity="0" style="transform:translateY(4px);transform-origin:50% 50%;transform-box:fill-box"></circle><circle cy="6" cx="8" r="0" opacity="0" style="transform:translateY(4px);transform-origin:50% 50%;transform-box:fill-box"></circle><circle cy="6" cx="10" r="0" opacity="0" style="transform:translateY(4px);transform-origin:50% 50%;transform-box:fill-box"></circle></svg></div></div></div></div></div></div></div><div data-artifact-transition-outline="artifact-visualising-ai-classifier-light-00-0-outline" data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div>
932<div data-slide="true" data-virtual-index="2001" data-gallery-active-set="" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2001 * var(--gallery-slide-span))"><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-dataset-light-00?lightbox&amp;i=1&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="lo7tSqToNDhH8CfqMUXWMLNskJdfGS3y" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#080656"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b6c6cd;border-color:#080656;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 12%, transparent)"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true">
932<div data-artifact-bottom-controls="" class="flex items-center"><div data-artifact-control-motion="heart" class="shrink-0" style="transform-origin:center;opacity:var(--gallery-controls-progress, 0);filter:blur(calc((1 - var(--gallery-controls-progress, 0)) * 8px));transform:scale(calc(0.8 + var(--gallery-controls-progress, 0) * 0.2))"><div data-artifact-favorite="" class="relative shrink-0" style="zoom:0.8888888888888888;--favorite-resting-background:color-mix(in srgb, #080656 25%, transparent);--favorite-resting-color:#080656;--favorite-hover-color:var(--fg)"><span class="favorite-control" style="padding-left:0"><span class="favorite-anchor"><span aria-hidden="true" class="favorite-effects"><span class="favorite-bursts"></span><span class="favorite-total" data-testid="favorite-total" data-hidden="false" style="opacity:1;transform:none"></span></span><button type="button" class="favorite-hit-target" aria-label="Add a heart to Data classification" aria-pressed="false" aria-description="0 of your hearts, 0 total. Hold to add more hearts."><span class="favorite-button" data-liked="false" style="transform:none"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" class="size-[18px] translate-y-[0.5px]"><path d="M10.2 20C8.4 18.8 3 14.7 3 9a5 5 0 0 1 9-3 5 5 0 0 1 9 3c0 5.7-5.4 9.8-7.2 11C12.7 20.733 11.3 20.733 10.2 20Z"></path></svg></span></button></span></span></div></div><div data-artifact-control-motion="plus" class="shrink-0" style="transform-origin:center;opacity:var(--gallery-controls-progress, 0);filter:blur(calc((1 - var(--gallery-controls-progress, 0)) * 8px));transform:scale(calc(0.8 + var(--gallery-controls-progress, 0) * 0.2))"><div class="h-8" style="transform-origin:right center;width:0px;margin-left:0px;opacity:0;transform:scale(0.7)"><div class="artifact-plus-control size-8 rounded-full flex items-center justify-center shrink-0 motion-reduce:transition-none" style="transform-origin:center;--artifact-plus-start:#080656;--artifact-plus-hover-bg:var(--fg)"><svg viewBox="0 0 12 12" fill="currentColor" aria-hidden="true" class="size-4 transition-colors duration-300" style="color:#b6c6cd"><circle cy="6" cx="6" r="0" opacity="0" style="transform:translateY(4px);transform-origin:50% 50%;transform-box:fill-box"></circle><circle cy="6" cx="8" r="0" opacity="0" style="transform:translateY(4px);transform-origin:50% 50%;transform-box:fill-box"></circle><circle cy="6" cx="10" r="0" opacity="0" style="transform:translateY(4px);transform-origin:50% 50%;transform-box:fill-box"></circle></svg></div></div></div></div></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="2002" data-gallery-active-set="" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2002 * var(--gallery-slide-span))"><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-teaching-light-00?lightbox&amp;i=2&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="qUpvoxy9oMeyFxpz2ret2ON88xvrIrMu" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#b7c5cd"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b7c7ce;border-color:#b7c5cd;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="2003" data-gallery-active-set="" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2003 * var(--gallery-slide-span))"><span aria-hidden="true" class="pointer-events-none absolute top-1/2 right-[-0.1875rem] z-40 size-1 shrink-0 translate-x-1/2 -translate-y-1/2 rounded-full bg-[currentColor] transition-opacity duration-200 ease-out sm:right-[-1rem] opacity-25"></span><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-export-light-00?lightbox&amp;i=3&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="gHEbOBhRarUtZqLdkeZShd2Xjzok8Td3" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#2d328f"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b8c7ce;border-color:#2d328f;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 12%, transparent)"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="2004" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2004 * var(--gallery-slide-span))"><span aria-hidden="true" class="pointer-events-none absolute top-1/2 left-[-0.1875rem] z-40 size-1 shrink-0 -translate-x-1/2 -translate-y-1/2 rounded-full bg-[currentColor] transition-opacity duration-200 ease-out sm:left-[-1rem] opacity-0"></span><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-classifier-light-00?lightbox&amp;i=0&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-artifact-cms-id="2WWe0aZBk9Z9kVrDtdmv25fL37qWIPL3" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#c5d4dc"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b6c5cc;border-color:#c5d4dc;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="2005" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2005 * var(--gallery-slide-span))"><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-dataset-light-00?lightbox&amp;i=1&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="lo7tSqToNDhH8CfqMUXWMLNskJdfGS3y" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#080656"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b6c6cd;border-color:#080656;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 12%, transparent)"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="2006" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2006 * var(--gallery-slide-span))"><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-teaching-light-00?lightbox&amp;i=2&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="qUpvoxy9oMeyFxpz2ret2ON88xvrIrMu" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#b7c5cd"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b7c7ce;border-color:#b7c5cd;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="2007" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2007 * var(--gallery-slide-span))"><span aria-hidden="true" class="pointer-events-none absolute top-1/2 right-[-0.1875rem] z-40 size-1 shrink-0 translate-x-1/2 -translate-y-1/2 rounded-full bg-[currentColor] transition-opacity duration-200 ease-out sm:right-[-1rem] opacity-0"></span><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-export-light-00?lightbox&amp;i=3&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="gHEbOBhRarUtZqLdkeZShd2Xjzok8Td3" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#2d328f"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b8c7ce;border-color:#2d328f;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 12%, transparent)"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="2008" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2008 * var(--gallery-slide-span))"><span aria-hidden="true" class="pointer-events-none absolute top-1/2 left-[-0.1875rem] z-40 size-1 shrink-0 -translate-x-1/2 -translate-y-1/2 rounded-full bg-[currentColor] transition-opacity duration-200 ease-out sm:left-[-1rem] opacity-0"></span><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-classifier-light-00?lightbox&amp;i=0&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-artifact-cms-id="2WWe0aZBk9Z9kVrDtdmv25fL37qWIPL3" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#c5d4dc"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b6c5cc;border-color:#c5d4dc;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="2009" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2009 * var(--gallery-slide-span))"><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-dataset-light-00?lightbox&amp;i=1&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="lo7tSqToNDhH8CfqMUXWMLNskJdfGS3y" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#080656"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b6c6cd;border-color:#080656;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 12%, transparent)"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="2010" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2010 * var(--gallery-slide-span))"><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-teaching-light-00?lightbox&amp;i=2&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="qUpvoxy9oMeyFxpz2ret2ON88xvrIrMu" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#b7c5cd"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b7c7ce;border-color:#b7c5cd;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="2011" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(2011 * var(--gallery-slide-span))"><span aria-hidden="true" class="pointer-events-none absolute top-1/2 right-[-0.1875rem] z-40 size-1 shrink-0 translate-x-1/2 -translate-y-1/2 rounded-full bg-[currentColor] transition-opacity duration-200 ease-out sm:right-[-1rem] opacity-0"></span><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-export-light-00?lightbox&amp;i=3&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="gHEbOBhRarUtZqLdkeZShd2Xjzok8Td3" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#2d328f"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b8c7ce;border-color:#2d328f;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 12%, transparent)"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="1992" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(1992 * var(--gallery-slide-span))"><span aria-hidden="true" class="pointer-events-none absolute top-1/2 left-[-0.1875rem] z-40 size-1 shrink-0 -translate-x-1/2 -translate-y-1/2 rounded-full bg-[currentColor] transition-opacity duration-200 ease-out sm:left-[-1rem] opacity-0"></span><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-classifier-light-00?lightbox&amp;i=0&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-artifact-cms-id="2WWe0aZBk9Z9kVrDtdmv25fL37qWIPL3" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#c5d4dc"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b6c5cc;border-color:#c5d4dc;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="1993" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(1993 * var(--gallery-slide-span))"><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-dataset-light-00?lightbox&amp;i=1&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="lo7tSqToNDhH8CfqMUXWMLNskJdfGS3y" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#080656"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b6c6cd;border-color:#080656;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 12%, transparent)"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="1994" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(1994 * var(--gallery-slide-span))"><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-teaching-light-00?lightbox&amp;i=2&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="qUpvoxy9oMeyFxpz2ret2ON88xvrIrMu" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#b7c5cd"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b7c7ce;border-color:#b7c5cd;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="1995" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(1995 * var(--gallery-slide-span))"><span aria-hidden="true" class="pointer-events-none absolute top-1/2 right-[-0.1875rem] z-40 size-1 shrink-0 translate-x-1/2 -translate-y-1/2 rounded-full bg-[currentColor] transition-opacity duration-200 ease-out sm:right-[-1rem] opacity-0"></span><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-export-light-00?lightbox&amp;i=3&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="gHEbOBhRarUtZqLdkeZShd2Xjzok8Td3" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#2d328f"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b8c7ce;border-color:#2d328f;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 12%, transparent)"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="1996" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(1996 * var(--gallery-slide-span))"><span aria-hidden="true" class="pointer-events-none absolute top-1/2 left-[-0.1875rem] z-40 size-1 shrink-0 -translate-x-1/2 -translate-y-1/2 rounded-full bg-[currentColor] transition-opacity duration-200 ease-out sm:left-[-1rem] opacity-0"></span><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-classifier-light-00?lightbox&amp;i=0&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-artifact-cms-id="2WWe0aZBk9Z9kVrDtdmv25fL37qWIPL3" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#c5d4dc"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b6c5cc;border-color:#c5d4dc;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="1997" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(1997 * var(--gallery-slide-span))"><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-dataset-light-00?lightbox&amp;i=1&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="lo7tSqToNDhH8CfqMUXWMLNskJdfGS3y" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#080656"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b6c6cd;border-color:#080656;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 12%, transparent)"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="1998" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(1998 * var(--gallery-slide-span))"><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-teaching-light-00?lightbox&amp;i=2&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="qUpvoxy9oMeyFxpz2ret2ON88xvrIrMu" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#b7c5cd"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b7c7ce;border-color:#b7c5cd;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div><div data-slide="true" data-virtual-index="1999" class="absolute top-0 w-post-artifact snap-center flex items-center justify-center px-0 isolate" style="aspect-ratio:1.5;left:calc(1999 * var(--gallery-slide-span))"><span aria-hidden="true" class="pointer-events-none absolute top-1/2 right-[-0.1875rem] z-40 size-1 shrink-0 translate-x-1/2 -translate-y-1/2 rounded-full bg-[currentColor] transition-opacity duration-200 ease-out sm:right-[-1rem] opacity-0"></span><div class="w-full isolate content-visibility-visible"><a data-artifact-media-type="image" class="artifact-link relative isolate transition-[transform,opacity] duration-75 active:scale-[0.995] active:opacity-90 motion-reduce:active:scale-100 motion-reduce:transition-none block cursor-pointer select-none drag-none" draggable="false" href="/artifact/visualising-ai-export-light-00?lightbox&amp;i=3&amp;returnTo=%2Fstories%2Fvisualising-ai" data-discover="true"><figure class="artifact-frame not-prose relative isolate @container contain-layout" data-dark-controls="" data-artifact-cms-id="gHEbOBhRarUtZqLdkeZShd2Xjzok8Td3" style="height:0;padding-bottom:66.6667%;--artifact-outline-color:#2d328f"><div class="artifact-shadow-layer absolute inset-0 -z-5 rounded-artifact artifact-shadow-hover-pair" data-artifact-transition-shadow-class="artifact-shadow"></div><div data-artifact-clip="true" style="background-color:#b8c7ce;border-color:#2d328f;border-radius:var(--artifact-corner-radius);overflow:hidden;clip-path:inset(var(--artifact-press-inset) round var(--artifact-corner-radius));transition:clip-path var(--artifact-press-duration, 0ms) ease-out" class="absolute inset-0 isolate z-30"><div data-artifact-visual-content="true" class="absolute inset-0 isolate"><div class="absolute inset-0 -z-5 flex items-center justify-center size-full"><div class="overflow-clip shrink-0" style="width:118.6%;border-radius:0cqi;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 12%, transparent)"><div class="contents" data-artifact-media-content="true"><div style="aspect-ratio:3840/2160" class="relative overflow-hidden w-full pointer-events-none"><img aria-hidden="true" alt="" draggable="false" crossorigin="anonymous" src="/cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,qual
932ity=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=70,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 2400w" sizes="800px" class="absolute inset-0 z-0 size-full object-cover"/><img draggable="false" src="/cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg" srcSet="/cdn-cgi/image/width=400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 400w, /cdn-cgi/image/width=800,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 800w, /cdn-cgi/image/width=1200,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1200w, /cdn-cgi/image/width=1600,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 1600w, /cdn-cgi/image/width=2400,quality=80,format=auto,fit=cover/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg 2400w" sizes="(max-width: 48rem) calc(100vw - 2rem), 800px" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! relative z-1 opacity-0 w-full" style="aspect-ratio:3840/2160"/></div></div></div></div></div></div><div data-artifact-transition-chrome="" class="absolute inset-0 z-35 pointer-events-none overflow-hidden rounded-artifact"><div class="absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 overflow-hidden p-prose-gutter pl-[calc(var(--spacing-prose-gutter)+0.34375rem)] pt-72 z-10 pointer-events-none"><div class="ml-auto shrink-0" inert="" aria-hidden="true"><div data-artifact-bottom-controls="" class="flex items-center"><div data-artifact-control-motion="heart" class="shrink-0" style="transform-origin:center;opacity:var(--gallery-controls-progress, 0);filter:blur(calc((1 - var(--gallery-controls-progress, 0)) * 8px));transform:scale(calc(0.8 + var(--gallery-controls-progress, 0) * 0.2))"><div data-artifact-favorite="" class="relative shrink-0" style="zoom:0.8888888888888888;--favorite-resting-background:color-mix(in srgb, #2d328f 25%, transparent);--favorite-resting-color:#2d328f;--favorite-hover-color:var(--fg)"><span class="favorite-control" style="padding-left:0"><span class="favorite-anchor"><span aria-hidden="true" class="favorite-effects"><span class="favorite-bursts"></span><span class="favorite-total" data-testid="favorite-total" data-hidden="false" style="opacity:1;transform:none"></span></span><button type="button" class="favorite-hit-target" aria-label="Add a heart to Exporting machine learning models" aria-pressed="false" aria-description="0 of your hearts, 0 total. Hold to add more hearts."><span class="favorite-button" data-liked="false" style="transform:none"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" class="size-[18px] translate-y-[0.5px]"><path d="M10.2 20C8.4 18.8 3 14.7 3 9a5 5 0 0 1 9-3 5 5 0 0 1 9 3c0 5.7-5.4 9.8-7.2 11C12.7 20.733 11.3 20.733 10.2 20Z"></path></svg></span></button></span></span></div></div><div data-artifact-control-motion="plus" class="shrink-0" style="transform-origin:center;opacity:var(--gallery-controls-progress, 0);filter:blur(calc((1 - var(--gallery-controls-progress, 0)) * 8px));transform:scale(calc(0.8 + var(--gallery-controls-progress, 0) * 0.2))"><div class="h-8" style="transform-origin:right center;width:0px;margin-left:0px;opacity:0;transform:scale(0.7)"><div class="artifact-plus-control size-8 rounded-full flex items-center justify-center shrink-0 motion-reduce:transition-none" style="transform-origin:center;--artifact-plus-start:#2d328f;--artifact-plus-hover-bg:var(--fg)"><svg viewBox="0 0 12 12" fill="currentColor" aria-hidden="true" class="size-4 transition-colors duration-300" style="color:#b8c7ce"><circle cy="6" cx="6" r="0" opacity="0" style="transform:translateY(4px);transform-origin:50% 50%;transform-box:fill-box"></circle><circle cy="6" cx="8" r="0" opacity="0" style="transform:translateY(4px);transform-origin:50% 50%;transform-box:fill-box"></circle><circle cy="6" cx="10" r="0" opacity="0" style="transform:translateY(4px);transform-origin:50% 50%;transform-box:fill-box"></circle></svg></div></div></div></div></div></div></div><div data-artifact-transition-outline-class="artifact-outline" data-artifact-article-outline="true" class="artifact-border-layer absolute inset-0 rounded-artifact z-40 pointer-events-none" style="--artifact-frame-border-color:var(--artifact-border);inset:var(--artifact-press-inset, 0%)"></div></figure></a></div></div></div></div></div></div><div class="artifact-gallery-progress article-text-column relative z-10 mt-4 mb-8 flex items-start justify-between gap-4 text-footnote"><div class="grid min-w-0 flex-1 text-muted"><span aria-hidden="false" class="artifact-caption col-start-1 row-start-1 min-w-0 self-start">Data collection</span><span aria-hidden="true" class="artifact-caption col-start-1 row-start-1 min-w-0 self-start invisible pointer-events-none">Data classification</span><span aria-hidden="true" class="artifact-caption col-start-1 row-start-1 min-w-0 self-start invisible pointer-events-none">Correcting</span><span aria-hidden="true" class="artifact-caption col-start-1 row-start-1 min-w-0 self-start invisible pointer-events-none">Exporting machine learning models</span></div><div class="flex h-[1lh] shrink-0 items-center justify-end" style="width:calc(50px + 3 * 0.375rem)"><div class="flex items-center justify-center gap-1.5"><button type="button" aria-label="Go to highlight 1" class="flex items-center cursor-pointer border-0 bg-transparent px-0 py-2 -my-2"><div class="relative rounded-full overflow-hidden h-1.5" style="background-color:color-mix(in oklch, var(--gallery-progress-tint) 15%, transparent);width:6px"><div class="absolute inset-0" style="opacity:1"><div class="absolute top-0 left-0 size-1.5 rounded-full" style="background-color:var(--gallery-progress-tint)"></div><div class="absolute inset-y-0 left-[0.1875rem] right-[0.1875rem]" style="transform-origin:left;background-color:var(--gallery-progress-tint);
932transform:scaleX(0)"></div><div class="absolute top-0 left-0 size-1.5 rounded-full" style="background-color:var(--gallery-progress-tint);transform:none"></div></div></div></button><button type="button" aria-label="Go to highlight 2" class="flex items-center cursor-pointer border-0 bg-transparent px-0 py-2 -my-2"><div class="relative rounded-full overflow-hidden h-1.5" style="background-color:color-mix(in oklch, var(--gallery-progress-tint) 15%, transparent);width:6px"></div></button><button type="button" aria-label="Go to highlight 3" class="flex items-center cursor-pointer border-0 bg-transparent px-0 py-2 -my-2"><div class="relative rounded-full overflow-hidden h-1.5" style="background-color:color-mix(in oklch, var(--gallery-progress-tint) 15%, transparent);width:6px"></div></button><button type="button" aria-label="Go to highlight 4" class="flex items-center cursor-pointer border-0 bg-transparent px-0 py-2 -my-2"><div class="relative rounded-full overflow-hidden h-1.5" style="background-color:color-mix(in oklch, var(--gallery-progress-tint) 15%, transparent);width:6px"></div></button></div></div></div></div></div></div><div class=""><div class="@container"><div id="zcgdlcD8Yr3yI3lWABCMo57ZLgk6Kcna" style="--article-tint:#ffffff" class="article-content-section relative px-[var(--article-text-gutter)] select-text py-0"><div class="article-content-copy p-0 w-full"><div class="quote-markdown w-full prose tracking-tight dark:prose-invert transition-colors duration-300 text-body text-fg text-pretty"><p>Before tools like LLMs became mainstream, we set out to make machine learning more approachable through a pragmatic, hands-on lens. As part of our work leading up to FieldDay, we focused on “classic” machine learning and the idea that anyone should be able to teach models through data, even if that concept still carried a learning curve at the time. To support this, we embedded education directly into our brand. Led by Nelson Schöller, we created a series of visualizations and a short film that translated core ML concepts into clear, intuitive visuals. These assets became a central part of our website and internal materials, helping shift the narrative around AI away from abstract, overused imagery toward something more grounded and understandable.</p></div></div></div></div></div></div></div><div data-more-from-context="" class="w-screen shrink-0 ml-[calc(50%-50vw)] overflow-x-clip site-more-from-context-region relative mt-16 pointer-events-none" style="max-width:100dvw"><div class="flex w-full max-w-post mx-auto px-gutter flex-col pointer-events-auto"><div class="w-full h-px"></div><div class="pointer-events-auto w-full"><div id="questions"><div aria-busy="true" data-session-agent-bootstrap="visualising-ai"><div data-nosnippet="true" aria-busy="true" class="scheme-light flex flex-col relative"><p class="sr-only" aria-live="polite">Loading questions…</p><div class="sticky inset-x-0 top-0 h-24 sm:h-56 -mb-20 sm:-mb-36 bg-bg shadow-[0_-1px_0_0_var(--bg),0_1px_0_0_var(--bg)] w-screen ml-[calc(50%-50vw)] max-w-screen flex justify-center"><div class="h-full" style="transform:none"><svg viewBox="0 0 1405 176" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="h-full"><g opacity="0.12" filter="url(#filter0_f_generation_indicator)"><ellipse cx="702.5" cy="-0.136963" rx="462.5" ry="75.863" fill="#ffffff"></ellipse></g><defs><filter id="filter0_f_generation_indicator" x="140" y="-176" width="1125" height="351.726" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"></feBlend><feGaussianBlur stdDeviation="50" result="effect1_foregroundBlur_generation_indicator"></feGaussianBlur></filter></defs></svg></div></div><div class="more-from-context-hover-region pt-16 pb-8"><div class="more-from-context-layout"><div class="more-from-context-copy"><div class="more-from-context-text flex flex-col justify-start relative gap-3"><div class="more-from-context-heading flex items-center gap-2"><div class="relative size-[26px] shrink-0" style="color:#ffffff"><div class="absolute inset-px"><div data-scroll-spinner-scroll="" class="size-full" style="rotate:0deg"><div data-scroll-spinner-idle="" class="size-full" style="transform:none"><svg viewBox="0 0 60 60" fill="none" aria-hidden="true" overflow="visible" class="block size-full"><circle cx="56.25" cy="30" r="5" fill="currentColor"></circle><circle cx="43.125" cy="52.74" r="5" fill="currentColor"></circle><circle cx="16.875" cy="52.74" r="5" fill="currentColor"></circle><circle cx="3.75" cy="30" r="5" fill="currentColor"></circle><circle cx="16.875" cy="7.259999999999998" r="5" fill="currentColor"></circle><circle cx="43.125" cy="7.259999999999998" r="5" fill="currentColor"></circle></svg></div></div><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="absolute inset-0 block size-full"><path d="M16 10.75V21.25M10.75 16H21.25" stroke="currentColor" stroke-width="2.625" stroke-linecap="round"></path></svg></div></div><p class="more-from-context-heading-copy text-balance  select-text">More from context<span data-more-from-context-baseline="" class="inline-block size-0 align-baseline" aria-hidden="true"></span></p></div><p class="more-from-context-subheadline text-body text-fg/70 text-balance select-text">Select a theme and let<!-- --> <span><span class="whitespace-nowrap"><svg width="20" height="20" viewBox="0 0 500 500" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="inline-block size-5 align-text-bottom mr-1"><circle cx="250" cy="250" r="250" fill="var(--color-fg)"></circle><g fill="var(--color-bg)"><path d="M256.865 140.139L238.787 165.866C236.006 169.899 231.277 172.402 226.271 172.402H127.535V140C127.396 140.139 256.865 140.139 256.865 140.139Z"></path><path d="M379.66 140.139L224.464 360H121L276.196 140.139H379.66Z"></path><path d="M243.795 360L262.012 334.134C264.794 330.101 269.522 327.598 274.528 327.598H373.125V360H243.795Z"></path></g></svg>GLM</span> 5.3 Flash</span> <!-- -->expand on this story<!-- -->.<!-- --> <a class="whitespace-nowrap text-fg no-underline transition-colors hover:text-fg/70" href="/stories/more-from-context" data-discover="true">Learn more</a></p></div></div><div class="more-from-context-stack"><div data-paper-stack="" data-paper-dragging="false" class="relative w-70 h-80"><button type="button" data-paper-fan-hit-area="" aria-label="Show next context c
932ard" tabindex="-1" class="absolute cursor-pointer" style="top:-8px;bottom:-32px;left:calc(-1 * (var(--more-context-arrow-size) + 1.25rem + 8px));right:min(-36px, calc(-1 * (var(--more-context-arrow-size) + 1.25rem + 8px)))"></button><div data-paper-stack-card="back" class="absolute inset-0 origin-bottom select-none cursor-pointer" style="opacity:1;z-index:1;color:rgba(177, 182, 204, 1);transform:translateX(24px) translateY(6px) scale(0.89) rotate(3deg)"><div data-paper-card="back" class="w-70 h-80 bg-bg rounded-[1.3125rem] overflow-hidden relative shadow-mild ring-1 ring-[var(--discord-invite-card-outline)] contain-[layout_paint]"><div class="pointer-events-none flex flex-col p-4.5 pr-8 relative gap-2"><div class="text-body absolute top-16 right-0 rotate-90 origin-top-left translate-x-full" style="--card-tag-bg:light-dark(color-mix(in srgb, var(--fg) 7%, var(--discord-card-bg)), rgba(255, 255, 255, 0.08));--card-tag-cap-bg:light-dark(color-mix(in srgb, var(--fg) 7%, var(--discord-card-bg)), rgba(255, 255, 255, 0.08));--card-tag-fg:light-dark(color-mix(in srgb, var(--fg) 48%, transparent), rgba(255, 255, 255, 0.56))"><p class="-mx-1 text-[var(--card-tag-fg,currentColor)]! h-full py-1 relative z-1">Design</p><svg class="h-full aspect-square absolute top-0 left-0 -translate-x-full text-[var(--card-tag-bg,color-mix(in_srgb,currentColor_12%,white))]" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M35 34.9971C27.5241 34.9847 23.5235 34.8461 20.4023 33.2559C17.3917 31.7219 14.9442 29.2743 13.4102 26.2637C11.7359 22.9778 11.6697 18.7169 11.667 10.4521V11.667C11.667 5.2237 6.4433 0 0 0H35V34.9971Z" fill="currentColor"></path></svg><svg class="h-full absolute top-0 inset-x-0 w-full text-[var(--card-tag-bg,color-mix(in_srgb,currentColor_12%,white))]" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><rect x="-80" y="0" width="200" height="35" fill="currentColor"></rect></svg><svg class="h-full aspect-square absolute top-0 right-0 translate-x-full text-[var(--card-tag-cap-bg,color-mix(in_srgb,currentColor_12%,white))]" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M23.3359 11.667C23.3359 5.2237 28.5599 0 35.0029 0H0V34.9971C7.47712 34.9847 11.4779 34.8462 14.5996 33.2559C17.6096 31.7219 20.0578 29.2743 21.5918 26.2637C23.3357 22.8412 23.3359 18.3609 23.3359 9.40039V11.667Z" fill="currentColor"></path></svg></div><p class="article-paragraph-type text-fg pr-4 text-balance" style="-webkit-mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));--reveal:0;opacity:0;transform:scale(0.9)"></p><p class="article-paragraph-type text-fg/50 pr-4 text-balance" style="-webkit-mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));--reveal:0;opacity:0;transform:scale(0.9)"></p><div class="origin-top" style="opacity:0"><div class="flex flex-col gap-2.5 text-muted/8 py-4 w-full"><div class="flex gap-2.5 w-full"><div class="w-24 bg-current rounded-sm shrink-0"></div><div class="flex flex-col gap-2.5 w-full"><div class="h-4 bg-current rounded-sm w-4/5"></div><div class="h-4 bg-current rounded-sm w-5/7"></div><div class="h-4 bg-current rounded-sm w-1/2"></div></div></div><div class="h-4 bg-current rounded-sm w-2/5"></div><div class="h-4 bg-current rounded-sm w-3/4"></div><div class="h-4 bg-current rounded-sm w-2/3"></div></div></div></div><div class="pointer-events-none absolute bottom-0 inset-x-0 h-56 flex flex-col"><div class="scrim-b-full scrim-bg flex-1"></div><div class="bg-bg h-12.5"></div></div><div aria-hidden="true" class="absolute inset-x-0 top-0 bottom-17 cursor-pointer"></div><div data-paper-footer="" class="absolute bottom-0 inset-x-0 h-17 cursor-pointer"><div class="opacity-0 pointer-events-none transition-opacity duration-300 absolute inset-0 bg-bg flex h-full items-center justify-between px-4.5 cursor-default"><div style="opacity:0;transform:scale(0.9)"><span data-component="text-shimmer" data-active="false" class="font-normal line-clamp-1 truncate text-body!" aria-label="Thinking…" style="color:#ffffff;--text-shimmer-swap:220ms;--text-shimmer-index:0"><span data-slot="text-shimmer-char" style="color:#ffffff"><span data-slot="text-shimmer-char-base" aria-hidden="true" style="color:#ffffff">Thinking…</span><span data-slot="text-shimmer-char-shimmer" data-run="false" aria-hidden="true" style="color:#ffffff">Thinking…</span></span></span></div><div class="size-8 shrink-0 text-current contain-strict"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="size-full translate-x-[0.5px]"><circle opacity="0.12" cx="16" cy="16" r="9" stroke="currentColor" stroke-width="3"></circle><defs><linearGradient id="_R_9hjavj8lkj5_" x1="16" y1="7" x2="16" y2="25" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor" stop-opacity="0"></stop><stop offset="1" stop-color="currentColor"></stop></linearGradient></defs>
932<path d="M16 7 A9 9 0 0 1 16 25" stroke="url(#_R_9hjavj8lkj5_)" stroke-width="3" stroke-linecap="round"></path></svg></div></div><div class="opacity-100 pointer-events-auto transition-opacity duration-300 absolute inset-0 bg-bg h-full w-full cursor-pointer"><button type="button" data-paper-generate="" disabled="" class="article-paragraph-type group absolute inset-0 cursor-pointer disabled:cursor-default disabled:text-muted disabled:saturate-0 [&amp;_*]:pointer-events-none"><div class="h-full w-full p-4.5"><div class="flex h-full w-full items-center justify-between gap-1.5 transition-transform duration-200 group-enabled:group-active:scale-[0.98]"><p>Write section</p><div class="bg-current/12 group-enabled:group-hover:bg-current rounded-full size-8 flex items-center justify-center transition-colors duration-200"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-full group-enabled:group-hover:text-white transition-colors duration-200"><path fill-rule="evenodd" clip-rule="evenodd" d="M15 17V23H17V17H23V15H17V9H15V15H9V17H15Z" fill="currentColor"></path></svg></div></div></div></button></div></div></div></div><div data-paper-stack-card="back" class="absolute inset-0 origin-bottom select-none cursor-pointer" style="opacity:1;z-index:2;color:rgba(177, 182, 204, 1);transform:translateX(-24px) translateY(6px) scale(0.945) rotate(-3deg)"><div data-paper-card="back" class="w-70 h-80 bg-bg rounded-[1.3125rem] overflow-hidden relative shadow-mild ring-1 ring-[var(--discord-invite-card-outline)] contain-[layout_paint]"><div class="pointer-events-none flex flex-col p-4.5 pr-8 relative gap-2"><div class="text-body absolute top-16 right-0 rotate-90 origin-top-left translate-x-full" style="--card-tag-bg:light-dark(color-mix(in srgb, var(--fg) 7%, var(--discord-card-bg)), rgba(255, 255, 255, 0.08));--card-tag-cap-bg:light-dark(color-mix(in srgb, var(--fg) 7%, var(--discord-card-bg)), rgba(255, 255, 255, 0.08));--card-tag-fg:light-dark(color-mix(in srgb, var(--fg) 48%, transparent), rgba(255, 255, 255, 0.56))"><p class="-mx-1 text-[var(--card-tag-fg,currentColor)]! h-full py-1 relative z-1">Strategy</p><svg class="h-full aspect-square absolute top-0 left-0 -translate-x-full text-[var(--card-tag-bg,color-mix(in_srgb,currentColor_12%,white))]" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M35 34.9971C27.5241 34.9847 23.5235 34.8461 20.4023 33.2559C17.3917 31.7219 14.9442 29.2743 13.4102 26.2637C11.7359 22.9778 11.6697 18.7169 11.667 10.4521V11.667C11.667 5.2237 6.4433 0 0 0H35V34.9971Z" fill="currentColor"></path></svg><svg class="h-full absolute top-0 inset-x-0 w-full text-[var(--card-tag-bg,color-mix(in_srgb,currentColor_12%,white))]" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><rect x="-80" y="0" width="200" height="35" fill="currentColor"></rect></svg><svg class="h-full aspect-square absolute top-0 right-0 translate-x-full text-[var(--card-tag-cap-bg,color-mix(in_srgb,currentColor_12%,white))]" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M23.3359 11.667C23.3359 5.2237 28.5599 0 35.0029 0H0V34.9971C7.47712 34.9847 11.4779 34.8462 14.5996 33.2559C17.6096 31.7219 20.0578 29.2743 21.5918 26.2637C23.3357 22.8412 23.3359 18.3609 23.3359 9.40039V11.667Z" fill="currentColor"></path></svg></div><p class="article-paragraph-type text-fg pr-4 text-balance" style="-webkit-mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));--reveal:0;opacity:0;transform:scale(0.9)"></p><p class="article-paragraph-type text-fg/50 pr-4 text-balance" style="-webkit-mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));--reveal:0;opacity:0;transform:scale(0.9)"></p><div class="origin-top" style="opacity:0"><div class="flex flex-col gap-2.5 text-muted/8 py-4 w-full">
932<div class="h-4 bg-current rounded-sm w-2/3"></div><div class="h-4 bg-current rounded-sm w-3/4"></div><div class="flex gap-2.5 w-full"><div class="w-24 bg-current rounded-sm shrink-0"></div><div class="flex flex-col gap-2.5 w-full"><div class="h-4 bg-current rounded-sm w-2/5"></div><div class="h-4 bg-current rounded-sm w-6/7"></div><div class="h-4 bg-current rounded-sm w-1/2"></div></div></div><div class="h-4 bg-current rounded-sm w-4/5"></div></div></div></div><div class="pointer-events-none absolute bottom-0 inset-x-0 h-56 flex flex-col"><div class="scrim-b-full scrim-bg flex-1"></div><div class="bg-bg h-12.5"></div></div><div aria-hidden="true" class="absolute inset-x-0 top-0 bottom-17 cursor-pointer"></div><div data-paper-footer="" class="absolute bottom-0 inset-x-0 h-17 cursor-pointer"><div class="opacity-0 pointer-events-none transition-opacity duration-300 absolute inset-0 bg-bg flex h-full items-center justify-between px-4.5 cursor-default"><div style="opacity:0;transform:scale(0.9)"><span data-component="text-shimmer" data-active="false" class="font-normal line-clamp-1 truncate text-body!" aria-label="Thinking…" style="color:#ffffff;--text-shimmer-swap:220ms;--text-shimmer-index:0"><span data-slot="text-shimmer-char" style="color:#ffffff"><span data-slot="text-shimmer-char-base" aria-hidden="true" style="color:#ffffff">Thinking…</span><span data-slot="text-shimmer-char-shimmer" data-run="false" aria-hidden="true" style="color:#ffffff">Thinking…</span></span></span></div><div class="size-8 shrink-0 text-current contain-strict"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="size-full translate-x-[0.5px]"><circle opacity="0.12" cx="16" cy="16" r="9" stroke="currentColor" stroke-width="3"></circle><defs><linearGradient id="_R_9hlavj8lkj5_" x1="16" y1="7" x2="16" y2="25" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor" stop-opacity="0"></stop><stop offset="1" stop-color="currentColor"></stop></linearGradient></defs><path d="M16 7 A9 9 0 0 1 16 25" stroke="url(#_R_9hlavj8lkj5_)" stroke-width="3" stroke-linecap="round"></path></svg></div></div><div class="opacity-100 pointer-events-auto transition-opacity duration-300 absolute inset-0 bg-bg h-full w-full cursor-pointer"><button type="button" data-paper-generate="" disabled="" class="article-paragraph-type group absolute inset-0 cursor-pointer disabled:cursor-default disabled:text-muted disabled:saturate-0 [&amp;_*]:pointer-events-none"><div class="h-full w-full p-4.5"><div class="flex h-full w-full items-center justify-between gap-1.5 transition-transform duration-200 group-enabled:group-active:scale-[0.98]"><p>Write section</p><div class="bg-current/12 group-enabled:group-hover:bg-current rounded-full size-8 flex items-center justify-center transition-colors duration-200"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-full group-enabled:group-hover:text-white transition-colors duration-200"><path fill-rule="evenodd" clip-rule="evenodd" d="M15 17V23H17V17H23V15H17V9H15V15H9V17H15Z" fill="currentColor"></path></svg></div></div></div></button></div></div></div></div><div data-paper-stack-card="front" class="absolute inset-0 origin-bottom select-none touch-none pointer-coarse:touch-pan-y cursor-pointer" style="opacity:1;z-index:3;color:rgba(255, 255, 255, 1);transform:none"><div data-paper-card="front" class="w-70 h-80 bg-bg rounded-[1.3125rem] overflow-hidden relative shadow-mild ring-1 ring-[var(--discord-invite-card-outline)] contain-[layout_paint]"><div class="pointer-events-none flex flex-col p-4.5 pr-8 relative gap-2"><div class="text-body absolute top-16 right-0 rotate-90 origin-top-left translate-x-full"><p class="-mx-1 text-[var(--card-tag-fg,currentColor)]! h-full py-1 relative z-1">Technology</p><svg class="h-full aspect-square absolute top-0 left-0 -translate-x-full text-[var(--card-tag-bg,color-mix(in_srgb,currentColor_12%,white))]" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M35 34.9971C27.5241 34.9847 23.5235 34.8461 20.4023 33.2559C17.3917 31.7219 14.9442 29.2743 13.4102 26.2637C11.7359 22.9778 11.6697 18.7169 11.667 10.4521V11.667C11.667 5.2237 6.4433 0 0 0H35V34.9971Z" fill="currentColor"></path></svg><svg class="h-full absolute top-0 inset-x-0 w-full text-[var(--card-tag-bg,color-mix(in_srgb,currentColor_12%,white))]" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><rect x="-80" y="0" width="200" height="35" fill="currentColor"></rect></svg><svg class="h-full aspect-square absolute top-0 right-0 translate-x-full text-[var(--card-tag-cap-bg,color-mix(in_srgb,currentColor_12%,white))]" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M23.3359 11.667C23.3359 5.2237 28.5599 0 35.0029 0H0V34.9971C7.47712 34.9847 11.4779 34.8462 14.5996 33.2559C17.6096 31.7219 20.0578 29.2743 21.5918 26.2637C23.3357 22.8412 23.3359 
93218.3609 23.3359 9.40039V11.667Z" fill="currentColor"></path></svg></div><p class="article-paragraph-type text-fg pr-4 text-balance" style="-webkit-mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));--reveal:0;opacity:0;transform:scale(0.9)"></p><p class="article-paragraph-type text-fg/50 pr-4 text-balance" style="-webkit-mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));mask-image:linear-gradient(to bottom, black calc(var(--reveal) * 130% - 30%), transparent calc(var(--reveal) * 130%));--reveal:0;opacity:0;transform:scale(0.9)"></p><div class="origin-top" style="opacity:0"><div class="flex flex-col gap-2.5 text-muted/8 py-4 w-full"><div class="h-4 bg-current rounded-sm w-5/7"></div><div class="flex gap-2.5 w-full"><div class="w-24 bg-current rounded-sm shrink-0"></div><div class="flex flex-col gap-2.5 w-full"><div class="h-4 bg-current rounded-sm w-2/5"></div><div class="h-4 bg-current rounded-sm w-2/3"></div><div class="h-4 bg-current rounded-sm w-1/2"></div></div></div><div class="h-4 bg-current rounded-sm w-3/4"></div><div class="h-4 bg-current rounded-sm w-4/5"></div></div></div></div><div class="pointer-events-none absolute bottom-0 inset-x-0 h-56 flex flex-col"><div class="scrim-b-full scrim-bg flex-1"></div><div class="bg-bg h-12.5"></div></div><div aria-hidden="true" data-paper-drag="" class="absolute inset-x-0 top-0 bottom-17 cursor-grab active:cursor-grabbing"></div><div data-paper-footer="" class="absolute bottom-0 inset-x-0 h-17 cursor-pointer"><div class="opacity-0 pointer-events-none transition-opacity duration-300 absolute inset-0 bg-bg flex h-full items-center justify-between px-4.5 cursor-default"><div style="opacity:0;transform:scale(0.9)"><span data-component="text-shimmer" data-active="false" class="font-normal line-clamp-1 truncate text-body!" aria-label="Thinking…" style="color:#ffffff;--text-shimmer-swap:220ms;--text-shimmer-index:0"><span data-slot="text-shimmer-char" style="color:#ffffff"><span data-slot="text-shimmer-char-base" aria-hidden="true" style="color:#ffffff">Thinking…</span><span data-slot="text-shimmer-char-shimmer" data-run="false" aria-hidden="true" style="color:#ffffff">Thinking…</span></span></span></div><div class="size-8 shrink-0 text-current contain-strict"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="size-full translate-x-[0.5px]"><circle opacity="0.12" cx="16" cy="16" r="9" stroke="currentColor" stroke-width="3"></circle><defs><linearGradient id="_R_9hnavj8lkj5_" x1="16" y1="7" x2="16" y2="25" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor" stop-opacity="0"></stop><stop offset="1" stop-color="currentColor"></stop></linearGradient></defs><path d="M16 7 A9 9 0 0 1 16 25" stroke="url(#_R_9hnavj8lkj5_)" stroke-width="3" stroke-linecap="round"></path></svg></div></div><div class="opacity-100 pointer-events-auto transition-opacity duration-300 absolute inset-0 bg-bg h-full w-full cursor-pointer"><button type="button" data-paper-generate="" disabled="" class="article-paragraph-type group absolute inset-0 cursor-pointer disabled:cursor-default disabled:text-muted disabled:saturate-0 [&amp;_*]:pointer-events-none"><div class="h-full w-full p-4.5"><div class="flex h-full w-full items-center justify-between gap-1.5 transition-transform duration-200 group-enabled:group-active:scale-[0.98]"><p>Write section</p><div class="bg-current/12 group-enabled:group-hover:bg-current rounded-full size-8 flex items-center justify-center transition-colors duration-200"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-full group-enabled:group-hover:text-white transition-colors duration-200"><path fill-rule="evenodd" clip-rule="evenodd" d="M15 17V23H17V17H23V15H17V9H15V15H9V17H15Z" fill="currentColor"></path></svg></div></div></div></button></div></div></div></div><div class="more-from-context-arrow-control more-from-context-left-control absolute z-[999] top-1/2 left-0 -translate-x-[calc(100%+0.875rem)] -translate-y-1/2" style="pointer-events:none">
932<button type="button" aria-label="Show previous context card" data-no-drag="" class="more-from-context-arrow-button cursor-pointer more-from-context-arrow-stable" tabindex="0" style="--more-from-context-arrow-tint:#ffffff"><span class="more-from-context-arrow-visual"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="more-from-context-arrow-button-icon rotate-180"><path d="M14 11L19 16L14 21" stroke="currentColor" stroke-opacity="1" stroke-width="2.5" stroke-linecap="round"></path></svg></span></button></div><div class="more-from-context-arrow-control absolute z-[999] top-1/2 right-0 translate-x-[calc(100%+0.875rem)] -translate-y-1/2 sm:translate-x-[calc(100%+1.25rem)]" style="pointer-events:none"><button type="button" aria-label="Show next context card" data-no-drag="" class="more-from-context-arrow-button cursor-pointer more-from-context-arrow-stable" tabindex="0" style="--more-from-context-arrow-tint:#ffffff"><span class="more-from-context-arrow-visual"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="more-from-context-arrow-button-icon"><path d="M14 11L19 16L14 21" stroke="currentColor" stroke-opacity="1" stroke-width="2.5" stroke-linecap="round"></path></svg></span></button></div></div></div></div></div></div></div></div></div><div class="w-full h-px"></div></div><div aria-hidden="true" class="h-8 w-full pointer-events-auto"></div></div></article></main><div class="site-bottom-theme relative bg-bg text-fg" data-footer-appearance="dark" style="visibility:visible;opacity:1"><div class="relative"><div class="site-bottom-background-layer pointer-events-none absolute inset-0 overflow-hidden" aria-hidden="true" style="mask-image:linear-gradient(to top, rgb(255 255 255 / 1.000) 0.00%, rgb(255 255 255 / 0.824) 6.25%, rgb(255 255 255 / 0.670) 12.50%, rgb(255 255 255 / 0.536) 18.75%, rgb(255 255 255 / 0.422) 25.00%, rgb(255 255 255 / 0.325) 31.25%, rgb(255 255 255 / 0.244) 37.50%, rgb(255 255 255 / 0.178) 43.75%, rgb(255 255 255 / 0.125) 50.00%, rgb(255 255 255 / 0.084) 56.25%, rgb(255 255 255 / 0.053) 62.50%, rgb(255 255 255 / 0.031) 68.75%, rgb(255 255 255 / 0.016) 75.00%, rgb(255 255 255 / 0.007) 81.25%, rgb(255 255 255 / 0.002) 87.50%, rgb(255 255 255 / 0.000) 93.75%, rgb(255 255 255 / 0.000) 100.00%);-webkit-mask-image:linear-gradient(to top, rgb(255 255 255 / 1.000) 0.00%, rgb(255 255 255 / 0.824) 6.25%, rgb(255 255 255 / 0.670) 12.50%, rgb(255 255 255 / 0.536) 18.75%, rgb(255 255 255 / 0.422) 25.00%, rgb(255 255 255 / 0.325) 31.25%, rgb(255 255 255 / 0.244) 37.50%, rgb(255 255 255 / 0.178) 43.75%, rgb(255 255 255 / 0.125) 50.00%, rgb(255 255 255 / 0.084) 56.25%, rgb(255 255 255 / 0.053) 62.50%, rgb(255 255 255 / 0.031) 68.75%, rgb(255 255 255 / 0.016) 75.00%, rgb(255 255 255 / 0.007) 81.25%, rgb(255 255 255 / 0.002) 87.50%, rgb(255 255 255 / 0.000) 93.75%, rgb(255 255 255 / 0.000) 100.00%)"><img draggable="false" src="/cdn-cgi/image/width=1920,quality=80,format=auto,fit=cover/home/cloud.jpg" srcSet="/cdn-cgi/image/width=960,quality=80,format=auto,fit=cover/home/cloud.jpg 960w, /cdn-cgi/image/width=1920,quality=80,format=auto,fit=cover/home/cloud.jpg 1920w, /cdn-cgi/image/width=2880,quality=80,format=auto,fit=cover/home/cloud.jpg 2880w, /cdn-cgi/image/width=3840,quality=80,format=auto,fit=cover/home/cloud.jpg 3840w" sizes="100vw" alt="" crossorigin="anonymous" loading="lazy" decoding="async" class="m-0! site-bottom-background-image absolute inset-0 size-full object-cover"/></div><div class="relative"><section id="get-in-touch" aria-label="Get in touch" class="scroll-mt-24 overflow-visible text-fg"><div class="pt-20 pb-16 sm:px-gutter sm:pt-24 sm:pb-20"><div class="relative mx-auto w-full min-w-0 max-w-post-artifact rounded-post-artifact sm:shadow-contact-panel overflow-visible sm:overflow-hidden"><div class="pointer-events-none absolute inset-0 rounded-post-artifact bg-transparent sm:bg-[var(--contact-panel-bg)] sm:backdrop-blur-[12px]" aria-hidden="true"></div><div class="pointer-events-none absolute inset-0 z-10 hidden rounded-post-artifact sm:block" style="box-shadow:inset 0 0 0 1px var(--contact-panel-border)" aria-hidden="true"></div><div class="relative z-20 grid h-full grid-cols-1 gap-6 px-gutter py-6 sm:p-6 md:grid-cols-[minmax(0,1fr)_auto] md:grid-rows-[auto_1fr_auto] md:gap-x-12 md:gap-y-0"><div class="order-1 flex w-full select-text flex-col text-center md:col-start-1 md:row-start-1 md:max-w-[calc(var(--post-artifact-width)/2)] md:pt-2 md:pl-2 md:text-left gap-4"><p class="text-title-body font-[350] leading-[1.3]! text-fg text-balance mx-auto max-w-[28ch] sm:mx-0 sm:max-w-none"><span class="text-fg/50">Let’s transform your industry with AI.</span> <span class="text-nowrap sm:whitespace-normal">Get in touch.</span></p></div><div class="relative z-30 order-3 flex items-center justify-center overflow-visible md:order-none md:col-start-2 md:row-span-3 md:row-start-1 md:justify-start"><div class="shrink-0 overflow-visible"><div data-contact-keyboard-card=""><div class="pointer-events-none origin-top" style="opacity:0;transform:translateX(30px) translateY(-420px) rotate(-12deg)"><div class="origin-bottom" style="transform:none"><div data-persona-capture-phase="name" class="w-70 h-80 rounded-[1.3125rem] relative shadow-mild" style="transform:none"><div class="absolute inset-0 overflow-hidden rounded-[1.3125rem] border border-[var(--persona-capture-card-outline)] p-1 pt-5 backdrop-blur-[24px] [clip-path:inset(0_round_1.3125rem)] bg-[var(--persona-capture-shell-bg)]"><div data-drag-handle="" class="absolute inset-x-0 top-0 z-10 h-6 touch-none pointer-coarse:touch-pan-y cursor-grab active:cursor-grabbing"><div class="absolute inset-x-30 top-1.5 h-2 rounded-full bg-fg/12"></div></div><div class="absolute inset-x-0 bottom-0 contain-layout h-12 flex items-center pointer-events-none" inert="" style="opacity:0"><label class="flex items-center gap-2 text-sm text-fg/50 cursor-pointer select-none h-full w-full pb-1.5 px-4.5"><div class="relative size-4 items-center justify-center"><input type="checkbox" tabindex="-1" class="peer size-4 appearance-none rounded-sm bg-fg/20 cursor-pointer transition-colors duration-150"/><svg viewBox="0 0 36 36" fill="none" aria-hidden="true" class="pointer-events-none absolute inset-0 size-full transition-opacity duration-150 opacity-0 stroke-3!" style="color:#000000"><path fill-rule="evenodd" clip-rule="evenodd" d="M26.3366 11.3116L16.2422 25.9644L9.96255 19.2332C9.53872 18.7789 9.56342 18.067 10.0177 17.6432C10.472 17.2193 11.1839 17.244 11.6078 17.6983L15.9776 22.3824L24.4837 10.0352L2
9326.3366 11.3116Z" fill="currentColor"></path></svg></div><span class="h-4 flex items-center truncate mt-px text-sm">Receive updates</span><a class="text-sm underline hover:text-fg ml-auto transition-colors duration-200" href="/privacy" target="_blank" data-discover="true">Privacy</a></label></div><div data-persona-card="" class="relative flex flex-col gap-3 overflow-hidden rounded-[1.0625rem] bg-[var(--persona-capture-card-bg)] outline outline-[var(--persona-capture-inner-outline)]" style="height:calc(100% - 0rem)"><div data-persona-content="header" aria-hidden="false" class="relative flex flex-col gap-3 p-4 pb-0"><div class="flex items-start justify-between"><div class="relative size-14 shrink-0"><div class="relative isolate size-14 overflow-hidden rounded-full bg-fg/4"><div class="absolute inset-4 rounded-full bg-fg/24"></div><div class="absolute inset-x-2 -bottom-7 size-10 rounded-full bg-fg/24"></div></div></div></div></div><form noValidate="" data-persona-content="fields" aria-hidden="false" autoComplete="on" class="relative h-full overflow-clip"><div class="absolute left-0 p-4 flex flex-col justify-end items-start" style="padding-right:64px;top:calc(100% + -94px);height:94px;opacity:1;transform:none"><p class="text-footnote font-[400] text-balance leading-[1.4] flex items-start text-fg" style="opacity:1;height:26px">What’s your name?</p><div class="h-8 origin-bottom-left flex items-center justify-center" style="font-size:21px"><input type="name" required="" placeholder="" autoComplete="name" class="w-full cursor-text border-none bg-transparent px-0 text-fg outline-none read-only:cursor-pointer placeholder:text-muted/50" name="name" value=""/></div></div><div class="absolute left-0 p-4 flex flex-col justify-end items-start pointer-events-none" inert="" style="padding-right:64px;top:calc(100% + -94px);height:94px;opacity:0;transform:translateY(94px)"><p class="text-footnote font-[400] text-balance leading-[1.4] flex items-start text-fg/70" style="opacity:1;height:26px">What’s your email?</p><div class="h-8 origin-bottom-left flex items-center justify-center" style="font-size:21px"><input type="email" required="" placeholder="" autoComplete="email" tabindex="-1" class="w-full cursor-text border-none bg-transparent px-0 text-fg outline-none read-only:cursor-pointer placeholder:text-muted/50" name="email" value=""/></div></div><div class="absolute left-0 p-4 flex flex-col justify-end items-start pointer-events-none" inert="" style="padding-right:64px;top:calc(100% + -94px);height:94px;opacity:0;transform:translateY(94px)"><p class="text-footnote font-[400] text-balance leading-[1.4] flex items-start text-fg/70" style="opacity:1;height:26px">What’s your role?</p><div class="h-8 origin-bottom-left flex items-center justify-center" style="font-size:21px"><div class="relative"><span aria-hidden="true" class="pointer-events-none absolute inset-0 flex items-center truncate whitespace-pre"><span class="invisible"></span><span class="text-muted/30"></span></span><input type="text" placeholder="Your role" autoComplete="off" tabindex="-1" class="relative w-full border-none bg-transparent px-0 text-fg outline-none read-only:cursor-default placeholder:text-muted/50" value=""/></div></div></div></form><div class="absolute inset-0 pointer-events-none"><div data-persona-submit-control="" class="absolute size-8 transition-opacity duration-300" style="right:0%;bottom:calc(0% - 0px);transform:translateX(-50%) translateY(-50%)"><div class="absolute inset-0" style="pointer-events:auto"><div aria-label="Next step" style="color:var(--persona-capture-action-fg);background-color:transparent;box-shadow:0 1px 2px var(--persona-capture-action-shadow);outline:1pt solid var(--persona-capture-action-outline)" data-no-drag="true" class="flex size-8 shrink-0 items-center justify-center rounded-full cursor-pointer p-0 bg-fg/6 text-fg *:absolute *:inset-0 *:size-full transition-[background-color,color,border-color,transform,bottom,scale] duration-300 border border-transparent touch:scale-100 active:scale-95"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="transition-[opacity,transform] duration-300 size-full scale-100 opacity-40" style="color:var(--muted)"><path d="M22 15.9961L10 15.9961" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path><path d="M17 11L22 16L17 21" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg><svg viewBox="0 0 36 36" fill="none" aria-hidden="true" class="transition-[opacity,transform] duration-300 size-full scale-50 opacity-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M26.3366 11.3116L16.2422 25.9644L9.96255 19.2332C9.53872 18.7789 9.56342 18.067 10.0177 17.6432C10.472 17.2193 11.1839 17.244 11.6078 17.6983L15.9776 22.3824L24.4837 10.0352L2
9326.3366 11.3116Z" fill="currentColor"></path></svg></div></div></div></div></div></div><div role="alert" class="sr-only" aria-atomic="true"><span></span></div></div></div></div></div></div></div><div class="order-2 flex flex-col items-center md:order-none md:col-start-1 md:row-start-3 md:items-start md:pb-2 md:pl-2"><div class="translate-y-[2pt] flex flex-wrap items-center gap-2 md:-ml-[6pt]"><div style="--email-link-tint:#ffffff" class="flex w-fit items-stretch overflow-hidden rounded-full pl-3 text-fg group/chip bg-fg/4"><div role="link" tabindex="0" class="email-address relative flex min-w-0 cursor-pointer items-center py-1 font-lining text-caption font-[350] tracking-[-0.02em] select-text"><span class="flex h-full shrink-0 items-center"></span></div><div data-copy-button="" class="relative z-10 flex shrink-0 items-center -ml-[3.5rem] overflow-visible py-1 pr-1 transition-[margin] duration-500 ease-damped-spring group-data-[expanded]/chip:ml-3"><div class="isolate flex shrink-0 items-center overflow-visible rounded-full bg-bg" tabindex="0"><button type="button" class="inline-flex h-7 cursor-pointer items-center justify-center overflow-visible py-1 px-2.5 font-sans text-footnote font-[400] tracking-[-0.02em] text-fg rounded-full bg-bg outline-[1pt] outline-fg/6 shadow-[0_1px_2px_color-mix(in_srgb,var(--fg)_6%,transparent)]" aria-label="Copy email address"><span class="relative inline-grid overflow-visible font-sans text-footnote"><span aria-hidden="true" class="invisible col-start-1 row-start-1 inline-block overflow-hidden whitespace-nowrap" style="width:4ch">Copied</span><span class="pointer-events-none col-start-1 row-start-1 overflow-visible"><span class="absolute inset-0 flex items-center justify-center overflow-visible whitespace-nowrap" style="opacity:1;transform:none">Copy</span></span></span></button></div></div></div></div></div></div></div></div></section><div class="site-footer-theme text-fg" data-footer-appearance="dark"><footer class="relative max-w-screen overflow-hidden font-normal text-fg"><div class="relative mx-auto max-w-screen px-8 pt-16 pb-10"><div class="grid grid-cols-1 gap-10 min-[480px]:grid-cols-2 sm:grid-cols-5"><div class="hidden h-full flex-col justify-end pb-2 sm:flex"><p class="text-body sm:text-title-body font-normal leading-tight" style="opacity:0"><span class="block">New</span><span class="block">Material</span></p></div><div><h3 class="text-base font-[400] text-fg/50" style="opacity:0">Contact</h3><ul class="mt-4 space-y-1"><div style="opacity:0"><li class="relative"><a class="cursor-pointer active:opacity-70 -mx-2 relative block overflow-hidden rounded-l-lg rounded-r-lg p-1.5 pl-2 transition-colors duration-200 touch:bg-fg/6 [@media(hover:hover)_and_(pointer:fine)]:rounded-r-[1.125rem]" style="perspective:600px" href="#"><span class="relative flex items-center justify-between"><span class="pointer-events-none invisible whitespace-nowrap text-base">Get in touch</span><span class="absolute inset-0 flex items-center" style="perspective:600px"><span class="block whitespace-nowrap text-base" style="opacity:1;transform:none">Get in touch</span></span><span class="text-base text-fg/40 [@media(hover:hover)_and_(pointer:fine)]:invisible"><span style="opacity:1;transform:none"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-6"><path d="M14 11L19 16L14 21" stroke="currentColor" stroke-opacity="1" stroke-width="2.5" stroke-linecap="round"></path></svg></span></span></span></a><div class="absolute top-1/2 -right-1 hidden origin-center -translate-y-1/2 transition-[opacity,scale] duration-200 ease-out [@media(hover:hover)_and_(pointer:fine)]:block pointer-events-none scale-90 opacity-0 has-[:focus-visible]:pointer-events-auto has-[:focus-visible]:scale-100 has-[:focus-visible]:opacity-100"><div class="isolate flex shrink-0 items-center overflow-visible rounded-full bg-bg" tabindex="0"><button type="button" class="inline-flex h-7 cursor-pointer items-center justify-center overflow-visible py-1 px-2.5 font-sans text-footnote font-[400] tracking-[-0.02em] text-fg rounded-full bg-bg outline-[1pt] outline-fg/6 shadow-[0_1px_2px_color-mix(in_srgb,var(--fg)_6%,transparent)]" aria-label="Copy email address">Copy</button></div></div></li></div><div style="opacity:0">
932<li class="relative"><a class="cursor-pointer active:opacity-70 -mx-2 relative block overflow-hidden rounded-l-lg rounded-r-lg p-1.5 pl-2 transition-colors duration-200 touch:bg-fg/6 [@media(hover:hover)_and_(pointer:fine)]:rounded-r-[1.125rem]" style="perspective:600px" href="#"><span class="relative flex items-center justify-between"><span class="pointer-events-none invisible whitespace-nowrap text-base">Press Inquiries</span><span class="absolute inset-0 flex items-center" style="perspective:600px"><span class="block whitespace-nowrap text-base" style="opacity:1;transform:none">Press Inquiries</span></span><span class="text-base text-fg/40 [@media(hover:hover)_and_(pointer:fine)]:invisible"><span style="opacity:1;transform:none"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-6"><path d="M14 11L19 16L14 21" stroke="currentColor" stroke-opacity="1" stroke-width="2.5" stroke-linecap="round"></path></svg></span></span></span></a><div class="absolute top-1/2 -right-1 hidden origin-center -translate-y-1/2 transition-[opacity,scale] duration-200 ease-out [@media(hover:hover)_and_(pointer:fine)]:block pointer-events-none scale-90 opacity-0 has-[:focus-visible]:pointer-events-auto has-[:focus-visible]:scale-100 has-[:focus-visible]:opacity-100"><div class="isolate flex shrink-0 items-center overflow-visible rounded-full bg-bg" tabindex="0"><button type="button" class="inline-flex h-7 cursor-pointer items-center justify-center overflow-visible py-1 px-2.5 font-sans text-footnote font-[400] tracking-[-0.02em] text-fg rounded-full bg-bg outline-[1pt] outline-fg/6 shadow-[0_1px_2px_color-mix(in_srgb,var(--fg)_6%,transparent)]" aria-label="Copy email address">Copy</button></div></div></li></div></ul></div><div><h3 class="text-base font-[400] text-fg/50" style="opacity:0">Products</h3><ul class="mt-4 space-y-1"><div style="opacity:0"><li class="relative"><a class="cursor-pointer active:opacity-70 -mx-2 relative block overflow-hidden rounded-l-lg rounded-r-lg p-1.5 pl-2 transition-colors duration-200 touch:bg-fg/6" style="perspective:600px" href="https://apps.apple.com/us/app/fieldday-real-world-ai/id6448133483" target="_blank" rel="noopener noreferrer"><span class="relative flex items-center justify-between"><span class="pointer-events-none invisible whitespace-nowrap text-base">Get on the App Store</span><span class="absolute inset-0 flex items-center" style="perspective:600px"><span class="block whitespace-nowrap text-base" style="opacity:1;transform:none">FieldDay</span></span><span class="text-base text-fg/40"><span style="opacity:1;transform:none"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-6"><path d="M14 11L19 16L14 21" stroke="currentColor" stroke-opacity="1" stroke-width="2.5" stroke-linecap="round"></path></svg></span></span></span></a></li></div><div style="opacity:0"><li class="relative"><a class="cursor-pointer active:opacity-70 -mx-2 relative block overflow-hidden rounded-l-lg rounded-r-lg p-1.5 pl-2 transition-colors duration-200 touch:bg-fg/6" style="perspective:600px" href="https://apps.apple.com/gb/app/anonymous-camera/id1504102584" target="_blank" rel="noopener noreferrer"><span class="relative flex items-center justify-between"><span class="pointer-events-none invisible whitespace-nowrap text-base">Get on the App Store</span><span class="absolute inset-0 flex items-center" style="perspective:600px"><span class="block whitespace-nowrap text-base" style="opacity:1;transform:none">Anonymous Camera</span></span><span class="text-base text-fg/40"><span style="opacity:1;transform:none"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-6"><path d="M14 11L19 16L14 21" stroke="currentColor" stroke-opacity="1" stroke-width="2.5" stroke-linecap="round"></path></svg></span></span></span></a></li></div></ul></div><div><h3 class="text-base font-[400] text-fg/50" style="opacity:0">Elsewhere</h3><ul class="mt-4 space-y-1"><div style="opacity:0"><li><a class="cursor-pointer active:opacity-70 group/simple -mx-2 flex items-center justify-between rounded-lg p-1.5 pl-2 text-base transition-colors duration-200 touch:bg-fg/6" href="https://linkedin.com/company/newmaterialco" target="_blank" rel="noopener noreferrer"><span class="flex items-center gap-2"><span>LinkedIn</span></span><span class="text-fg/40 opacity-0 transition-opacity duration-200 group-hover/simple:opacity-100 data-[copied=true]:opacity-100" data-copied="false"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-6 text-fg/40"><path d="M14 11L19 16L14 21" stroke="currentColor" stroke-opacity="1" stroke-width="2.5" stroke-linecap="round"></path></svg></span></a></li></div><div style="opacity:0">
932<li><a class="cursor-pointer active:opacity-70 group/simple -mx-2 flex items-center justify-between rounded-lg p-1.5 pl-2 text-base transition-colors duration-200 touch:bg-fg/6" href="https://x.com/newmaterialai" target="_blank" rel="noopener noreferrer"><span class="flex items-center gap-2"><span>X</span></span><span class="text-fg/40 opacity-0 transition-opacity duration-200 group-hover/simple:opacity-100 data-[copied=true]:opacity-100" data-copied="false"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-6 text-fg/40"><path d="M14 11L19 16L14 21" stroke="currentColor" stroke-opacity="1" stroke-width="2.5" stroke-linecap="round"></path></svg></span></a></li></div></ul></div><div><h3 class="text-base font-[400] text-fg/50" style="opacity:0">Legal</h3><ul class="mt-4 space-y-1"><div style="opacity:0"><li><a class="cursor-pointer active:opacity-70 group/simple -mx-2 flex items-center justify-between rounded-lg p-1.5 pl-2 text-base transition-colors duration-200 touch:bg-fg/6" href="/privacy" data-discover="true"><span class="flex items-center gap-2"><span>Privacy</span></span><span class="text-fg/40 opacity-0 transition-opacity duration-200 group-hover/simple:opacity-100 data-[copied=true]:opacity-100" data-copied="false"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-6 text-fg/40"><path d="M14 11L19 16L14 21" stroke="currentColor" stroke-opacity="1" stroke-width="2.5" stroke-linecap="round"></path></svg></span></a></li></div><div style="opacity:0"><li><a class="cursor-pointer active:opacity-70 group/simple -mx-2 flex items-center justify-between rounded-lg p-1.5 pl-2 text-base transition-colors duration-200 touch:bg-fg/6" href="/terms" data-discover="true"><span class="flex items-center gap-2"><span>Terms of Service</span></span><span class="text-fg/40 opacity-0 transition-opacity duration-200 group-hover/simple:opacity-100 data-[copied=true]:opacity-100" data-copied="false"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" class="size-6 text-fg/40"><path d="M14 11L19 16L14 21" stroke="currentColor" stroke-opacity="1" stroke-width="2.5" stroke-linecap="round"></path></svg></span></a></li></div></ul></div></div><p class="mt-10 text-body font-normal leading-tight sm:hidden"><span class="block">New</span><span class="block">Material</span></p><p class="mt-8 w-full text-sm text-fg/50 leading-relaxed select-text sm:mt-16 sm:flex sm:items-baseline sm:justify-between sm:gap-6"><span>© 2026 New Material, Inc. All rights reserved.</span> <span class="sm:hidden">· </span><span>New Material Studio Ltd, registered in England and Wales Nº 14847657 · VAT GB 446 8088 60</span></p></div></footer></div></div></div></div><div class="fixed bottom-0 left-0 pointer-events-none z-490" style="width:min(100vw, 600px, calc(400px + 5vw));height:min(50vw, 150px, calc(200px + 2.5vw));background:radial-gradient(ellipse min(100vw, 600px, calc(400px + 5vw)) min(50vw, 150px, calc(200px + 2.5vw)) at 0% 100%, color-mix(in srgb, var(--bg) 100.0%, transparent) 0.00%, color-mix(in srgb, var(--bg) 98.7%, transparent) 4.05%, color-mix(in srgb, var(--bg) 95.1%, transparent) 7.75%, color-mix(in srgb, var(--bg) 89.6%, transparent) 11.25%, color-mix(in srgb, var(--bg) 82.5%, transparent) 14.50%, color-mix(in srgb, var(--bg) 74.1%, transparent) 17.65%, color-mix(in srgb, var(--bg) 64.8%, transparent) 20.60%, color-mix(in srgb, var(--bg) 55.0%, transparent) 23.55%, color-mix(in srgb, var(--bg) 45.0%, transparent) 26.45%, color-mix(in srgb, var(--bg) 35.2%, transparent) 29.40%, color-mix(in srgb, var(--bg) 25.9%, transparent) 32.35%, color-mix(in srgb, var(--bg) 17.5%, transparent) 35.05%, color-mix(in srgb, var(--bg) 10.4%, transparent) 37.75%, color-mix(in srgb, var(--bg) 4.9%, transparent) 40.10%, color-mix(in srgb, var(--bg) 1.9%, transparent) 43.05%, color-mix(in srgb, var(--bg) 0.1%, transparent) 45.55%, color-mix(in srgb, var(--bg) 0.0%, transparent) 50.00%);opacity:0"></div><div data-persistent-context-control="" class="site-context-control-y fixed bottom-0 left-0 z-500 site-context-control-y-hidden" aria-hidden="true" style="color:#ffffff;pointer-events:none"><div class="p-3 pointer-coarse:pb-1" tabindex="0" style="transform:none"><div data-context-control-appearance="dock" class="site-context-control-surface flex items-center cursor-pointer relative group border border-current/12 hover:border-transparent roun
932ded-full p-3 backdrop-blur-[3px] shadow-none" style="view-transition-name:site-controls-a;view-transition-class:site-controls"><div class="size-6 shrink-0 relative pointer-events-auto"><div class="absolute inset-0" style="opacity:1;transform:none"><div class="absolute inset-0"><div data-scroll-spinner-scroll="" class="size-full" style="rotate:0deg"><div data-scroll-spinner-idle="" class="size-full" style="transform:none"><svg width="32" height="32" viewBox="-8 -8 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" overflow="visible" class="absolute -left-1/2 -top-1/2 size-[200%]"><title>Loading</title><circle cx="13" cy="8" r="1.5" fill="currentColor"></circle><circle cx="10.5" cy="12.330127018922193" r="1.5" fill="currentColor"></circle><circle cx="5.500000000000001" cy="12.330127018922195" r="1.5" fill="currentColor"></circle><circle cx="3" cy="8" r="1.5" fill="currentColor"></circle><circle cx="5.499999999999998" cy="3.669872981077808" r="1.5" fill="currentColor"></circle><circle cx="10.5" cy="3.6698729810778072" r="1.5" fill="currentColor"></circle></svg></div></div></div></div><div class="absolute top-1/2 left-1/2 size-16" style="opacity:1;transform:translateX(-50%) translateY(-50%) scale(0.375)"><div class="absolute inset-0 size-full" style="opacity:0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="size-full"><circle cx="8" cy="8" r="3.35938" fill="currentColor"></circle></svg></div><div class="absolute inset-0 size-full" style="opacity:0;transform:scale(0.133) rotate(45deg)"><svg viewBox="0 0 32 32" fill="none" aria-hidden="true" data-more-from-context-blob-plus="" class="size-full text-white"><path fill-rule="evenodd" clip-rule="evenodd" d="M15 17V23H17V17H23V15H17V9H15V15H9V17H15Z" fill="currentColor"></path></svg></div></div></div><div class="overflow-hidden pointer-events-none transition-[max-width,margin,opacity] duration-500 ease-out max-w-0 ml-0 mr-0 opacity-0"><p class="text-caption whitespace-nowrap translate-y-px">More from context</p></div><p class="absolute inset-y-0 left-12 ml-1 w-screen text-caption text-start pointer-events-none shrink-0 flex items-center transition-[opacity,translate] duration-300 ease-in-out translate-y-[calc(100%+1px)] group-hover:translate-y-px opacity-0 group-hover:opacity-100">More from context</p></div></div></div></div><output aria-live="polite" aria-atomic="true" class="sr-only"></output></div><form class="fixed bottom-4 right-4 hidden" data-discover="true" action="/" method="post"><button type="submit" tabindex="0" value="light" class="inline-flex shrink-0 cursor-pointer items-center justify-center gap-1.5 rounded-full font-medium whitespace-nowrap transition-[background-color,color,box-shadow,border-color] duration-150 outline-none focus-visible:ring-[3px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:shrink-0 text-muted touch:bg-secondary touch:text-fg h-8 px-3.5 text-xs" name="color-scheme">Light</button><button type="submit" tabindex="0" value="dark" class="inline-flex shrink-0 cursor-pointer items-center justify-center gap-1.5 rounded-full font-medium whitespace-nowrap transition-[background-color,color,box-shadow,border-color] duration-150 outline-none focus-visible:ring-[3px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:shrink-0 text-muted touch:bg-secondary touch:text-fg h-8 px-3.5 text-xs" name="color-scheme">Dark</button><button type="submit" tabindex="0" value="system" class="inline-flex shrink-0 cursor-pointer items-center justify-center gap-1.5 rounded-full font-medium whitespace-nowrap transition-[background-color,color,box-shadow,border-color] duration-150 outline-none focus-visible:ring-[3px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:shrink-0 text-muted touch:bg-secondary touch:text-fg h-8 px-3.5 text-xs" name="color-scheme">System</button></form>
932<script>((storageKey2, restoreKey) => {
933      if (!window.history.state || !window.history.state.key) {
934        let key = Math.random().toString(32).slice(2);
935        window.history.replaceState({
936          key
937        }, "");
938      }
939      try {
940        let positions = JSON.parse(sessionStorage.getItem(storageKey2) || "{}");
941        let storedY = positions[restoreKey || window.history.state.key];
942        if (typeof storedY === "number") {
943          window.scrollTo(0, storedY);
944        }
945      } catch (error2) {
946        console.error(error2);
947        sessionStorage.removeItem(storageKey2);
948      }
949    })("react-router-scroll-positions", null)</script>
949<script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":false,"unstable_subResourceIntegrity":false,"unstable_trailingSlashAwareDataRequests":false,"v8_middleware":true,"v8_splitRouteModules":false,"v8_viteEnvironmentApi":true},"routeDiscovery":{"mode":"lazy","manifestPath":"/__manifest"},"ssr":true,"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script>
949<script type="module" async="">;
950import * as route0 from "/assets/root-CVBVwr96.js";
951import * as route1 from "/assets/content.layout-CjjI5vuO.js";
952import * as route2 from "/assets/stories.slug-DpvAxIgU.js";
953  window.__reactRouterManifest = {
954  "entry": {
955    "module": "/assets/entry.client-jqb2piIo.js",
956    "imports": [
957      "/assets/jsx-runtime-u17CrQMm.js",
958      "/assets/chunk-EPOLDU6W-DDKLhvzC.js",
959      "/assets/index-7OC5HNn7.js",
960      "/assets/index-nIknq2ud.js"
961    ],
962    "css": []
963  },
964  "routes": {
965    "root": {
966      "id": "root",
967      "path": "",
968      "hasAction": true,
969      "hasLoader": true,
970      "hasClientAction": false,
971      "hasClientLoader": false,
972      "hasClientMiddleware": false,
973      "hasErrorBoundary": true,
974      "module": "/assets/root-CVBVwr96.js",
975      "imports": [
976        "/assets/jsx-runtime-u17CrQMm.js",
977        "/assets/chunk-EPOLDU6W-DDKLhvzC.js",
978        "/assets/index-7OC5HNn7.js",
979        "/assets/index-nIknq2ud.js",
980        "/assets/preload-helper-BXl3LOEh.js",
981        "/assets/lightbox-context-DAuiXBBD.js",
982        "/assets/use-motion-value-event-DnAAq14n.js",
983        "/assets/button-D2XkC4S1.js",
984        "/assets/tooltip-_x8vZoE_.js",
985        "/assets/index-CuF72Boz.js",
986        "/assets/utils-BS5inCOb.js",
987        "/assets/useButton-BaC4TK_w.js",
988        "/assets/useRenderElement-ByvCCVxT.js",
989        "/assets/createBaseUIEventDetails-L9OVrBJ6.js",
990        "/assets/popupStateMapping-D96L6Nu6.js",
991        "/assets/useBaseUiId-2jn-_8Ix.js",
992        "/assets/element-BCnqlMgX.js",
993        "/assets/useTimeout-Dtp6uYGR.js",
994        "/assets/owner-Dm6pnmkm.js",
995        "/assets/useFocus-CClKL5R_.js",
996        "/assets/safePolygon-B0Oyhrlw.js",
997        "/assets/getDisabledMountTransitionStyles-CxtbxEyo.js",
998        "/assets/floating-ui.utils-BiZy_si2.js",
999        "/assets/DirectionContext-BZBed3Uc.js",
1000        "/assets/usePopupAutoResize-BVaCeFa9.js"
1001      ],
1002      "css": [
1003        "/assets/root-qARLWNin.css"
1004      ]
1005    },
1006    "routes/content.layout": {
1007      "id": "routes/content.layout",
1008      "parentId": "root",
1009      "hasAction": false,
1010      "hasLoader": false,
1011      "hasClientAction": false,
1012      "hasClientLoader": false,
1013      "hasClientMiddleware": false,
1014      "hasErrorBoundary": false,
1015      "module": "/assets/content.layout-CjjI5vuO.js",
1016      "imports": [
1017        "/assets/chunk-EPOLDU6W-DDKLhvzC.js",
1018        "/assets/jsx-runtime-u17CrQMm.js",
1019        "/assets/icons-DSyQTBjT.js",
1020        "/assets/image-DiLk8n9P.js",
1021        "/assets/utils-BS5inCOb.js",
1022        "/assets/use-reduced-motion-BAETq9Nb.js",
1023        "/assets/index-CkZSuJ9p.js",
1024        "/assets/proxy-DvfufeLI.js",
1025        "/assets/content-visibility-GQQGOf1O.js",
1026        "/assets/quote-gallery-BGw5Y9A9.js",
1027        "/assets/typograph-CsL4lFT6.js",
1028        "/assets/index-CuF72Boz.js",
1029        "/assets/artifact-visual-analysis-Bwq68FpZ.js",
1030        "/assets/paper-stack-_BS6s43l.js",
1031        "/assets/tint-DSUULco-.js",
1032        "/assets/home-C2Btszmj.js",
1033        "/assets/portfolio-taxonomy-aq57wR6I.js",
1034        "/assets/use-drag-controls-7rqJ6DAa.js",
1035        "/assets/index-DmW9LlW4.js",
1036        "/assets/use-transform-Di-X5ZZY.js",
1037        "/assets/presence-types-D_mDXtxz.js",
1038        "/assets/persona-capture-form-COZg-zPr.js",
1039        "/assets/discord-presence-context-4e2_4OGV.js",
1040        "/assets/app-store-B1FRaRir.js",
1041        "/assets/featured-app-privacy-context-DWGVRxa5.js",
1042        "/assets/showcase-qr-dialog-walk7PN5.js",
1043        "/assets/flipbook-gallery-D9tvbt7A.js",
1044        "/assets/section-list-CibZXy6X.js",
1045        "/assets/site-context-control-_Y4noZUV.js",
1046        "/assets/MotionConfigContext-D_WkdJ8J.js",
1047        "/assets/use-in-view-B89Mrsbm.js",
1048        "/assets/gallery-progress-dots-Pde1NSDP.js",
1049        "/assets/lightbox-context-DAuiXBBD.js",
1050        "/assets/site-header-context--mVWwM2O.js",
1051        "/assets/use-motion-value-event-DnAAq14n.js",
1052        "/assets/analytics.client-COam7ciE.js",
1053        "/assets/devices-BJQoVHhU.js",
1054        "/assets/index-nIknq2ud.js",
1055        "/assets/remark-typograph-D2NaBMTg.js",
1056        "/assets/index-Cn7hrrKz.js",
1057        "/assets/avatar-dot-BGUZZVlE.js",
1058        "/assets/tooltip-_x8vZoE_.js",
1059        "/assets/useRenderElement-ByvCCVxT.js",
1060        "/assets/createBaseUIEventDetails-L9OVrBJ6.js",
1061        "/assets/popupStateMapping-D96L6Nu6.js",
1062        "/assets/useBaseUiId-2jn-_8Ix.js",
1063        "/assets/element-BCnqlMgX.js",
1064        "/assets/useTimeout-Dtp6uYGR.js",
1065        "/assets/owner-Dm6pnmkm.js",
1066        "/assets/useFocus-CClKL5R_.js",
1067        "/assets/safePolygon-B0Oyhrlw.js",
1068        "/assets/getDisabledMountTransitionStyles-CxtbxEyo.js",
1069        "/assets/floating-ui.utils-BiZy_si2.js",
1070        "/assets/DirectionContext-BZBed3Uc.js",
1071        "/assets/usePopupAutoResize-BVaCeFa9.js",
1072        "/assets/image-placeholder-f_Uj4rT2.js",
1073        "/assets/navigation-placeholder-CsFGDdUj.js",
1074        "/assets/navigation-seed-ybS7nvwd.js",
1075        "/assets/person-BNIsIt8P.js",
1076        "/assets/speech-bubble-path-nGU9T00G.js",
1077        "/assets/context-arrow-control-D3l2jq4H.js",
1078        "/assets/use-mobile-Bg-RD5Oy.js",
1079        "/assets/text-shimmer-CJPjEQUk.js",
1080        "/assets/action-helpers-DkKLodi9.js",
1081        "/assets/schemas-cszQidbv.js",
1082        "/assets/artifact.index-B5slPMIl.js",
1083        "/assets/video-artifact-CoeCJnKG.js",
1084        "/assets/artifact-hearts.client-COtUZFKh.js",
1085        "/assets/app-clip-yd5BNHgz.js",
1086        "/assets/random-uuid-Bbe8nWZn.js",
1087        "/assets/favorite-heart-control-Bkd8dics.js",
1088        "/assets/content-types-D_mEm2eJ.js",
1089        "/assets/focus-CMrwnIoW.js",
1090        "/assets/seo-B90DoU_c.js",
1091        "/assets/styles-lmQY2dAH.js",
1092        "/assets/ScrollAreaThumb-CIcpC5Fc.js",
1093        "/assets/use-event-source-BkUmBtoq.js",
1094        "/assets/button-D2XkC4S1.js",
1095        "/assets/useButton-BaC4TK_w.js",
1096        "/assets/dialog-Ckv6RMpM.js",
1097        "/assets/DialogTrigger-CconnOQ0.js",
1098        "/assets/composite-BEMs77xx.js",
1099        "/assets/useOpenInteractionType-DLO05xoO.js",
1100        "/assets/home-attention-D3MBHtrV.js",
1101        "/assets/format-date-yaQnJ40C.js",
1102        "/assets/animated-shuffle-icon-0hm9rJm-.js"
1103      ],
1104      "css": [
1105        "/assets/text-shimmer-Xoih4BZU.css"
1106      ]
1107    },
1108    "routes/stories.slug": {
1109      "id": "routes/stories.slug",
1110      "parentId": "routes/content.layout",
1111      "path": "stories/:slug",
1112      "hasAction": false,
1113      "hasLoader": true,
1114      "hasClientAction": false,
1115      "hasClientLoader": true,
1116      "hasClientMiddleware": false,
1117      "hasErrorBoundary": false,
1118      "module": "/assets/stories.slug-DpvAxIgU.js",
1119      "imports": [
1120        "/assets/stories.slug-C0kjpYhL.js",
1121        "/assets/chunk-EPOLDU6W-DDKLhvzC.js",
1122        "/assets/jsx-runtime-u17CrQMm.js",
1123        "/assets/site-controls-CJ-AKeIW.js",
1124        "/assets/MotionConfigContext-D_WkdJ8J.js",
1125        "/assets/index-CuF72Boz.js",
1126        "/assets/proxy-DvfufeLI.js",
1127        "/assets/analytics.client-COam7ciE.js",
1128        "/assets/index-DmW9LlW4.js",
1129        "/assets/use-transform-Di-X5ZZY.js",
1130        "/assets/random-uuid-Bbe8nWZn.js",
1131        "/assets/artifact.index-B5slPMIl.js",
1132        "/assets/quote-gallery-BGw5Y9A9.js",
1133        "/assets/index-nIknq2ud.js",
1134        "/assets/image-DiLk8n9P.js",
1135        "/assets/devices-BJQoVHhU.js",
1136        "/assets/utils-BS5inCOb.js",
1137        "/assets/remark-typograph-D2NaBMTg.js",
1138        "/assets/index-Cn7hrrKz.js",
1139        "/assets/typograph-CsL4lFT6.js",
1140        "/assets/avatar-dot-BGUZZVlE.js",
1141        "/assets/tooltip-_x8vZoE_.js",
1142        "/assets/useRenderElement-ByvCCVxT.js",
1143        "/assets/createBaseUIEventDetails-L9OVrBJ6.js",
1144        "/assets/popupStateMapping-D96L6Nu6.js",
1145        "/assets/useBaseUiId-2jn-_8Ix.js",
1146        "/assets/element-BCnqlMgX.js",
1147        "/assets/useTimeout-Dtp6uYGR.js",
1148        "/assets/owner-Dm6pnmkm.js",
1149        "/assets/useFocus-CClKL5R_.js",
1150        "/assets/safePolygon-B0Oyhrlw.js",
1151        "/assets/getDisabledMountTransitionStyles-CxtbxEyo.js",
1152        "/assets/floating-ui.utils-BiZy_si2.js",
1153        "/assets/DirectionContext-BZBed3Uc.js",
1154        "/assets/usePopupAutoResize-BVaCeFa9.js",
1155        "/assets/image-placeholder-f_Uj4rT2.js",
1156        "/assets/navigation-placeholder-CsFGDdUj.js",
1157        "/assets/navigation-seed-ybS7nvwd.js",
1158        "/assets/person-BNIsIt8P.js",
1159        "/assets/tint-DSUULco-.js",
1160        "/assets/speech-bubble-path-nGU9T00G.js",
1161        "/assets/use-reduced-motion-BAETq9Nb.js",
1162        "/assets/index-CkZSuJ9p.js",
1163        "/assets/gallery-progress-dots-Pde1NSDP.js",
1164        "/assets/content-visibility-GQQGOf1O.js",
1165        "/assets/video-artifact-CoeCJnKG.js",
1166        "/assets/icons-DSyQTBjT.js",
1167        "/assets/artifact-hearts.client-COtUZFKh.js",
1168        "/assets/app-clip-yd5BNHgz.js",
1169        "/assets/favorite-heart-control-Bkd8dics.js",
1170        "/assets/use-in-view-B89Mrsbm.js",
1171        "/assets/content-types-D_mEm2eJ.js",
1172        "/assets/showcase-qr-dialog-walk7PN5.js",
1173        "/assets/button-D2XkC4S1.js",
1174        "/assets/useButton-BaC4TK_w.js",
1175        "/assets/dialog-Ckv6RMpM.js",
1176        "/assets/DialogTrigger-CconnOQ0.js",
1177        "/assets/composite-BEMs77xx.js",
1178        "/assets/useOpenInteractionType-DLO05xoO.js",
1179        "/assets/generation-indicator-BwScE45A.js",
1180        "/assets/index-BsWEDxGP.js",
1181        "/assets/paper-stack-_BS6s43l.js",
1182        "/assets/context-arrow-control-D3l2jq4H.js",
1183        "/assets/use-mobile-Bg-RD5Oy.js",
1184        "/assets/presence-types-D_mDXtxz.js",
1185        "/assets/discord-presence-context-4e2_4OGV.js",
1186        "/assets/use-event-source-BkUmBtoq.js",
1187        "/assets/text-shimmer-CJPjEQUk.js",
1188        "/assets/action-helpers-DkKLodi9.js",
1189        "/assets/schemas-cszQidbv.js",
1190        "/assets/persona-capture-form-COZg-zPr.js",
1191        "/assets/styles-lmQY2dAH.js",
1192        "/assets/ScrollAreaThumb-CIcpC5Fc.js",
1193        "/assets/use-motion-value-event-DnAAq14n.js",
1194        "/assets/site-context-control-_Y4noZUV.js",
1195        "/assets/section-list-CibZXy6X.js",
1196        "/assets/react-DZJN03Dt.js",
1197        "/assets/schema-BV-w-kaV.js",
1198        "/assets/index-ClaGlwFW.js",
1199        "/assets/preload-helper-BXl3LOEh.js",
1200        "/assets/session-agent.api-Chtn4JHc.js",
1201        "/assets/validation-helpers-C5GosE5M.js",
1202        "/assets/site-header-context--mVWwM2O.js",
1203        "/assets/featured-app-privacy-context-DWGVRxa5.js",
1204        "/assets/app-store-B1FRaRir.js",
1205        "/assets/lightbox-context-DAuiXBBD.js",
1206        "/assets/format-date-yaQnJ40C.js",
1207        "/assets/seo-B90DoU_c.js",
1208        "/assets/artifact-appearance-analysis-Bt9gkLUA.js"
1209      ],
1210      "css": [
1211        "/assets/text-shimmer-Xoih4BZU.css"
1212      ]
1213    },
1214    "routes/home": {
1215      "id": "routes/home",
1216      "parentId": "routes/content.layout",
1217      "index": true,
1218      "hasAction": false,
1219      "hasLoader": true,
1220      "hasClientAction": false,
1221      "hasClientLoader": true,
1222      "hasClientMiddleware": false,
1223      "hasErrorBoundary": false,
1224      "module": "/assets/home-BZC2TlDY.js",
1225      "imports": [
1226        "/assets/home-C2Btszmj.js",
1227        "/assets/chunk-EPOLDU6W-DDKLhvzC.js",
1228        "/assets/jsx-runtime-u17CrQMm.js",
1229        "/assets/flipbook-gallery-D9tvbt7A.js",
1230        "/assets/index-nIknq2ud.js",
1231        "/assets/showcase-qr-dialog-walk7PN5.js",
1232        "/assets/utils-BS5inCOb.js",
1233        "/assets/icons-DSyQTBjT.js",
1234        "/assets/button-D2XkC4S1.js",
1235        "/assets/useButton-BaC4TK_w.js",
1236        "/assets/useRenderElement-ByvCCVxT.js",
1237        "/assets/dialog-Ckv6RMpM.js",
1238        "/assets/DialogTrigger-CconnOQ0.js",
1239        "/assets/popupStateMapping-D96L6Nu6.js",
1240        "/assets/useBaseUiId-2jn-_8Ix.js",
1241        "/assets/element-BCnqlMgX.js",
1242        "/assets/createBaseUIEventDetails-L9OVrBJ6.js",
1243        "/assets/useTimeout-Dtp6uYGR.js",
1244        "/assets/owner-Dm6pnmkm.js",
1245        "/assets/composite-BEMs77xx.js",
1246        "/assets/useOpenInteractionType-DLO05xoO.js",
1247        "/assets/artifact-hearts.client-COtUZFKh.js",
1248        "/assets/app-clip-yd5BNHgz.js",
1249        "/assets/random-uuid-Bbe8nWZn.js",
1250        "/assets/use-in-view-B89Mrsbm.js",
1251        "/assets/MotionConfigContext-D_WkdJ8J.js",
1252        "/assets/index-CuF72Boz.js",
1253        "/assets/proxy-DvfufeLI.js",
1254        "/assets/index-CkZSuJ9p.js",
1255        "/assets/use-reduced-motion-BAETq9Nb.js",
1256        "/assets/content-visibility-GQQGOf1O.js",
1257        "/assets/analytics.client-COam7ciE.js",
1258        "/assets/index-DmW9LlW4.js",
1259        "/assets/use-transform-Di-X5ZZY.js",
1260        "/assets/home-attention-D3MBHtrV.js",
1261        "/assets/video-artifact-CoeCJnKG.js",
1262        "/assets/devices-BJQoVHhU.js",
1263        "/assets/image-DiLk8n9P.js",
1264        "/assets/typograph-CsL4lFT6.js",
1265        "/assets/favorite-heart-control-Bkd8dics.js",
1266        "/assets/gallery-progress-dots-Pde1NSDP.js",
1267        "/assets/format-date-yaQnJ40C.js",
1268        "/assets/navigation-placeholder-CsFGDdUj.js",
1269        "/assets/navigation-seed-ybS7nvwd.js",
1270        "/assets/tint-DSUULco-.js",
1271        "/assets/animated-shuffle-icon-0hm9rJm-.js",
1272        "/assets/artifact.index-B5slPMIl.js",
1273        "/assets/quote-gallery-BGw5Y9A9.js",
1274        "/assets/remark-typograph-D2NaBMTg.js",
1275        "/assets/index-Cn7hrrKz.js",
1276        "/assets/avatar-dot-BGUZZVlE.js",
1277        "/assets/tooltip-_x8vZoE_.js",
1278        "/assets/useFocus-CClKL5R_.js",
1279        "/assets/safePolygon-B0Oyhrlw.js",
1280        "/assets/getDisabledMountTransitionStyles-CxtbxEyo.js",
1281        "/assets/floating-ui.utils-BiZy_si2.js",
1282        "/assets/DirectionContext-BZBed3Uc.js",
1283        "/assets/usePopupAutoResize-BVaCeFa9.js",
1284        "/assets/image-placeholder-f_Uj4rT2.js",
1285        "/assets/person-BNIsIt8P.js",
1286        "/assets/speech-bubble-path-nGU9T00G.js",
1287        "/assets/content-types-D_mEm2eJ.js",
1288        "/assets/section-list-CibZXy6X.js",
1289        "/assets/presence-types-D_mDXtxz.js",
1290        "/assets/discord-presence-context-4e2_4OGV.js",
1291        "/assets/use-event-source-BkUmBtoq.js",
1292        "/assets/focus-CMrwnIoW.js",
1293        "/assets/site-header-context--mVWwM2O.js",
1294        "/assets/seo-B90DoU_c.js",
1295        "/assets/portfolio-taxonomy-aq57wR6I.js"
1296      ],
1297      "css": []
1298    },
1299    "routes/alias": {
1300      "id": "routes/alias",
1301      "parentId": "root",
1302      "path": ":alias",
1303      "hasAction": false,
1304      "hasLoader": true,
1305      "hasClientAction": false,
1306      "hasClientLoader": false,
1307      "hasClientMiddleware": false,
1308      "hasErrorBoundary": false,
1309      "module": "/assets/alias-l0sNRNKZ.js",
1310      "imports": [],
1311      "css": []
1312    }
1313  },
1314  "url": "/assets/manifest-7255f81d.js",
1315  "version": "7255f81d"
1316};
1317  window.__reactRouterRouteModules = {"root":route0,"routes/content.layout":route1,"routes/stories.slug":route2};
1318
1319import("/assets/entry.client-jqb2piIo.js");</script>
1319<!--$-->
1319<script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_285\":-5,\"_286\":-5},\"loaderData\",{\"_3\":4,\"_13\":14},\"root\",{\"_5\":6,\"_7\":8,\"_9\":10,\"_11\":-5,\"_12\":-5},\"colorScheme\",\"system\",\"sessionAgentId\",\"DU8pfrkJ9EzzvkCskFPQBtTaTot7fF6l\",\"isAuthenticated\",false,\"adminUser\",\"announcementBanner\",\"routes/stories.slug\",{\"_15\":16,\"_17\":-5,\"_18\":19,\"_23\":177,\"_44\":178,\"_47\":179,\"_48\":28,\"_180\":181,\"_99\":182,\"_183\":10,\"_50\":-5,\"_184\":-5,\"_185\":-5,\"_186\":10,\"_187\":188,\"_189\":-5,\"_190\":-5,\"_92\":-5,\"_191\":-5,\"_192\":-5,\"_193\":194,\"_197\":198,\"_240\":-5,\"_241\":242,\"_274\":-5,\"_275\":276,\"_277\":278,\"_279\":-5,\"_280\":281,\"_282\":-7,\"_283\":284},\"recognition\",[],\"resources\",\"structure\",[20,31,174],{\"_21\":22,\"_23\":24,\"_25\":26,\"_27\":28,\"_29\":30},\"type\",\"section\",\"id\",\"18fe36187c93aacba8fdd0dcd93989c0\",\"heading\",\"\",\"markdown\",\"A series of visualizations depicting the core concepts of machine learning. In 2019, when we first set out to build a company around the idea of making AI approachable to everyone, we knew that AI literacy was a crucial piece of progressing towards that vision. It was then, while we building the first iteration of what would become FieldDay that we started building our brand not only to communicate what our company was about, but as an educational tool to help people grasp some of the core concepts involved in building AI systems.\",\"intro\",true,{\"_21\":32,\"_23\":33,\"_34\":35,\"_173\":30},\"gallery\",\"M5vg28DJa3D3t4hZw2r2j9anvP7OJpKD\",\"items\",[36,121,138,156],{\"_23\":37,\"_38\":39,\"_40\":41,\"_42\":43},\"2WWe0aZBk9Z9kVrDtdmv25fL37qWIPL3\",\"aspectRatio\",1.5,\"caption\",\"Data collection\",\"content\",{\"_23\":37,\"_44\":45,\"_21\":46,\"_47\":41,\"_48\":49,\"_50\":-5,\"_51\":30,\"_52\":10,\"_53\":-5,\"_54\":55,\"_56\":57,\"_58\":10,\"_59\":10,\"_60\":10,\"_61\":10,\"_62\":10,\"_63\":64,\"_73\":-5,\"_74\":-5,\"_75\":-5,\"_76\":-5,\"_77\":-5,\"_78\":-5,\"_79\":-5,\"_80\":-5,\"_81\":-5,\"_82\":-5,\"_83\":84,\"_85\":-5,\"_86\":87,\"_88\":-5,\"_89\":-5,\"_90\":91,\"_92\":93,\"_94\":-5,\"_95\":-5,\"_96\":-5,\"_97\":98,\"_99\":100,\"_101\":102,\"_114\":-5,\"_115\":116,\"_120\":-5},\"slug\",\"visualising-ai-classifier-light-00\",\"image\",\"title\",\"description\",\"A render visualising how different types of data enter the machine learning pipeline and process.\\n\",\"seoTitle\",\"titleVisible\",\"highlight\",\"highlightText\",\"contentTint\",\"#c5d4dc\",\"backgroundTint\",\"#b6c5cc\",\"enableSound\",\"downloadable\",\"darkControls\",\"workInProgress\",\"behindTheScenes\",\"deviceConfig\",{\"_65\":66},\"frame\",{\"_67\":30,\"_68\":69,\"_70\":71,\"_72\":10},\"enabled\",\"padding\",-9.3,\"cornerRadius\",0,\"stroke\",\"url\",\"quoteText\",\"quotePersonId\",\"awardSubtitle\",\"awardIssuer\",\"awardYear\",\"awardAnnotation\",\"patentNumber\",\"patentOffice\",\"patentYear\",\"mediaId\",\"artifact_media_2WWe0aZBk9Z9kVrDtdmv25fL37qWIPL3\",\"posterId\",\"previewId\",\"artifact_preview_2WWe0aZBk9Z9kVrDtdmv25fL37qWIPL3\",\"linkPreviewId\",\"localContext\",\"folderId\",\"MIvvcDWaTU8Zh4ALjuKZ6AhsmXLeZErt\",\"projectId\",\"azVyLvh0ciAD1tG7hMQ7Xcr53YOktch0\",\"clientId\",\"focusVertical\",\"focusHeaderVertical\",\"createdAt\",\"2026-02-23 05:36:44\",\"updatedAt\",\"2026-09-04T01:20:36.627Z\",\"media\",{\"_23\":84,\"_21\":46,\"_73\":103,\"_104\":105,\"_106\":107,\"_108\":-5,\"_109\":-5,\"_110\":-5,\"_111\":-5,\"_112\":-5,\"_97\":113},\"/uploads/artifacts/1771825001058-Visualising_AI_Classifier_Light_00.jpg\",\"width\",3840,\"height\",2160,\"duration\",\"alt\",\"placeholderHash\",\"placeholderType\",\"videoVariants\",\"2026-03-21 18:48:29\",\"poster\",\"preview\",{\"_23\":87,\"_21\":46,\"_73\":117,\"_104\":118,\"_106\":119,\"_108\":-5,\"_109\":41,\"_110\":-5,\"_111\":-5,\"_112\":-5,\"_97\":113},\"/uploads/artifacts/1773696468251-data-collection-preview.webp\",1200,800,\"linkPreview\",{\"_23\":122,\"_38\":39,\"_40\":123,\"_42\":124},\"lo7tSqToNDhH8CfqMUXWMLNskJdfGS3y\",\"Data classification\",{\"_23\":122,\"_44\":125,\"_21\":46,\"_47\":123,\"_48\":126,\"_50\":-5,\"_51\":30,\"_52\":10,\"_53\":-5,\"_54\":127,\"_56\":128,\"_58\":10,\"_59\":10,\"_60\":30,\"_61\":10,\"_62\":10,\"_63\":129,\"_73\":-5,\"_74\":-5,\"_75\":-5,\"_76\":-5,\"_77\":-5,\"_78\":-5,\"_79\":-5,\"_80\":-5,\"_81\":-5,\"_82\":-5,\"_83\":131,\"_85\":-5,\"_86\":132,\"_88\":-5,\"_89\":-5,\"_90\":91,\"_92\":93,\"_94\":-5,\"_95\":-5,\"_96\":-5,\"_97\":133,\"_99\":100,\"_101\":134,\"_114\":-5,\"_115\":136,\"_120\":-5},\"visualising-ai-dataset-light-00\",\"A render visualizing how machine learning models interpret and classify unstructured data.\\n\",\"#080656\",\"#b6c6cd\",{\"_65\":130},{\"_67\":30,\"_68\":69,\"_70\":71,\"_72\":30},\"artifact_media_lo7tSqToNDhH8CfqMUXWMLNskJdfGS3y\",\"artifact_preview_lo7tSqToNDhH8CfqMUXWMLNskJdfGS3y\",\"2026-02-23 05:38:55\",{\"_23\":131,\"_21\":46,\"_73\":135,\"_104\":105,\"_106\":107,\"_108\":-
13195,\"_109\":-5,\"_110\":-5,\"_111\":-5,\"_112\":-5,\"_97\":113},\"/uploads/artifacts/1771825134808-Visualising_AI_Dataset_Light_00.jpg\",{\"_23\":132,\"_21\":46,\"_73\":137,\"_104\":118,\"_106\":119,\"_108\":-5,\"_109\":123,\"_110\":-5,\"_111\":-5,\"_112\":-5,\"_97\":113},\"/uploads/artifacts/1773696366888-data-classification-preview.webp\",{\"_23\":139,\"_38\":39,\"_40\":140,\"_42\":141},\"qUpvoxy9oMeyFxpz2ret2ON88xvrIrMu\",\"Correcting\",{\"_23\":139,\"_44\":142,\"_21\":46,\"_47\":140,\"_48\":143,\"_50\":-5,\"_51\":30,\"_52\":10,\"_53\":-5,\"_54\":144,\"_56\":145,\"_58\":10,\"_59\":30,\"_60\":30,\"_61\":10,\"_62\":10,\"_63\":146,\"_73\":-5,\"_74\":-5,\"_75\":-5,\"_76\":-5,\"_77\":-5,\"_78\":-5,\"_79\":-5,\"_80\":-5,\"_81\":-5,\"_82\":-5,\"_83\":148,\"_85\":-5,\"_86\":149,\"_88\":-5,\"_89\":-5,\"_90\":91,\"_92\":93,\"_94\":-5,\"_95\":-5,\"_96\":-5,\"_97\":150,\"_99\":100,\"_101\":151,\"_114\":-5,\"_115\":153,\"_120\":-5},\"visualising-ai-teaching-light-00\",\"A render visualising how humans can teach machine learning models to identify false positives and curate training data.\\n\",\"#b7c5cd\",\"#b7c7ce\",{\"_65\":147},{\"_67\":30,\"_68\":69,\"_70\":71,\"_72\":10},\"artifact_media_qUpvoxy9oMeyFxpz2ret2ON88xvrIrMu\",\"artifact_preview_qUpvoxy9oMeyFxpz2ret2ON88xvrIrMu\",\"2026-02-23 05:40:20\",{\"_23\":148,\"_21\":46,\"_73\":152,\"_104\":105,\"_106\":107,\"_108\":-5,\"_109\":-5,\"_110\":-5,\"_111\":-5,\"_112\":-5,\"_97\":113},\"/uploads/artifacts/1771825219339-Visualising_AI_Teaching_Light_00.jpg\",{\"_23\":149,\"_21\":46,\"_73\":154,\"_104\":118,\"_106\":119,\"_108\":-5,\"_109\":155,\"_110\":-5,\"_111\":-5,\"_112\":-5,\"_97\":113},\"/uploads/artifacts/1779554942671-teaching-models-preview.webp\",\"Teaching models\",{\"_23\":157,\"_38\":39,\"_40\":158,\"_42\":159},\"gHEbOBhRarUtZqLdkeZShd2Xjzok8Td3\",\"Exporting machine learning models\",{\"_23\":157,\"_44\":160,\"_21\":46,\"_47\":158,\"_48\":161,\"_50\":-5,\"_51\":30,\"_52\":10,\"_53\":-5,\"_54\":162,\"_56\":163,\"_58\":10,\"_59\":10,\"_60\":30,\"_61\":10,\"_62\":10,\"_63\":164,\"_73\":-5,\"_74\":-5,\"_75\":-5,\"_76\":-5,\"_77\":-5,\"_78\":-5,\"_79\":-5,\"_80\":-5,\"_81\":-5,\"_82\":-5,\"_83\":166,\"_85\":-5,\"_86\":167,\"_88\":-5,\"_89\":-5,\"_90\":91,\"_92\":93,\"_94\":-5,\"_95\":-5,\"_96\":-5,\"_97\":168,\"_99\":100,\"_101\":169,\"_114\":-5,\"_115\":171,\"_120\":-5},\"visualising-ai-export-light-00\",\"A render visualising how machine learning models can be packaged and deployed to a variety of use-cases. \\n\",\"#2d328f\",\"#b8c7ce\",{\"_65\":165},{\"_67\":30,\"_68\":69,\"_70\":71,\"_72\":30},\"artifact_media_gHEbOBhRarUtZqLdkeZShd2Xjzok8Td3\",\"artifact_preview_gHEbOBhRarUtZqLdkeZShd2Xjzok8Td3\",\"2026-02-23 05:39:42\",{\"_23\":166,\"_21\":46,\"_73\":170,\"_104\":105,\"_106\":107,\"_108\":-5,\"_109\":-5,\"_110\":-5,\"_111\":-5,\"_112\":-5,\"_97\":113},\"/uploads/artifacts/1771825181465-Visualising_AI_Export_Light_00.jpg\",{\"_23\":167,\"_21\":46,\"_73\":172,\"_104\":118,\"_106\":119,\"_108\":-5,\"_109\":158,\"_110\":-5,\"_111\":-5,\"_112\":-5,\"_97\":113},\"/uploads/artifacts/1773696492528-exporting-machine-learning-models-preview.webp\",\"autoAdvance\",{\"_21\":22,\"_23\":175,\"_25\":26,\"_27\":176,\"_29\":10},\"zcgdlcD8Yr3yI3lWABCMo57ZLgk6Kcna\",\"Before tools like LLMs became mainstream, we set out to make machine learning more approachable through a pragmatic, hands-on lens. As part of our work leading up to FieldDay, we focused on “classic” machine learning and the idea that anyone should be able to teach models through data, even if that concept still carried a learning curve at the time. To support this, we embedded education directly into our brand. Led by Nelson Schöller, we created a series of visualizations and a short film that translated core ML concepts into clear, intuitive visuals. These assets became a central part of our website and internal materials, helping shift the narrative around AI away from abstract, overused imagery toward something more grounded and understandable.\\n\",\"1OR33tpxt2ed3ceqmqCIjShpmek9AoIU\",\"visualising-ai\",\"Visualising AI\",\"date\",\"2021-06-13\",\"2026-06-09T18:48:36.490Z\",\"hidden\",\"seoDescription\",\"seoImageId\",\"disableQa\",\"category\",\"labs\",\"featuredAppStoreUrl\",\"projectFeaturedAppStoreUrl\",\"projectName\",\"projectTint\",\"headerImage\",{\"_73\":195,\"_47\":196},\"/uploads/artifacts/1771825080082-Visualising_AI_Comp_Light.mp4\",\"The machine learning process\",\"headerArtifact\",{\"_23\":199,\"_44\":200,\"_21\":201,\"_47\":196,\"_48\":202,\"_50\":-5,\"_51\":30,\"_52\":10,\"_53\":-5,\"_54\":203,\"_56\":204,\"_58\":10,\"_59\":10,\"_60\":30,\"_61\":10,\"_62\":10,\"_63\":205,\"_73\":-5,\"_74\":-5,\"_75\":-5,\"_76\":-5,\"_77\":-5,\"_78\":-5,\"_79\":-5,\"_80\":-5,\"_81\":-5,\"_82\":-5,\"_83\":207,\"_85\":208,\"_86\":209,\"_88\":-5,\"_89\":-5,\"_90\":91,\"_92\":93,\"_94\":-5,\"_95\":-5,\"_96\":-5,\"_97\":210,\"_99\":211,\"_101\":212,\"_114\":229,\"_115\":231,\"_120\":-5,\"_233\":-5,\"_234\":235,\"_239\":-5},\"8yPZkNXWN54JpcAsaZjKZhwNTQ1Hf3jS\",\"visualising-ai-comp-light\",\"video\",\"A series of visualizations depicting the core concepts of machine learning.\",\"#002e7a\",\"#b6c3cb\",{\"_65\":206},{\"_67\":30,\"_68\":69,\"_70\":71},\"artifact_media_8yPZkNXWN54JpcAsaZjKZhwNTQ1Hf3jS\",\"artifact_poster_8yPZkNXWN54JpcAsaZjKZhwNTQ1Hf3jS\",\"artifact_preview_8yPZkNXWN54JpcAsaZjKZhwNTQ1Hf3jS\",\"2026-02-23 05:38:03\",\"2026-08-31T19:34:16.827Z\",{\"_23\":207,\"_21\":201,\"_73\":195,\"_104\":213,\"_106\":214,\"_108\":-
13195,\"_109\":-5,\"_110\":-5,\"_111\":-5,\"_112\":215,\"_97\":113},1920,1080,[216,224],{\"_73\":217,\"_104\":119,\"_106\":218,\"_219\":220,\"_221\":222,\"_223\":10},\"/uploads/artifacts/1771825080082-Visualising_AI_Comp_Light-w800-muted.mp4\",450,\"bytes\",964898,\"codec\",\"h264\",\"hasAudio\",{\"_73\":225,\"_104\":226,\"_106\":227,\"_219\":228,\"_221\":222,\"_223\":10},\"/uploads/artifacts/1771825080082-Visualising_AI_Comp_Light-w1440-muted.mp4\",1440,810,3032484,{\"_23\":208,\"_21\":46,\"_73\":230,\"_104\":213,\"_106\":214,\"_108\":-5,\"_109\":196,\"_110\":-5,\"_111\":-5,\"_112\":-5,\"_97\":113},\"/uploads/artifacts/1773086130280-Visualising AI Comp Light-poster.webp\",{\"_23\":209,\"_21\":46,\"_73\":232,\"_104\":118,\"_106\":119,\"_108\":-5,\"_109\":196,\"_110\":-5,\"_111\":-5,\"_112\":-5,\"_97\":113},\"/uploads/artifacts/1778107366642-the-machine-learning-process-preview.webp\",\"quotePerson\",\"recognitionProject\",{\"_23\":93,\"_236\":237,\"_238\":-5},\"name\",\"Visualising Ai\",\"parentStory\",\"awardOrganisation\",\"seoImage\",\"seoAuthors\",[243,259,267],{\"_23\":244,\"_245\":177,\"_246\":247,\"_248\":71,\"_249\":250,\"_251\":252,\"_253\":254,\"_255\":256,\"_257\":258},\"MpdlS9hXTfocdIbm11SvxtT2rmWLgaWu\",\"postId\",\"personId\",\"0gcwRZkotLYKSi0sSctq31nkqyUIFdM5\",\"position\",\"personName\",\"Aaron Abentheuer\",\"personPhoto\",\"/uploads/people/1783878215137-1783878209664-profile.png\",\"personTitle\",\"Co-Founder\",\"personSlug\",\"aaron-abentheuer\",\"personType\",\"user\",{\"_23\":260,\"_245\":177,\"_246\":261,\"_248\":262,\"_249\":263,\"_251\":264,\"_253\":265,\"_255\":266,\"_257\":258},\"jeh6tCbvkp2eR4piN1NsxuKX1BLGeAtE\",\"bW4If9ty9OLLpmuN5vaRWkNIpgFu53eF\",1,\"Nelson Schöller\",\"/uploads/people/1783858742872-1774654206622-180ef87a-b87c-4ad9-add9-152cd756cf6c.png\",\"Industrial Designer\",\"nelson-schöller\",{\"_23\":268,\"_245\":177,\"_246\":269,\"_248\":270,\"_249\":271,\"_251\":272,\"_253\":254,\"_255\":273,\"_257\":258},\"G9B2ag2TQKsDgeVMgDGhjitLu45eb9IA\",\"5HqGAwaun28PnUHLwEAFhSM91Qo94Loa\",2,\"Gabriel Mitchell\",\"/uploads/people/1783806650623-1774365096228-Team_Gabriel_Mitchell_Team_Headshot.png\",\"gabriel-mitchell\",\"footerBackground\",\"footerAppearance\",\"light\",\"featuredApps\",[],\"tint\",\"origin\",\"https://newmaterial.ai\",\"headerIndex\",\"detailsUrl\",\"/api/story-details/visualising-ai\",\"actionData\",\"errors\"]\n");</script>
1319<!--$-->
1319<script>window.__reactRouterContext.streamController.close();</script>
1319<!--/$--><!--/$--></body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.