על האפליקציה
Tip הוא מחשבון bill split — האפליקציה הראשונה בפורטפוליו ה-PWA שלי בלי חיישנים. רק UI design ו-logic טהורה. הכי שימושית, אבל הכי מעוצבת.
הזן סכום, גרור slider לאחוז הטיפ, בחר מספר אנשים — וקבל מיד כמה כל אחד משלם. שיתוף ב-WhatsApp הופך את החישוב להודעה מסודרת:
🧾 חישוב חשבון
━━━━━━━━━━
הזמנה: ₪380.00
טיפ 18%: ₪68.40
━━━━━━━━━━
סה״כ: ₪448.40
חלוקה ל-4 אנשים
👤 כל אחד: ₪112.10
לחצו לנסות בעצמכם → ofir.zbang.net/tip
האפליקציה רצה כאן בייצור — אפשר להתקין על המסך הבית. עובדת אוף-ליין מהפעם הראשונה.
יכולות מרכזיות
- 4 מטבעות מובנים — שקל ₪, דולר $, יורו €, ליש״ט £. עם locale-aware number formatting (
Intl.NumberFormat). - Tip slider + quickset — slider 0-30% עם 7 קיצורים נפוצים (0/10/12/15/18/20/25%).
- People counter — כפתורי +/− לעדכון מהיר, או quickset (1/2/3/4/5/6/8/10).
- Live calculation — כל שינוי מתעדכן מיד ב-summary, חישוב per-person big.
- Share to WhatsApp — Web Share API עם fallback ל-clipboard. הודעה מעוצבת עם separators.
- שמירת חישובים — תן שם ("ארוחת ערב במסעדה", "טיול חברים") → IndexedDB. טעינה מחזירה את כל המצב (סכום + טיפ + אנשים + מטבע).
- מטבע persistent — ההעדפה שלך נשמרת ב-IndexedDB, נטענת בכל ביקור.
ארכיטקטורת ה-PWA
Intl.NumberFormat— formatting per locale (he-IL, en-US, de-DE, en-GB) עם fixed 2 decimals.- State centralized —
state.bill, .tipPct, .ppl, .currency—compute()ו-updateDisplay()נקראים בכל שינוי. - IndexedDB עם 2 stores —
history(calculations) +settings(currency preference). - Service Worker — cache-first-with-revalidate ל-shell, stale-while-revalidate ל-CDN.
- Vibration feedback — בלחיצה על quickset chips, לחישוב מהיר עם feedback haptic.
- Vanilla JS, אפס תלויות, כ-25KB total.
עיצוב
- פלטה periwinkle/indigo —
#818cf8periwinkle +#a5b4fclight +#1e1b4bdeep indigo. בחירה מכוונת — צבעים רגועים ולא agressive שיתאימו למצב של חישוב חשבון בסוף ארוחה. - Bill input ענק — font-size 48px, font-weight 200, tabular nums, gradient symbol.
- Summary card מודגש — gradient violet עם glow אמביינטי, big number 56px לסכום per-person.
- Sliders ו-quicksets — segmented controls יפים עם active state ב-periwinkle.
שימושים
- ארוחת ערב במסעדה — מי שילם, מי לא, סיכום מסודר לכולם.
- טיולי חברים — חלוקת הוצאות שווה.
- אירועים משפחתיים — חישוב לבנים/לחתנים שבאו.
- שותפי דירה — חשבונות חודשיים.
הכל נשמר רק במכשיר שלך. אפס שרתים, אפס tracking.