Community

Report issues, suggest improvements, or pitch ideas for new tiles.

Hey, I'm Marco.

mytile is a one-person side project. I got tired of checking ten different apps every morning, creating accounts everywhere, and trusting random services with my personal data. I couldn't find a single dashboard that just showed me everything I cared about without requiring a login — so I built one. It started as a thing for myself and kept growing until it felt worth sharing.

I have a full-time job, so development happens on evenings and weekends. I read every bug report and feature request, but it might take a while before I get to it. Thanks for your patience.

Discussions happen on GitHub — no account needed to browse, but you'll need one to post.
How it works
System Overview
Your Browser / PWA
Cloudflare Worker Stateless CORS proxy
KV Store Encrypted sync
External APIs Weather, stocks, ...
localStorage All your data stays here
Your Data & localStorage
localStorage All your settings, tiles, and data — stored in your browser
JSON Export Download a backup file from settings
JSON Import Restore from a backup file in settings
No account, no server database. Everything you configure — tiles, stocks, teams, health data, todos — is saved in your browser's localStorage. Your data never leaves your device unless you opt in to cloud sync.
Cloud Sync (optional)
Push
You edit data Saved to localStorage instantly
Debounce & throttle Batches rapid edits, max 1 push / 2 min
Browser encrypts AES-256-GCM + PBKDF2
Stored in KV Only ciphertext, no metadata
Pull
App starts or refreshes Automatic on every load
Fetch encrypted backup
Browser decrypts AES-256-GCM
Version compare Newer side wins, then reload
Restore
Enter sync code
Worker fetches ciphertext
Browser decrypts AES-256-GCM
Dashboard restored
Zero-knowledge: your sync code never leaves your device. The server only sees encrypted data. If you close the app with unsynced changes, an emergency push fires automatically.