Sunday, July 19, 2026

Personal Investor Lab: Shortcut Menu for Faster Navigation

I'm excited to introduce a new floating Shortcut Menu in Personal Investor Lab, designed to make frequently used functions more accessible and improve the overall usage.

What's New

Floating Shortcut Menu


The new floating shortcut menu provides quick access to the most commonly used functions:

  • Refresh Holding Price
  • Build Chart
  • Renew Dashboard
  • Post Activity

You can move the menu to any blank space which will stay there, visible while you use the add-on, reducing the need to navigate through multiple menus and making navigation more efficient.

Automatic Display

The Shortcut Menu automatically appears when you run the following function from menu:

  • Refresh Holding Price
  • Build Chart for a selected ticker.

Improved Chart Viewing Experience

The floating menu is particularly useful when viewing tickers which are not saved in the Chart sheet.

Quick Access to Post Activity

The Post Activity function is now readily available from the Shortcut Menu.

This is especially useful when updating activities that do not involve a row change will trigger  renewing holdings automatically.

Summary of Benefits

  • Faster access to frequently used functions
  • Fewer menu clicks
  • Improved workflow when reviewing charts
  • Convenient activity posting for non-row-change updates
  • Better overall user experience


Sunday, July 5, 2026

Personal Investor Lab: Performance & Dashboard Renewal Update

This release introduces a major redesign of the dashboard renewal infrastructure, making the system more scalable and reliable, especially for portfolios with a large number of stocks.

Faster Dashboard Renewal

Building price charts is the most time-consuming part of the dashboard renewal process. To improve performance, chart generation is now more flexible.

A new Configure for user to choose whether charts are built during dashboard renewal.

  • Build Charts – Charts are generated automatically.
  • No Build Charts  – Dashboard data is refreshed without generating charts, resulting in significantly faster renewals.

When the Activity sheet has a different number of rows, or Post Activity has been executed, the next Refresh Listed Price operation will automatically switch to Renew Holding.

Levels 3 and 4 are intended for users who want to run Post Activity during every renewal. This is useful because some changes made in the Activity sheet (such as editing an existing transaction) do not change the number of rows, so they cannot be detected automatically.

If charts are not built during renewal, you can generate an individual chart at any time using the Build Chart online function for the ticker currently selected by the cursor.

Smarter Chart Generation

Chart generation is now more intelligent.

  • When all tickers are selected (cell A1), charts are generated only for tickers that have buy or sell user alerts, reducing unnecessary processing.
  • When selected tickers are selected, charts are generated for all the selected tickers.

This greatly reduces renewal time while still ensuring that the most important charts are available.

Optimized for Large Portfolios

The dashboard renewal process has been further optimized and can now efficiently handle up to 100 tickers in the stock table.

Automatic Timeout Recovery

Google Apps Script limits a single execution to 6 minutes. Long-running renewals can therefore be terminated by Google's execution runtime limit.

To provide a seamless experience, Personal Investor Lab now automatically detects when execution is approaching the time limit.

Before timing out, the add-on:

  • Saves the complete renewal state.
  • Automatically schedules a continuation trigger.
  • Resumes processing from where it stopped.

The continuation trigger is scheduled:

  • As soon as possible (0 seconds) when the renewal was started manually.
  • After one hour which is limited by Google script when the renewal was started by a scheduled time-based trigger.

Timeout Status

When a timeout occurs, cell A1 displays a timeout message so you know that processing has been paused.

If you prefer not to wait for the scheduled continuation, simply select Renew Dashboard again. The renewal will restore the saved state and continue immediately from where it stopped.

Sunday, June 28, 2026

Personal Investor Lab: Indicator Validation for Alerts

With all investment data stored in a spreadsheet, you can define your own custom indicators:


These indicators can then be used in your buy and sell alerts.

The matching table now validates whether each referenced indicator exists on the first line. The last column displays ✅ for defined indicators and ❌ for undefined ones, making it easier to spot configuration errors before they affect your alerts.











Tuesday, June 9, 2026

Personal Investor Lab: Support life insurance

The Post Activity function has been enhanced to support Coverage, Payment, Premium, Earned (+/-), and Claim activities in the Activity sheet.



After posting, the insurance record is added to the Holding sheet. When the Dashboard is renewed, the insurance item is displayed in the Unlisted Holding table.


If a Claim activity is entered and posted, the insurance item is moved to the Investment History table on the Dashboard sheet.










Saturday, May 23, 2026

SPCsoft Galaxy Updates: Comfort Attendance Reached 2K Users

The Comfort Attendance add-on was published in July 2024. As of today, it has reached over 2K users




Please support us in publishing free add-ons for people and communities.

Friday, May 22, 2026

Personal Investor Lab: Performance Tuning

The user-customizable charts in the dashboard are refreshed for every security, which consumes part of the Google Apps Script 5-minute runtime limit. Currently, Google Apps Script does not provide a way to suspend chart refreshes during script execution.

To reduce the runtime, the add-on has been enhanced to eliminate unnecessary chart refreshes. For example, charts are no longer refreshed for securities without any alerts.

To activate the enhancement, please follow the steps below:

1. Expand the Chart_Table named range to cover all columns.


The add-on will copy the table data to the adjacent columns only when required. 

2. Update all dashboard charts to use the copied data range instead of the original table range.


The add-on can reduce unnecessary chart refresh runtime by controlling when chart data is copied.



Monday, April 20, 2026

Personal Investor Lab: Dashboard Consolidation

For holdings in multiple accounts, instead of breaking down the security position in individual account, the Dashboard displays consolidated security position across all accounts. The Account column shows all accounts that hold the security.


Stocks sold from multiple accounts on the same date are also consolidated to show the consolidated gain/lost.

In both cases, the consolidated Bought Date is set to the earliest bought date.