Virtual Christmas tree for sealed messages. Grow a fir, share an invite code, let friends hang ornaments with notes that stay locked until Christmas Day.
Built with Expo (SDK 57) to compete with Deco My Tree on the core loop: make tree → share → decorate → unlock on Dec 25.
| Deco My Tree | Pinepost |
|---|---|
| Account + email signup | Local profile name only |
| Server-backed trees | Offline invite codes (PINE1…) that carry a tree snapshot |
| Privacy policy mentions Wi-Fi BSSID / SSID collection | No network identity harvesting; data stays on device |
| Top 100 dashboard | Discover ranked by ornament count, plus seeded featured trees |
- Grow your tree – name, needle color (5), topper (5).
- Share invite – system share sheet with a portable
PINE1…code. - Join a tree – paste a code; hang ornaments with a private message.
- Christmas lock – ornament text sealed until local midnight Dec 25 (demo unlock in Settings for QA).
- Discover – ranked list including offline featured trees.
- Snow + SVG fir – Reanimated snowfall, layered canopy, tappable ornaments.
npm install
npm startThen press a / i / w for Android, iOS, or web.
npm run typecheck
node scripts/selfcheck.mjsScheme: pinepost://
Join path accepted by the paste field: pinepost://join/PINE1…
- Expo Router
- AsyncStorage persistence
- react-native-svg tree
- React Native Animated snowfall
Official Expo Skills are required for Expo/EAS work. See AGENTS.md and .cursor/skills/expo-stack/SKILL.md.
MIT