🍓

Sne's
Jar of Days

Hello, Sne 🌸

This little jar is all yours — a place to pour your days into, one sweet memory at a time. No rules, no pressure. Just you and your moments.

Good Morning, Sne ☀️

Capture today ·

S

Future Jar

Blank papers waiting
for your stories

Pick
Today
🍓
1.
Pick a paper
from Future Jar
2.
Write your
memory
3.
It moves to
Memory Jar

Memory Jar

Your beautiful
memories live here

Memo
ries
Calendar

Browse your memories by date

Timeline

Your journey of moments, Sne

Moods

Memories organized by how you felt

Settings

Customize your Jar of Days

Dark Mode
Switch to a night theme
Days ahead in Future Jar
How many days to show
Your stats
You have 0 memories saved
🍓
☁️ Cloud Sync (Google Sheets)
Connect a Google Apps Script to save your memories to Google Sheets — they'll survive refreshes, device switches, and forever. How to set this up →
Your Apps Script Web App URL
Clear all memories
This cannot be undone, Sne
☁️ Set up Cloud Sync
Save memories to Google Sheets — free, forever
Step 1: Go to script.google.com and click New Project.

Step 2: Delete everything in the editor and paste this code:
const SHEET_NAME = 'Memories'; function doGet(e) { const action = e.parameter.action; if (action === 'load') return load(); return ContentService.createTextOutput( JSON.stringify({ok:false,error:'unknown action'}) ).setMimeType(ContentService.MimeType.JSON); } function doPost(e) { const data = JSON.parse(e.postData.contents); if (data.action === 'save') return saveData(data.memories); return ContentService.createTextOutput( JSON.stringify({ok:false,error:'unknown action'}) ).setMimeType(ContentService.MimeType.JSON); } function getSheet() { const ss = SpreadsheetApp.getActiveSpreadsheet() || SpreadsheetApp.create('SneJarOfDays'); let sheet = ss.getSheetByName(SHEET_NAME); if (!sheet) { sheet = ss.insertSheet(SHEET_NAME); sheet.appendRow(['data']); } return sheet; } function load() { const sheet = getSheet(); const rows = sheet.getDataRange().getValues(); if (rows.length < 2) return ok({memories:[]}); try { return ok({memories: JSON.parse(rows[1][0])}); } catch(e) { return ok({memories:[]}); } } function saveData(memories) { const sheet = getSheet(); sheet.clearContents(); sheet.appendRow(['data']); sheet.appendRow([JSON.stringify(memories)]); return ok({saved: true}); } function ok(obj) { return ContentService .createTextOutput(JSON.stringify({ok:true,...obj})) .setMimeType(ContentService.MimeType.JSON); }
Step 3: Click Deploy → New deployment. Choose type Web app. Set Execute as: Me and Who has access: Anyone. Click Deploy and copy the URL.

Step 4: Paste the URL into the box in Settings and click Connect. Done! 🍓

Your memories are stored privately in a Google Sheet in your own Google account. Only you can access them.
Memory