The Sleep Blanket
The Sleep Blanket
A visualization of my son's sleep pattern from birth to his first birthday. Crochet border surrounding a double knit body. Each row represents a single day. Each stitch represents 6 minutes of time spent awake or asleep #knitting #crochet #datavisualization
The original plan was to crochet the entire blanket but I switched to double knitting because the data was much more clearly visualized and the color changes (of which there were literally thousands) were significantly easier
The body is made of four vertical panels seamed together. The seams are slightly less aesthetically pleasing but breaking it up made it more portable, easier to fix mistakes, and easier track progress
The sleep data was collected with the @babyconnect BabyConnect app which lets you export to CSV. The CSVs were filtered and converted into JSON (using Google Apps Script and Python) which could then be used for visualization and tracking
I built a tool in HTML/JavaScript so I could position stitch markers for the color changes and track overall progress. I made it browser based so I could pull it up on any device wherever I was
https://lagomorpho.com/patterntracker/
Some stats:
- Dimensions: 42" x 45", 244 x 370 stitches of double knitting
- Total including the border: about 185,000 stitches
- Time spent: about 300 hours (not including planning, practice, and development)
- Realtime: 104 days
I'll be posting more as I think of stuff but right now, I am just very, very relieved to be done. I'm incredibly pleased with how it came out and how close it came to my original vision. I think it's the best craft project I've made to date.
How to 'read' the blanket: It's top down, left to right. Top row is the day he was born, bottom row is his first birthday. Leftmost stitch is 12:00am. Rightmost stitch is 11:54pm. Blue is asleep and gray is awake on the 'front' side, reversed on the back
There's a bit of empty data at the beginning because those first few days were _rough_. I wrote some of it down but it never made it into the app. The incomplete data breaks my heart and will haunt me for the rest of my life
To collect the data, we used the @BabyConnect app to log all the times he was sleeping (among other things). It stores start and end times so I wrote a script to break that out in 6 minute intervals into a 366x240 table (there's a 2 stitch border around the whole body)
The shift in sleep at the end of the year was a trip across the country to visit family and celebrate his first birthday. I considered adjusting the timestamps but I decided to leave it as is because it's part of the story
The blanket depicts his first year but I just finished it and he's about to turn 2. I started planning/designing after his first birthday. There were many different versions/methods that I abandoned because they either didn't work at all or didn't convey the data clearly
I also had to refresh myself on knitting, learn double knitting, write the scripts for transforming the data, and build the tracker tool. There was just a ton of prep work and practice before I had any live stitches on needles
Despite the prep work taking months, it was all worth it because I barely had any problems or setbacks. Something like 98% of the time I was knitting, I was making forward progress
Watching it start to come together, especially as I was seaming it, was incredible. Seeing individual rows of color lining up with corresponding rows that I'd knit weeks/months earlier was intensely satisfying
All the disparate pieces felt really fragile but as I seamed it together, wove in loose ends, and removed stitch markers, it felt more and more sturdy. Something that I'd been handling like a delicate bird egg started to just feel like a blanket
There's nothing quite like the feeling of someone loving the thing you made for them