TPASS.calc
Monthly pass break-even tool
Only for iPhone
Free · In‑App Purchases · Designed for iPhone. Not verified for macOS.
Still deciding whether that TPASS monthly pass is worth it? Bought one but no idea when it pays for itself?
TPASS.calc is your personal commute accountant — supporting 20 monthly pass plans across Taiwan, plus the THSR Periodic Ticket!
Built for pass holders, packed with powerful features:
【Automatic Fare Calculation】 No more typing in amounts! Built-in fare database covering Taiwan's metro, TRA, THSR, light rail, city buses and intercity coaches — 11 transport types and city bus networks across all 21 counties. Just pick your origin and destination, and the official fare is filled in automatically. Logging a trip takes two taps.
【Precise Break-Even Tracking】 Your daily spending adds up automatically, paired with a visual dashboard and break-even progress ring — see at a glance how close you are to earning back your pass. Every ride counts!
【Smart Transfer Discounts】 Our rules engine automatically applies transfer discounts for every plan nationwide, handling county-specific rules and resident-only discounts for you. No more working out deductions by hand.
【Voice Quick Entry】 Just say "MRT Zhongxiao Fuxing to Taipei Main Station" and it's logged. Powered by Apple Intelligence for smart parsing — perfect for when your hands are full.
【Automatic Trip Detection】 Head out and ride: the app detects your movement in the background with low power usage. On arrival, it prepares a suggestion card with fares and transfer discounts already calculated — one tap to confirm and log.
【Multi-Modal Route Planning】 Enter your origin and destination to search routes across metro, TRA, bus and coach in one go, complete with transfer details and fare estimates. Plan your trip before you leave — and log it while you're at it.
【Home Screen Widgets】 Keep an eye on your break-even progress right from your Home Screen and Lock Screen. The quick-log widget lets you record a trip in one tap, without even opening the app.
【In-Depth Analytics】 The Commute Heatmap and Break-Even Race analyze your weekday and weekend riding habits, turning your data into visuals that reveal exactly where your transit spending goes.
【Commuter DNA Achievements】 Are you a Taipei Metro addict or a TRA regular? Unlock badges based on your riding habits and turn routine logging into a game full of surprises.
【Your Data, Your Control】 Stored locally on your device, with iCloud backup and CSV import/export supported. Your data stays yours.
Not a pass holder? We offer a flexible plan too — track your commute spending however you like!
Download now, take command of your commute data, and get the most out of your pass!
Terms of Use (EULA): https://tpass-app-ios.web.app/terms.html
Privacy Policy: https://tpass-app-ios.web.app/privacy.html
more Ver 2.7.1 Update Notes
【Lock Screen Widgets】
・Fixed an issue where the “Select Cycle” menu could briefly appear and close immediately
・When no cycle is available, the menu now shows “Automatic (Active Plan)” instead of appearing empty
・Added an “Automatic” cycle option, allowing you to switch back to automatic selection after manually choosing a cycle
・Improved Pro entitlement syncing and the reliability of cycle selection
【Cycles & Data Management】
・Deleting a cycle now also handles trips that belong to that cycle, preventing inaccessible leftover data
・The number of trips that will be deleted is now shown before confirming cycle deletion
・Improved trip handling for overlapping cycles to reduce the chance of deleting trips that may belong to another cycle
・Fixed an issue where leftover trips from deleted cycles could still affect frequent-rider rewards, annual totals, and payback calculations
【Settings & Interface】
・Added the “Habitual Route Auto-Recording” entry back to the Settings page
・Updated the transfer information page to hide transfer details for discontinued transport types
・Fixed layout issues in Backup Management
・Fixed other interface details and stability issues
【Others】
・Fixed the price and currency display on the subscription page
・Fixed the student fare calculation for Kaohsiung four-digit highway buses
2.7.1 15h ago
Ver 2.7.0 Update Notes
【Subscription】
・Added a Pro annual plan, allowing you to freely choose between monthly and annual billing
・Added Pro expiration reminders. Users who have canceled auto-renewal will receive a notification before their subscription expires
【Fare Calculation & Pass Cycles】
・Improved trip assignment and fare calculation when multiple passes or plans are active at the same time
・Trips within the HSR Pass valid section are calculated using non-reserved seat fares, while trips outside the valid section use reserved seat fares and are assigned to the Flexible Cycle
・Switching HSR or TRA ticket types now instantly recalculates the fare and trip assignment
・Fixed station validation for Tainan「TRA ↔ Bus」transfer discounts
・Fixed an issue where previous transfer discounts were not recalculated after deleting or modifying a trip segment
・Automatically detected TRA trips are now correctly treated as electronic fare card trips
【Automatic Trip Detection & Notifications】
・Improved automatic trip recording and notification confirmation when multiple plans are active
・「Multi-Plan Assignment」now provides a unified setting for both habitual route auto-recording and trip confirmation from notifications
・Fixed an issue where long-pressing「Confirm Trip」in a notification did not respond immediately
・Notifications now indicate which ticket type was used to calculate the fare
・Fixed an issue where automatically recorded trips could display a seat type or TRA ticket label that did not match the calculated fare
・Announcements and Pro Support notifications are now enabled by default. If you previously turned them off manually, your setting will remain unchanged
・Fixed an issue where some notification preferences were not saved correctly during initial setup
・Pending trips now support ticket type switching, allowing you to directly select HSR non-reserved/reserved seats, as well as TRA electronic fare cards and different train types
【Voice Trip Logging】
・Improved an issue where the end of a sentence could be missed when stopping a recording
・「Just now」is now correctly interpreted as 5 minutes before the current time
・Improved recognition of transfer phrases, route numbers, and station names
・If recording cannot start or recognition fails, the reason will now be displayed and you can switch directly to manual input
【Interface & Usability】
・「Quick Home」and「Quick Out」are now always displayed. If no stations have been configured, tapping them will take you directly to setup
・Fixed an issue where the top of the first trip could be clipped when switching cycles
・Fixed an issue where HSR, TRA, Airport MRT, and light rail stations were incorrectly restricted when adding trips to a Flexible Cycle
・Improved the tappable area of the「Confirm Trip Assignment」button
・Fixed other interface details and stability issues
・Added a dedicated card icon for the HSR Pass
2.7.0 6d ago
【Ver 2.6.0 What's New】
● Cross-System Transit Voice Recording
・Supports cross-system origin/destination voice input (e.g., "Light Rail Fisherman's Wharf Station to Metro Guting Station"), automatically split into two segments with official fares calculated.
・Automatic transfer discounts for Greater Taipei systems (Taipei Metro ↔ New Taipei Metro).
・Supports transfers across Taipei Metro, New Taipei Light Rail/San-Ying Line, Kaohsiung Metro ↔ Kaohsiung Light Rail, and Taipei Metro ↔ Taoyuan Airport MRT.
・Clear labeling with one-tap restore to single segment; prompts to mention transfer stations if direct connection is unavailable.
・Auto-mapping for corresponding cross-system station names in Kaohsiung (e.g., Light Rail Cianzhen Star / Metro Kaisyuan).
● San-Ying Line Support
・Includes 12 stations from LB01 Dingpu to LB12 Yingtao Fude, supporting ride logging, station selection, and auto-fare calculation.
● Enhanced Voice Recording Experience
・Saying "Metro" auto-detects the system based on station names (e.g., "Metro National Taipei University to Dingpu" auto-maps to San-Ying Line).
・Saying "Light Rail" directly maps to Danhai and Ankeng Light Rail; short station names (e.g., "Fisherman's Wharf") are accurately recognized.
・Supports voice recognition and auto-pricing for TRA train types (Chu-Kuang, Tze-Chiang, Taroko, Puyuma, Tze-Chiang Non-reserved) and THSR seating (Non-reserved, Reserved).
・Fixed recognition issues caused by transport terms, time phrases, or words like "Transfer Station" sticking to station names.
● Automated Plan Assignment & Cycles
・Remembers selected plans for frequent routes and auto-applies them upon renewal.
・Quickly added rides determine available cycles based on date, transport type, fare category, and route segment; prompts clear selection when multiple plans overlap.
・Logged rides can be moved directly to other compatible plans.
● Flexible Plans Support TRA Standard Tickets
・Added support for TRA standard paper/digital tickets (non-IC cards), auto-calculating fares for Local, Chu-Kuang, Tze-Chiang, and Tze-Chiang Non-reserved trains.
・Standard tickets are categorized exclusively under "Flexible Tracking" to avoid skewing TPASS return rates or frequent rider discount statistics.
● In-App Announcements
・Added an announcement entry on the home screen to receive important updates from the dev team, supporting push notifications and unread badges.
● Optimizations & Fixes
・Kaohsiung Bus Zonal Fares: Reverted to cumulative price difference method when exact fares are unavailable for flat-rate routes.
・Auto-Detection: Expanded co-location detection coverage; fixed issues with Airport MRT Taipei Main Station transfers to Taipei Metro.
・Accessibility Support: Added VoiceOver support for dictation and voice recording flows; optimized layout scaling for large text.
・Menu Isolation: THSR Periodic Pass and Flexible Cycle station menus operate independently to prevent misinherited route restrictions.
・Widget Fixes: Resolved lock screen return rate widget showing 0% under multiple active plans, and fixed instant collapse issue in Pro menu loading.
・Advanced Features: Removed Beta tag from Route Planning and Auto-Detection features.
2.6.0 Aug 6
This update introduces a brand-new pass renewal feature and interface optimizations, along with bug fixes and adjustments for iOS 27:
• One-Tap Pass Renewal: All users can now renew their pass with a single tap within 3 days before expiration. Renewal automatically creates a new cycle starting the next day, retaining the original plan, card, and THSR station settings.
• Expiration Reminders & Auto-Switching: Updated expiration notification copy—tapping the notification takes you directly to the Cycles page. When the currently viewed cycle expires, the App will automatically and seamlessly switch to the new active cycle.
• Active Cycle UI Redesign: Active cycle cards now highlight the plan name with theme colors and a bold border, making the overall interface cleaner and clearer at a glance.
• Chart Tooltip Fix: Resolved an issue where data tooltips could overflow card boundaries when dragging across charts.
• Tooltip Alignment Calibration: Calibrated tooltip positioning so it now aligns more accurately with where you point.
• iOS 27 Compatibility Adjustments: Made compatibility adjustments for iOS 27 to ensure layouts display correctly in resizable windows.
2.5.0 Aug 2
This update revamps Lock Screen widgets, optimizes large text accessibility layouts, and delivers a smoother subscription experience:
• Lock Screen Widget Fixes: Resolved issue where widget data failed to auto-update, fixed blank preview boxes, and corrected remaining day calculations. "Today's Trips/Amount" now resets automatically at midnight, with adjusted background textures for better visual contrast.
• Customizable Widget Cycles (Pro Feature): Customize Lock Screen widgets to display specific pass cycles by long-pressing the widget. Supports multiple widgets for different plans, auto-switches to active cycles upon expiration, and clearly displays plan names.
• Large Text Layout Improvements: Significantly fixed layout overlapping and clipping when dynamic type is enlarged across trip creation, editing, quick-logging forms, and onboarding flows.
• Redemption Code Fixes: Resolved an issue where the paywall failed to unlock instantly after redeeming a code. Features will now automatically unlock right after successful redemption.
2.4.1 Jul 30
Thank you for using TPASS.calc! This update brings brand-new transit mode categories, support for New Taipei Metro rewards, and several interface and functional optimizations:
• Separated Light Rail Transit Modes: Added independent categories for "New Taipei Metro" (including Danhai LRT, Ankeng LRT, and Sanying Line [coming soon]) and "Kaohsiung Light Rail", no longer sharing the legacy light rail option. Existing light rail records will be safely migrated automatically.
• New Taipei Metro Annual Rewards: Added calculation for New Taipei Metro annual accumulated rewards ($50 reward for every $200 spent), with historical migrated trips retroactively included in the total.
• Voice & Route Planning Adaptation: Voice logging, auto-detected trips, and multi-modal route planning now fully support the new transit modes with more precise voice recognition and accurate light rail fare estimations.
• Reward Calculation & UI Optimizations: R1/R2 reward details are now presented as progress bars, making tier levels and break-even calculations clear at a glance; theme color schemes have also been updated for better visual distinction.
• Pro Subscription: Added a "Redeem Code" entry point to the subscription screen.
• TRA Logging Fixes: Fixed location detection functionality, station card styling, and text display issues for TRA stations on the trip editing page.
2.4.0 Jul 28
This update brings improvements to the "Pro Support" feature, adding a new image attachment capability to help you communicate with us more efficiently.
• Screenshot Uploads: You can now upload images directly in support threads to easily illustrate any issues you encounter (e.g., error screens).
• Privacy & Permissions: We use the native system photo picker, so no additional photo library permissions are required. To protect your privacy, all EXIF and GPS data are automatically stripped, and images are compressed before uploading.
• Data Saving: Attachments are displayed as cards by default and are only downloaded and cached when tapped, preventing unnecessary cellular data usage.
• Storage Cleanup: When you delete a support thread, all associated image attachments are automatically and permanently removed.
• Backward Compatibility: Support threads created prior to this update seamlessly support receiving and displaying images sent by our support team.
2.3.1 Jul 27
This update introduces a brand-new Pro Support feature and significantly improves the trip segmentation logic in Auto Trip Detection:
● New Feature: Pro Support
TPASS Pro subscribers can now have two-way conversations directly with the development team, with priority responses and ongoing progress tracking — available alongside the existing one-way issue reporting. The conversation view auto-refreshes when both sides are online, no manual pull-to-refresh needed. Cases with unread replies are highlighted so you can spot what needs attention at a glance.
● Auto Trip Detection: Major Segmentation Improvements
A new, independent segmentation engine now decides whether a trip should be split into a transfer, instead of relying solely on system-detected stops — traffic-related mid-trip stops are no longer mistaken for transfers, and genuinely quick transfers are no longer incorrectly merged into a single leg. If a suggestion looks wrong, a one-tap pill button lets you switch between "single leg" and "two legs," and your correction is remembered for the same route going forward.
Also fixed an issue where MRT trips could be misidentified as "MRT-to-bus" combinations, now only suggesting a split when there's clear evidence of a mid-trip stop; and improved the efficiency and merge logic for mixed-mode transfers to prevent duplicate entries.
● Interface Adjustment
The inbox toolbar has been reorganized — "Clear All Pending Trips" has moved to the bottom of the list so the screen title displays properly.
2.3.0 Jul 27
This update introduces the all-new "Auto-Log Frequent Routes" and "Missed Trip Reminders," along with several bug fixes and performance improvements.
● New Features & Key Improvements
・Auto-Log Frequent Routes (Pro Only): Set your frequent or daily commute routes as "Frequent Routes," and detected trips will be automatically logged without manual confirmation! You'll receive a notification upon logging (press and hold to reject), and a 24-hour undo option remains available in your Inbox. (Enable via the Inbox toolbar)
・Smart Missed Trip Reminders: Automatically estimates your expected daily trips based on your last 8 weeks of activity. If your daily log count is lower than expected, it gently reminds you to add missing trips—smartly excluding holidays and days off.
・Onboarding Flow: Easily select and set up your Frequent Routes right on the final page of the onboarding guide for a smoother start.
● Bug Fixes & Enhancements
・Cross-Pass Protection for Favorite Routes: Fixed an issue on the Favorite Routes page. Routes not applicable to your current active pass will now be dimmed and labeled, preventing accidental logging from affecting your statistics.
・Fixed an issue where the DatePicker lost focus unexpectedly during manual input.
2.2.0 Jul 23
This update improves stability across subscriptions, backup, widgets, and voice logging:
• Subscription status is now re-verified when returning to the app, preventing background Auto Trip Detection from silently stopping due to a temporary read failure being mistaken for a cancellation
• The app now remembers your last selected billing cycle, so it no longer jumps back to the most recent one every time you open the app or a notification
• Backups now include transit card data and custom transfer discount amounts, so restoring after a device change or reinstall is more complete
• Fixed an issue where the Lock Screen widget could show the payback rate for the wrong cycle when multiple plans were active, and today's trip count wasn't refreshed immediately after midnight
• Voice logging transfer detection now checks the time gap between legs, preventing transfer discounts from being incorrectly applied to trips separated by many hours
• Fixed several voice logging time-parsing issues, including "half past X," time being overwritten by fare amounts, and "12 AM" being misread as noon
• Fixed a rare issue where out-of-order location samples could cause an entire trip to be incorrectly discarded during detection
• When Auto Trip Detection identifies multiple possible transport modes, confirming a trip now correctly assigns it to the matching plan cycle
• Unified the notification long-press menu behavior for a more consistent experience
2.1.2 Jul 22
This update improves voice logging accuracy and fixes several transfer discount calculation issues:
● Voice Logging Improvements
MRT station name recognition is now more accurate for non-Taipei plans (e.g. Kaohsiung, Taichung), no longer defaulting to Taipei Metro. Transfer discounts are now verified against actual rules before being applied, preventing incorrect discounts on combinations with no transfer benefit (e.g. TRA-to-TRA transfers, exiting and re-entering the same MRT system)
● Transfer Discount Corrections
Taichung's "Double Ten" transfer now uses the correct fare-cap calculation (free within 10 km, NT$10 beyond); Hsinchu transfers are now discounted to fully free; bus-to-bus transfer discounts are auto-applied only in the Taipei/New Taipei area, with other counties (e.g. Taichung, Hsinchu) now prompting for manual confirmation due to distance or jurisdiction rules that can't be reliably determined; trips with longer transfer windows (Hsinchu: 4 hours, Yilan: 6 hours) now correctly detect the preceding leg and apply discounts; fixed an issue where HSR trips could incorrectly receive bus transfer discounts
● Guide Page and UI Adjustments
The transfer discount guide now shows which counties each discount applies to, making multi-county plans easier to understand; location permission warning cards now use a more visible themed red style
● Widget Fixes
When multiple plans are active, quick-log buttons for trips that don't apply to the currently displayed cycle are now shown grayed out and disabled, preventing trips from being logged to the wrong plan; fixed widgets not being localized into English and showing mixed Chinese/English text
2.1.1 Jul 19
This update is packed with major features! With new support for automatic cloud backups, High Speed Rail periodic tickets, and the ability to run multiple plans simultaneously, TPASS.calc is now even closer to your real-life needs.
● iCloud Automatic Backup: Never worry about losing your data again
Once enabled, the app will automatically back up your data whenever it returns to the foreground or launches. If your content hasn't changed, it won't upload duplicate files. You can customize the backup retention period (7 / 30 / 90 / 180 days or keep permanently) and pin important backups so they are never cleared. (Exclusive TPASS Pro feature)
● Brand New Plan: HSR Periodic Ticket
Simply set your starting and ending stations for the purchased route, and the app will automatically calculate the periodic ticket price. When logging expenses, you can input your outbound/return trips and fares with a single tap. It also flexibly accommodates getting on or off at intermediate stations, making expense tracking effortless for HSR commuters.
● Run Multiple Plans Simultaneously
Whether it's a combination of TPASS and an HSR periodic ticket or other plan arrangements, they can now all be active at the same time! Expense tracking, voice logging, automatic detection, and route planning will all automatically determine which plan they belong to. The home screen also features a new swipable dual-arc design, allowing you to swipe left or right to seamlessly check the break-even progress of each plan.
● Smarter and More Reliable Automatic Trip Detection
• When there is an issue with location permissions, the app will proactively notify you and provide step-by-step graphic guides to help restore normal detection, ensuring you never mistakenly think the feature is broken.
• A thoughtful reminder during initial setup: After selecting "Always Allow" for location services, iOS might ask you again later; we're letting you know ahead of time so you don't panic.
• Transfer trips between different networks, such as Taiwan Railway to the MRT, can now be identified with much higher accuracy.
● Other Optimizations
• Citizen-exclusive transfer discounts (e.g., Taoyuan Airport MRT ↔ Bus) have been changed to proactive prompts, ensuring the discounts are only applied to eligible users.
• The expense tracking transit list displays more stably, and dashboard scrolling is now smoother.
2.1.0 Jul 18
This update comprehensively adjusts the bus fare calculation mechanism and significantly optimizes the accuracy and multi-plan concurrency of automatic trip detection, bringing you a more stable commute recording experience.
● Bus Fare and Data Corrections
• Fare Stage Calculation Optimization: Fixed an issue where certain multi-stage bus routes repeatedly calculated stages, eliminating instances where the same buffer zone was mistakenly split into multiple stages.
• Resolution of Cross-County Route Code Collisions: Fixed fare calculation errors caused by route code collisions across Taiwan, which are now billed separately by county to prevent mutual interference.
• Restoration of Correct Fares: Formally restored the correct fare information for affected routes.
• Nationwide Data Remaking: Re-produced nationwide bus routes, fares, and geographic data using the newly revised data processing workflow.
● Automatic Trip Detection Optimizations
• Mode Priority Setting: Added a custom preference ordering feature. When multiple potential transport modes are detected simultaneously, you can determine the main suggestion order based on your preferences.
• Multi-Plan Concurrency Support: Full support for using multiple plans simultaneously (such as cross-county commuting or switching places of residence). The system automatically collects candidate trips according to each plan's coverage, determines the assigned plan, and applies the correct fare regions and transfer rules.
• Strict Boundaries for Plan Coverage: Passenger transport (intercity bus) trips now require both boarding and alighting points to fall within the counties covered by the plan, preventing routes outside the plan's range from being misjudged.
• Background Mechanism and Stability Improvements:
- Added a background detection diagnostic logging mechanism to retain event traces even during brief background execution, making problem troubleshooting easier.
- Fixed an issue where background monitoring could trigger repeatedly in a short period upon startup.
- Added historical comparison transport mode protection to ensure comparison results do not exceed the transport modes covered by the currently active plan.
2.0.1 Jul 17
Introducing TPASS.calc Pro — Smarter Travel Starts Here
Tired of cross-checking timetables, guessing fares, and calculating transfer discounts by hand? Two brand-new advanced features take the guesswork out of getting around — so all you have to do is go.
● One Search, Every Way to Get There
MRT, rail, bus, or intercity coach — we've got it covered. Just enter where you're starting and where you're headed, and get the best route, fare, and transfer discounts in one glance. Know your way before you walk out the door.
● Ride First, Log Later — Automatically
Your trips get quietly tracked in the background, low-power and unobtrusive. The moment you arrive, a ready-to-review suggestion appears — fare and transfer details already worked out. One tap to confirm, and it's logged. Nothing happens automatically, your location never leaves your device, and you're always the one in control.
Both features come with the all-new TPASS.calc Pro subscription. Upgrade now and make every trip effortless.
2.0.0 Jul 16
This update brings performance improvements and various detailed optimizations to voice logging.
● Performance Upgrades
• Smoother operations: Significantly improved the responsiveness of app launches and switching from the background to the foreground. Optimized the background data update mechanism to resolve stuttering issues during screen loading.
● Voice Parsing Enhancements
• More precise transfer recognition: Fixed an issue where voice parsing occasionally missed transfer segments, and ensured that the starting station of a transfer correctly inherits the destination of the previous segment, eliminating redundant words like "Bus No.".
• Auto-correct stop names: Enhanced the comprehension of route numbers and stop names. It now automatically corrects repeated words generated by voice recognition (such as redundant "intersection" terms when reading a full road name) into the correct stop name, and fixes route number misidentifications.
● Interface & Experience Optimizations
• Safer deletion confirmation: When deleting a tracking cycle, the warning alert will now explicitly display the "Plan" and "Cycle Name (or Date Range)" being deleted. This allows you to clearly identify the target before confirming, preventing accidental deletions.
1.20.1 Jul 1
This update brings a major overhaul to the CSV export / import experience!
● Brand New CSV Experience, More Intuitive Management
• User-Friendly Export Format: Exported CSVs now feature complete Chinese headers, along with highly readable transport modes and cycle names. They are crystal clear when opened in Excel or Numbers, and these files support flawless re-importing!
• Dedicated Import Template: Want to manually build a file but don't know where to start? You can now directly download an "Import Template" that keeps only the required fields and includes sample data. Just follow the format!
● New "Record Review Hub" for Worry-Free Imports
• Preview Before Saving: No more blind imports! The system will now parse your data into a draft and open a review screen. You can specify a "Target Cycle," and each row will be instantly validated. Once confirmed, you can batch import them all at once.
• Smart Error-Prevention & Debugging: Automatically blocks unsupported transport modes and dates outside the cycle period.
Built-in Geographic Validation: Routes clearly outside of TRA boundaries or city/county bus jurisdictions will be blocked (though we've kept some tolerance for manually typed station names).
Automatically flags and skips duplicate data, so you don't have to worry about double counting!
● High Flexibility & Compatibility
• Doubtful data is "unchecked" by default, but you can still manually correct or force-import it (except for completely unparsable data, where the system will tell you the exact reason).
• Highly Tolerant Header Matching: Allows for column reordering, mixed Chinese/English, case differences, and accepts various date formats.
• Backward Compatibility: CSV files generated by older versions can still be imported smoothly for a seamless transition!
● UI Experience Optimization
• Adjusted the display position of Dashboard Toast notifications to prevent overlapping with buttons, making the interface cleaner and smoother to use.
1.20.0 Jun 28
Thanks for using our app! This update brings the highly anticipated interactive desktop widgets, along with major optimizations for voice logging and multi-pass support.
● Brand New Feature: Interactive Widgets
• One-Tap Quick Log: Added new "Quick Log" Home Screen widgets (Medium/Large sizes). You can turn your frequent commute routes or combinations into shortcut buttons to log a trip with a single tap directly from your Home Screen—no need to open the app.
• Fully Customizable Content: Long-press the widget to edit, choose which commuter pass cycle to display, and add up to 3 Quick Log buttons. Home Screen and Lock Screen widgets now also support displaying specific cycles.
• Instant Visual Feedback: After successfully logging a trip via the widget, the button will instantly change to a "Logged" status, making it perfectly clear at a glance.
● Major Voice Logging Upgrades
• More Stable Editing: Completely fixed a bug where the screen could unexpectedly jump or crash due to background refreshes while editing voice transcripts. The app now enters a secure static state once you enter editing mode until you save.
• UI Visual Optimizations: Enhanced the visual design of text fields and action buttons for clearer guidance. You no longer have to worry about the card going completely blank or leaving you stranded after clearing all text.
• Precise Date Recognition: Significantly corrected and completed the parsing logic for relative dates in voice input (e.g., three days ago, two days ago, yesterday, last night, tomorrow, day after tomorrow, etc.), making time recognition much more accurate.
● Multi-Pass Support & Detail Optimizations
• Independent Multi-Pass Notifications: The system now fully supports scenarios where "multiple commuter passes are active simultaneously!" Expiration reminders, 2/3 progress warnings, and payback milestone notifications are now calculated and sent independently for each pass, preventing them from overwriting one another.
• Auto-Refresh on Foreground: The app will now automatically re-check notification permissions when returning to the foreground, ensuring you never miss a payback notification.
• Improved Route Editing: When changing a bus or highway coach "Route Number," the system will intelligently retain applicable origin/destination stop names instead of unconditionally wiping them out. We also fixed an issue where manually entered fares would accidentally reset to zero under specific operations.
• Synced Cycle Reminders: Fixed an issue where expiration reminders did not instantly sync after editing or deleting a pass cycle. Deleting a cycle will now also cleanly clear any residual scheduled notifications.
1.19.0 Jun 21
This update fixes an edge-case issue where certain bus and highway coach routes were visible but their origins/destinations couldn't be selected, making your transit expense tracking more accurate and seamless.
● Fixed Missing Stop Bug: Fixed a directional logic issue where certain destinations or section-break stops (such as on Route 6918 bound for Changhua) would unexpectedly disappear from the selection menu.
● Smart Detection for Local Short-Haul Routes: Introduced a new fare zone caching system. The app now accurately identifies local short-haul routes to allow selections even with sparse fare data, while strictly maintaining restrictions on airport shuttles and expressways that prohibit short-distance boarding.
● Enhanced Data Validation & Fault Tolerance: Optimized boarding/alighting role-awareness logic, significantly improving data handling for over 500 multi-section sub-routes across Taiwan. This ensures your real trips are never left unrecorded due to sparse data.
If you encounter any issues, please feel free to send us your feedback!
1.18.5 Jun 13
● Eradicated Modal Presentation Glitches & Flickering
• Ultra-Smooth Page Transitions: Completely overhauled the underlying modal architecture. When alternating between "Add Trip," "Favorite Routes," "Quick Add," and "Voice Input" from the home screen, overlapping closing and opening animations will no longer cause content clipping or screen flickering.
• Enhanced Pass Cycle Setup: Resolved the slide-in clipping issues when toggling between "Add Standard Cycle" and "Flexible Cycle." Additionally, unnecessary vertical scrollbars on all cycle-related pages have been hidden for a cleaner interface.
● Smart Location Linking & Quick Add Fixes
• Intelligent TRA Line Auto-Fill: Fixed a bug in the Quick Out/Home feature where using location tracking to fetch a TRA station would leave the line field empty despite displaying the correct fare. The app now smartly reverse-looks up and populates the corresponding line automatically.
• Unified Quick Settings Aesthetics: Redesigned the swipe interaction interfaces for both "Commute Out Station Settings" and "Commute Home Station Settings," achieving 100% consistency in tactile feedback and visual style across the entire app.
1.18.4 Jun 12
This release introduces highly requested customization, smarter voice recognition, and major interface enhancements for a much smoother experience!
● Global Notification Center & Optimizations
• Unified Global Toast Framework: A brand-new notification system sits at the app's root layer. Operational alerts now seamlessly float on top across all pages without getting blocked.
• Visual Success Confirmation: Added crisp toast notifications with bouncing green checkmarks for standard adds, quick adds, voice inputs, inline edits, and adding favorite routes.
• Accidental Deletion Recovery (Undo): Standardized all deletion entries. Removing a trip instantly brings up a 4-second "Undo" toast, featuring smart keyboard avoidance so it's never obstructed.
• Pass Cycle Notification Linking: Managing transit pass schemes (including flexible cycles) now triggers immediate localized state notifications upon returning to the list view.
● Optimized Add & Edit Trip Screen
• Fixed-Height Layout Design: Redesigned layout padding and spacing to enforce a fixed height, permanently resolving the flickering and jumping glitches that occurred when specific menus collapsed. The layout automatically falls back to scrollable only on extra-large dynamic text sizes (basedOnSize).
• All-New Transit Mode Selector: When multiple transit modes are available (such as up to 11 types in flexible cycles), the selector now switches to a smooth dual-row horizontal scroll with subtle edge peeking to hint at more content, keeping the view clean and compact.
• Streamlined Bus & Coach Fields:
• Combined the "Route Number" and "Direction" into a single row while expanding the direction font size, significantly boosting legibility and one-handed operation.
• Condensed the appearance and display triggers for "Route Not Found" and "Fare Not Found" alerts to save vertical space. The fare alert now only populates when both origin and destination stations are filled but no automatic fare data is fetched.
• Resolved an input branch bug where the route number TextField was misplaced inside a conditional layout branch, fixing the annoying issue where the keyboard would prematurely dismiss during typing or backspacing.
● Micro-Animations, Tactile Control & Accessibility
• Premium Fluid Press Feedback: Added a natural "micro-scale and fade" physics reaction upon pressing cards, pass cycles, and primary action buttons across the entire app.
• Symbol Transitions & Bouncing Micro-Dynamics: The success checkmark for voice parsing now features a playful bounce effect. Transfer toggle icons now utilize native iOS symbol replacement animations.
• Rolling Numbers & Intelligent Auto-Scroll: Core financial text now features dynamic rolling transitions. Opening the cycle picker modal automatically auto-scrolls and aligns to your active pass.
• Low-Latency Global Haptics: Reengineered our core vibration infrastructure for zero-delay tactile responses, including a subtle touch haptic upon switching main tabs.
• Robust VoiceOver Upgrade: Trip cards now fully support standard accessibility actions. Visually impaired users can edit, transfer, copy, create return trips, or delete items directly via native gestures.
● Layout Refinements & Bilingual Synchronization
• Localized Content Syncing: Patched missing bilingual strings for a flawless multi-locale environment.
• Streamlined Navigation Architecture: Adjusted the "View All" interaction on recent trips to trigger a direct tab swap instead of pushing nested navigation stacks, keeping transitions lightweight.
1.18.3 Jun 11
This release introduces highly requested customization capabilities, smarter voice recognition, and major interface enhancements for a much smoother experience!
● Brand New Features & Experience Optimizations
• Free Drag-and-Drop Reordering: Reorder your Favorite Routes, Commuter Routes, and Outbound/Home Stations manually. Your custom order is now saved across restarts.
• All-New Custom Action Sheet: Replaced the native menu with a tailored bottom sheet. Pins the trip preview at the top and layout core functions below, completely fixing row freezing bugs.
• Cycle Persistence & Expiry Alerts: The dashboard now remembers your last viewed pass cycle instead of jumping away on launch. Past records now display a "· Expired" status badge.
• Bidirectional Date Syncing: Changing the Start or End Date automatically shifts the other by 29 days. Date picker constraints are relaxed for total adjustment freedom.
● Advanced Voice Recognition & AI Parsing (Smarter Tracking)
• Custom Vocabulary Ingestion: Ingests your history and over 550 rail stations/bus lines upon activation, allowing the engine to accurately resolve homophones and recognize real station names.
• Two-Tier Phonetic Rescue: Implements a tone-agnostic phonetic lookup. Even if text transcription misspells a station, the app safely resolves it and deduces the transit type based on correct pronunciation.
• Personalized Alias Learning: Automatically learns your habits. If you manually correct a parsed station shorthand twice, the app memorizes it as your personal alias for future voice inputs.
• Automatic Bus Full-Name Completion: Auto-completes bare route numbers (e.g., "965") to match database entries, restoring express tags, transfer discounts, and trunk line data automatically.
● Global UI, Visuals & Accessibility Enhancements
• Massive Boost to Button Tap Targets: Expanded touch zones for toolbar icons (close, add, settings, reorder) across 10+ core sheets. No precise aiming required—blind tapping works perfectly.
• Flawless Sheet Transitions: Reengineered modal presentation triggers. Fixed the layout glitch where switching between Home and Outbound settings rapidly caused incoming content to clip.
• Smart Station Badges: Station items now show line codes (supports multiple codes at transfer hubs) or counties, including smart filtering tied to your active pass region.
• Typography & Layout Tweaks: Enabled natural text wrapping for station names to prevent truncation. Optimized typography for Quick Add and English locale views.
• Accessibility Upgrades: Added comprehensive VoiceOver label support to the trip list and reorder shortcuts for visually impaired users.
● Performance & Underlying Stability Boosts
• 4 Critical Bug Fixes: Fixed CloudKit backup restore failures, chronological trip order inversions on Quick Add, calendar day change background crashes, and invalid cycle date selections.
• Data & Modals Overhaul: Refined logging infrastructure to ensure parsing stats honestly reflect user edits. Redesigned Transfer Type and Copy modals with cohesive theme colors.
• Thermal Efficiency & Battery Savings: Introduced a robust caching mechanism for financial stats, heatmaps, and commute analysis, drastically reducing redundant layout loops to save battery.
1.18.2 Jun 10
This release brings a major underlying architecture refactoring and visual experience optimization, making your transit pass tracking smarter, more power-efficient, and incredibly smooth!
● Brand New Features & Experience Optimizations
• Dynamic Pass Countdown: A brand-new "Days Remaining" indicator is now integrated into the top of the dashboard. See exactly how many days are left on your pass at a single glance! We also fixed the date display issue under English mode.
• Bidirectional Date Syncing: When adding or editing a cycle, manually adjusting either the "Start Date" or "End Date" will automatically calculate and shift the other side by 29 days. Enjoy flexible adjustments without being locked out by the UI.
• Optimized Trip List Scrolling: Rebuilt the underlying skeleton of the trip list to completely eliminate the visual artifact where the sticky date header faded out and lower cards flashed white. Scrolling is now silky smooth.
● Internationalization (English Mode)
• Metro Bus Search: Full support for searching Metro/Trunk buses in English mode (e.g., "Roosevelt Rd. Metro Bus"). We also fixed a hidden bug where tapping a station suggestion would abruptly revert the input field text to Chinese.
• Dynamic Bilingual Switching: Standardized the storage logic across all transit types. Bus and coach trips are now saved uniformly, allowing seamless, on-the-fly translation between English and Chinese without getting locked into a single language.
• Smart Fallback Translation: Built a comprehensive station name cross-reference dictionary for fields unmatched to a specific route (such as Quick Add and Voice View). You can now look up the correct English names effortlessly.
● Performance & Stability
• Better Thermal Efficiency & Battery Life: Introduced a brand-new caching mechanism for heavy computing segments, including dashboard financial stats, heatmap data, and commuter analysis. Drastically reduces redundant layout recalculations to keep your phone cool and conserve battery!
• Enhanced Data Precision: The heatmap now utilizes dynamic quartile calculations (Q1/Q2/Q3), making data distribution accurately reflect your actual usage patterns.
• 4 Critical Bug Fixes:
- Fixed a defect where a single corrupted record during CloudKit cloud backup restoration would break and abort the entire restore process.
- Fixed a date bug where quickly adding a commuter route could shift the timing into negative values due to chronological array order, mistakenly saving trips to the "previous day."
- Eliminated a potential crash risk triggered by system-level calendar day change notifications.
- Fixed a page state persistence bug where clearing all data and re-completing onboarding would mistakenly trap the user on the Settings screen.
• Accessibility Optimizations: Added full VoiceOver label support to the trip list, creating a much friendlier experience for visually impaired users.
● Database Fixes
• Fixed missing stations in the Kaohsiung Light Rail (KLRT) database.
1.18.1 Jun 10
This version delivers "Comprehensive Public Transportation Structuring"! We have overhauled the input process for intercity coaches and city buses, integrated Taiwan's transit databases, and added smart fare calculation and map features, making your commute logging incredibly smooth.
● Public Transportation Structuring & Smart Fare Calculation
Say goodbye to handwriting station names! Intercity coaches and city buses across all 21 regions in Taiwan now utilize a brand-new guided menu system.
• Keyboard Suggestion Bar: Entering a route number displays matching routes and stations directly above the keyboard for quick, one-handed selection.
• Intelligent Personalized Suggestions: The system weights and prioritizes your frequently used boarding/alighting stations at the top of the list based on history.
• Automatic Accurate Fare Input: Parses official TDX fare models—including dual-Taipei segment buffer zones (with Circular Line rules), Taoyuan's matrix, and Keelung's flat fares—to calculate precise pricing automatically.
• Smart Error Prevention & Filtering: • The alighting menu only lists subsequent stops, eliminating reverse direction combinations.
• Identifies identical route numbers across regions (e.g., Taipei vs. Keelung) and filters choices based on your transit pass coverage.
• Search functionality fully supports interchangeable 台/臺 across TRA, THSR, city buses, and coaches.
● New Feature: Commuter Pass Usage Heat Map
Unlock your exclusive transit footprint under "More Analytics" on the dashboard!
• Footprint Heat Map: Uses MapKit to render transit stops within your current cycle into a radial gradient heat map—the more visits, the redder it gets.
• Coach Coordinates & High Tolerance: Supports city bus name matching, merges bidirectional stops, and unlocks a coordinate database for 6,862 coach stops to render your footprint perfectly.
● Transit Experience Optimization
• TRA Smart GPS Positioning: Integrated coordinates for all 245 TRA stations. Tap the location button to automatically fill in the nearest train station.
• Voice Recognition Upgrade: The voice workflow connects to the structured picker. Spoken station names calibrate to official names, enabling real-time fare queries via voice using Apple Intelligence and NLP logic.
● UI/UX Details & Core Optimizations
• Overhauled "Quick Leave/Home" Menu & Positioning
• Category Search Picker: A new search picker supporting all 21 regions with clear regional badges.
• Precise Bus Positioning: The location button accurately fetches the closest stop within that specific route, avoiding interference. The button is downsized and embedded on the right side (disables when empty).
• Horizontal Route Chips: Selecting a station reveals all passing routes (including variants like 9025A/B) as horizontal chips below for quick switching.
• Transit Switch Error-Proofing: Switching transit types while adding or editing a trip automatically caches draft inputs for each mode, preventing data contamination.
• Workflow Fluidity & Keyboard Fixes: • Interruption-Free Scrolling: Resolved a bug where scrolling through the station menu caused the keyboard to dismiss and lose TextField focus.
• iOS Native Keyboard Conflict Fix: Resolved an issue where double-tapping to select words conflicted with the dismiss gesture, ensuring smoother typing.
• Improved Menu Tapping: Relaxed dropdown display criteria and increased row/maximum heights for easier single-handed thumb operations.
• Persistent Notifications: Messages remain properly inside the iOS "Notification Center" instead of disappearing immediately upon device unlock.
1.18.0 Jun 9
Bus Smart Location feature now unlocked for 17 cities/counties nationwide!
The "Bus GPS Smart Location" feature has been officially expanded to all plans—no longer limited to the Keelung-Taipei-Taoyuan region!
Now, all commuter pass plans across Taiwan fully support bus stop localization. With just one tap, the app instantly fetches the 5 nearest bus stops for you. No matter which city you're commuting in, you can now enjoy a blazing-fast, seamless smart search experience!
1.17.2 Jun 5
This update introduces a major expansion to our localization features! We are excited to launch GPS Smart Station Location for buses, initially supporting the Keelung-Taipei-New Taipei-Taoyuan commuter pass, alongside comprehensive layout and bilingual logic optimizations for English users.
● New Feature: GPS Smart Station Location for Buses (Keelung-Taipei-New Taipei-Taoyuan)
• One-Tap Nearby Bus Stop Selection: Bus transit now fully supports GPS location tracking. Tapping the location shortcut opens a bottom sheet listing the 5 nearest unique bus stops for instant selection (automatically consolidating bidirectional stops to the single closest side).
• High-Efficiency Background Caching: Utilizes advanced background parsing and data caching infrastructure, lazily loading assets on the first request to guarantee system responsiveness and fluid operation.
※ This initial deployment exclusively supports active Keelung-Taipei-New Taipei-Taoyuan commuter pass profiles; other regional setups will temporarily display a "Not Supported Yet" notice.
● Internationalization & Layout Refinements (English Locale Patches)
• Locale-Aware Station Entry: Resolved a bug in the English interface where choosing an item from the proximity menu inserted the Chinese identifier instead of its English equivalent. The system now injects the proper English or Chinese station metadata based strictly on device locale parameters.
• Clean Text Reflow for Extended Names: Standardized typography across the location sheets, swapping dynamic scale modifiers for a solid 2-line text wrap limit to prevent inconsistent font sizing and ensure clean alignment for long station names.
• Fully Localized Spatial Alerts: When tracking rail transit out of geographical bounds, the closest-match recommendation text inside the "No Stations Found" native alert box now shifts dynamically between English and Chinese based on active locale configuration instead of defaulting to Chinese characters.
1.17.1 Jun 4
Ver 2.7.1 Update Notes
【Lock Screen Widgets】
・Fixed an issue where the “Select Cycle” menu could briefly appear and close immediately
・When no cycle is available, the menu now shows “Automatic (Active Plan)” instead of appearing empty
・Added an “Automatic” cycle option, allowing you to switch back to automatic selection after manually choosing a cycle
・Improved Pro entitlement syncing and the reliability of cycle selection
【Cycles & Data Management】
・Deleting a cycle now also handles trips that belong to that cycle, preventing inaccessible leftover data
・The number of trips that will be deleted is now shown before confirming cycle deletion
・Improved trip handling for overlapping cycles to reduce the chance of deleting trips that may belong to another cycle
・Fixed an issue where leftover trips from deleted cycles could still affect frequent-rider rewards, annual totals, and payback calculations
【Settings & Interface】
・Added the “Habitual Route Auto-Recording” entry back to the Settings page
・Updated the transfer information page to hide transfer details for discontinued transport types
・Fixed layout issues in Backup Management
・Fixed other interface details and stability issues
【Others】
・Fixed the price and currency display on the subscription page
・Fixed the student fare calculation for Kaohsiung four-digit highway buses
more Version 2.7.1 15h ago
Data Linked to You The following data may be collected and linked to your identity:
Contact Info User Content Data Not Linked to You The following data may be collected but it is not linked to your identity: