Personal Xbox Live online status API
with this personal API, you can export your personal Xbox Live status, including the game you are currently playing
An example of what I have made with this can be seen here:

This project had taken me a while to get done, and the cool part about it is that Autocode turned out to be the main solution. This is the source code for my Xbox widget:
HTML
<div id="gameCard">
<i class="ci icon-xbox custom_align_2" style="font-size:36px"></i>
<p class="custom_align h4">Playing <strong id="gameTitle"></strong></p>
</div>
JavaScript
function xboxFunct() {
fetch('https://agastonarii.api.stdlib.com/xbox@dev/') // replace with your AC API
.then(res => res.json())
.then(data => {
let dat = data.res[0];
if (dat.state === 'Offline') {
document.getElementById('gameCard').style.display = 'none';
} else {
document.getElementById('gameCard').style.display = 'block';
if (dat.devices[0].titles[0].placement === 'Full') {
document.getElementById('gameTitle').innerHTML = dat.devices[0].titles[0].name;
} else if (dat.devices[0].titles[1].placement === 'Full') {
document.getElementById('gameTitle').innerHTML = dat.devices[0].titles[1].name;
} else if (dat.devices[0].titles[2].placement === 'Full') {
document.getElementById('gameTitle').innerHTML = dat.devices[0].titles[2].name;
} else if (dat.devices[0].titles[3].placement === 'Full') {
document.getElementById('gameTitle').innerHTML = dat.devices[0].titles[3].name;
}
}
})
};
window.onload = xboxFunct;
setInterval(xboxFunct, 300000);
CSS
@font-face {
font-family: 'brands';
src: url('../font/brands.eot?6oh451');
src: url('../font/brands.eot?6oh451#iefix') format('embedded-opentype'),
url('../font/brands.ttf?6oh451') format('truetype'),
url('../font/brands.woff?6oh451') format('woff'),
url('../font/brands.svg?6oh451#brands') format('svg');
font-weight: normal;
font-style: normal;
font-display: block;
}
i.ci {
font-family: 'brands' !important;
speak: never;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-xbox:before {
content: "\e905";
}
#gameCard {
height: 100px;
width: 200px;
background-color: #3A3A3A;
color: #fff;
border: 2px solid #107C10;
box-shadow: 0px 0px 5px #3A3A3A;
border-radius: 5px;
font-size: 16px;
font-family: 'univers';
line-height: 1.5;
position: relative;
display: none;
}
.custom_align {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.custom_align_2 {
margin: 0;
position: absolute;
top: 50%;
-ms-transform: translateY(-50%);
transform: translateY(-50%);
margin-left: 5px;
}
.h4 {
font-family: 'univers';
}
resources: