Ace Naps

A quiet way to nap with Ace, wherever you are.
Stack
Nuxt, Supabase, Instagram API, Phaser
Status
Live on Instagram and YouTube. Uploader is invite-only.
Code
Public GitHub for the uploader and the loops
Ace Naps banner with a cream-and-white dog and the line A quiet way to nap with Ace, wherever you are

Why it exists

People kept asking how they could nap with Ace. I get to be with him every day, and I wanted to share that with everyone.

Part 1: the uploader

Friends and family I invite can photograph Ace napping and upload photos from their phone. The photos land in a Supabase queue. A scheduled cron job publishes them to Instagram @ace_naps through the Instagram API.

Nuxt for the invite-only upload UI. Supabase for the queue and the scheduled job. Instagram API for the daily post.

Ace, a fluffy cream-and-white dog, asleep curled up on a gray couch, his head resting on a black-and-white pillow with a green blanket behind himAce, a fluffy cream-and-white dog, napping curled up on a soft beige carpet with his eyes closed and the tip of his tongue peeking outAce, a fluffy cream-and-white dog, curled up asleep in a patch of sunlight on a navy patterned blanket, the tip of his tongue poking out

Part 2: the loops

Phaser stitches Ace's pixel-art animations into 15-minute loops, then those loops go up on YouTube. The Halloween one below is a longer cut: three hours of a cozy fall evening.

How it works

The uploader

  1. Photograph Ace napping
  2. Friends and family I invite upload from a phone
  3. Photos wait in a queue
  4. A cron job posts to Instagram

The loops

  1. Pixel-art animations of Ace
  2. Phaser stitches them into a 15-minute loop
  3. Rendered and uploaded to YouTube

Tech stack

  • Nuxt
  • Supabase
  • Instagram API
  • Phaser
  • YouTube

Where things stand

Ace is napping on Instagram, and the loops are up on YouTube. The uploader stays invite-only for people I share it with. The code for both parts is on GitHub.

Copyright © 2026