על האפליקציה
Drop היא אפליקציית רשת מתקדמת (PWA) שפותרת את הבעיה הכי מעצבנת בכרך — איפה השארתי את הרכב?
לחיצה אחת על כפתור גדול שומרת את המיקום ב-GPS. אופציונלית — תמונה של המקום, הערה קולית בעברית, וטיימר עם התראת push לפני שהחניה פוקעת. ניווט חזרה דרך Waze בלחיצה.
אפליקציה אמיתית. מותקנת. רצה אוף-ליין. כל הנתונים נשארים אצלך במכשיר.
לחצו לנסות בעצמכם → ofir.zbang.net/drop
האפליקציה רצה כאן בייצור — אפשר להתקין על המסך הבית של הטלפון, לתת הרשאת מיקום, ולחנות בפעם הבאה.
יכולות מרכזיות
- שמירת חניה ב-Geolocation — מיקום מדויק עם accuracy fallback, reverse geocoding לכתובת קריאה (Nominatim/OpenStreetMap).
- תמונת חניה אופציונלית — מצלמה ישירה דרך Capture API, נשמר כ-DataURL ב-IndexedDB.
- הקלטת קול בעברית — Web Speech Recognition עם
lang=he-ILותמלול חי. נופל ל-prompt רגיל בדפדפנים שלא תומכים. - טיימר עם התראת Push — Notifications API + ServiceWorker — מתריע 5 דקות לפני שפוקעת.
- מפה חיה (Leaflet + OSM) — מיני-מפה עם פין מותאם אישית, מציגה מרחק חי מהמיקום הנוכחי בעדכון רציף.
- ניווט חזרה ב-Waze — deep link ישיר; נפילה ל-Google Maps ב-desktop.
- שיתוף Web Share API — שיתוף הקואורדינטות לבני משפחה דרך WhatsApp/Telegram, עם fallback ל-clipboard.
- היסטוריה מלאה — כל החניות, עם משך, כתובת, תמונה, הערות. אפשר לנווט/למחוק/לייצא.
- גיבוי JSON — Export בלחיצה לשמירה מקומית.
ארכיטקטורת ה-PWA
- Service Worker עם 3 אסטרטגיות cache:
cache-firstל-tiles של מפה (עד 200 פריטים),cache-first-with-revalidateל-app shell,stale-while-revalidateל-CDN של פונטים ו-Leaflet. - IndexedDB schema עם indexes על
createdAtו-active— מילישניות לכל שאילתא, גם עם 1000+ חניות. - Manifest.webmanifest מלא: 3 אייקונים (
any+maskable), shortcuts ל"שמור" ול"היסטוריה",display: standalone,orientation: portrait, RTL native. - Vanilla JS, אפס תלויות — האפליקציה כולה ~32KB minified, נטענת תוך מילישניות.
- Geolocation watchPosition — מעקב חי אחרי המיקום הנוכחי כדי לחשב מרחק מהרכב בלי להתיש את הסוללה.
הפילוסופיה
אפליקציה זה לא feature list — זה מצב רוח שמשתנה כשמשתמשים בה.
Drop פותרת בעיה אחת בלבד, וכל אלמנט בה ממוקד ברגע אחד: הלחיצה על הכפתור הגדול. כל השאר אופציונלי. כל הנתונים נשארים מקומית — שום דבר לא נשלח לשרת.
פרטיות מוחלטת
- אין שרת backend. אין רישום משתמשים. אין tracking.
- כל המיקומים, התמונות וההקלטות נשמרים רק במכשיר ב-IndexedDB.
- כשאני בונה אפליקציות לעצמי או למשפחה — ככה זה צריך להיות.