OB
אופיר ברנס
Builder · TLV
חזרה לכל הפרויקטים
PWA · 2026 · Personal Project

Tip

PWA למחשבון חלוקת חשבון בקבוצות — סכום, טיפ, חלוקה לפי אנשים, שיתוף לוואטסאפ. 4 מטבעות

Tip

על האפליקציה

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 centralizedstate.bill, .tipPct, .ppl, .currencycompute() ו-updateDisplay() נקראים בכל שינוי.
  • IndexedDB עם 2 storeshistory (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#818cf8 periwinkle + #a5b4fc light + #1e1b4b deep 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.

· TECHNOLOGY ·
PWA Vanilla JS Intl.NumberFormat (multi-locale) Web Share API IndexedDB (multi-store) Vibration API Service Worker Live calculation engine

פרויקטים קשורים.

· YOUR PROJECT NEXT ·

הפרויקט הבא שלך?

בוא נדבר