Grant Jenkins

May 2026 · 4 min read

How I prototype game ideas quickly

Copilot
Game Dev
Workflow

The fastest path to a playable prototype is reducing scope aggressively. One mechanic, one objective, one short feedback loop.

I prioritize input feel and readability before adding content. If movement and responses feel good, the idea is usually worth expanding.

Accessing SharePoint Document Libraries with JavaScript (Microsoft Graph)

Modern SharePoint document libraries can be accessed programmatically using Microsoft Graph. The example below demonstrates how to retrieve files from a SharePoint library and prepare them for display in a modern UI.

/** * Retrieve files from a SharePoint document library using Microsoft Graph * Requirements: *  - Microsoft Graph JS SDK *  - Authenticated access token with Sites.Read.All or Files.Read.All */import { Client } from "@microsoft/microsoft-graph-client";import "isomorphic-fetch";// Initialize Microsoft Graph clientconst graphClient = Client.init({  authProvider: (done) => {    const accessToken = "<ACCESS_TOKEN>"; // Replace with your token    done(null, accessToken);  },});// SharePoint identifiersconst siteId = "<SITE_ID>";const driveId = "<DOCUMENT_LIBRARY_DRIVE_ID>";// Get files from the library rootasync function getLibraryFiles() {  try {    const response = await graphClient      .api(`/sites/${siteId}/drives/${driveId}/root/children`)      .select("id,name,lastModifiedDateTime,webUrl,size,file,folder")      .top(50)      .get();    return response.value.map((item) => ({      id: item.id,      name: item.name,      modified: item.lastModifiedDateTime,      url: item.webUrl,      type: item.folder ? "Folder" : "File",      sizeKB: item.size ? Math.round(item.size / 1024) : null,    }));  } catch (error) {    console.error("Error retrieving library files:", error);    return [];  }}// Example usagegetLibraryFiles().then((files) => {  console.table(files);});

Notes

  • siteId → SharePoint site identifier
  • driveId → Document library drive ID
  • Works for both files and folders
  • Suitable for SPFx, Node.js, or browser apps

After the core loop feels right, I add polish in small passes: sound cues, visual hierarchy, and small UX affordances.

prototype
iteration
feedback
mvp

Discussion

0 likes

Log in to like this post and leave a comment.

Comments (0)

Loading discussion...

← Back to posts