I am a full-stack web developer with a decade of experience creating web applications -- currently founder and sole developer at EQZEN.

Recently deployed several updates and changes: cash savings (currencies) tracking with exchange rates and total value in a few foreign currencies, dashboard page overview, which displays total holdings, value allocated to stocks and equities, value allocated to cash savings, and total value. It’s currently limited to USD, but plan to re-implement base currency selection again in the near-future.

Updated the server-side functionality and flow somewhat as well, save action on dashboard page to save all data, export action (previously save) on portfolio page to save specific portfolio data (easier to share with others), and import action (previously upload) on dashboard page to upload single portfolio into dashboard.

Other recent and notable updates includes ticker lookup feature with a few non-US exchanges (did not include all to avoid listing duplication), updated tickers page with all available exchanges and tickers (currenntly loaded dynamically on each page request to keep the list up to date), and revised market page with removed earnings today table (due to significantly higher data cost) and added a few index trackers (ETF tickers). Earning dates are instead added to the key stats table on portfolio page (currently a subscription feature), which also makes it easier to track earning releases relevant to portfolio.

I still have some issues with significant data usage on some pages, in particular peer tables on stock page (currently about 2/3 of all data used), considered making a big request once (weekly or similar) to load all peer data into a separated file, which would make subsequent requests cheaper but not as recent.

Recently deployed updates to EQZEN Beta include: new dashboard page to manage multiple stock portfolios in same session; redesign. Dashboard page is basically a table with all portfolios (those with holdings and track-only), currently limited to one portfolio for free and five portfolios on subscription plan.

It was actually a bit tricky to implement some dashboard features, in particular average change and allocation. Normally; all data and calculations are handled using JavaScript (for async) and relies on getting the data directly from the DOM, but now, since not loading any portfolio data into DOM, instead had to get the data from session variable and calculate on the server before rendering into DOM. Doing it this way required some minor changes to the session management (Flask sessions), including an additional session variable (holding all dashboard data).

Also, hard to not notice, is the changes to layout and overall redesign, mainly: a darker navigation bar, in both normal and night-mode, to keep consistent; and ticker lookup button as dropdown on top of every page (as part of navigation rather than on each page). Minor changes to ticker page layout and colors to be more consistent (in particular button effects), basically replaced colors based on rgba variables (Sass) with rgb, nothing too fancy.

Deployed a bunch of updates to EQZEN today; including pricing page and subscription (reduced price during beta!). It’s now possible to create a subscription using email and valid credit or debit card, everything is handled by Stripe, including customer accounts and PIN (very convenient!). A PIN is automatically generated and sent to email, it's used to unlock features in new session (i.e. new browsers or after logging out).

Added summary with averages in footer on some tables, in particular portfolio and peers, which helps to see overall performance for a group of tickers (excellent when comparing different portfolios or risk).

Added a very basic chart using TradingView JS widgets (non-interactable), one for each time interval. It's better then nothing, but will likely be replaced with a custom solution in the future.

I struggled a bit with the all tickers table, which currently loads all available tickers from a static file (for performance), to problem is that the file needs to be manually updated and included with each deploy, which is tedious. This feature will likely require some re-development, maybe using an external storage solution, similar to the API, which can be managed separately from the application.

I would enjoy more up-to-date data (at least daily) in the all tickers table, which is almost impossible with the current design (it would take too long to process this many cells). However; will likely keep focus on portfolio features for now; in particular benchmark, to compare portfolio performance (today, and historically) with another ticker (or maybe group of tickers).

Also, replaced MongoDB with in-browser storage (Flask sessions), which made everything process a bit faster, as well as minor layout and styling changes.

Recent work on EQZEN Beta

March 20, 2019

Just deployed some improvements to the portfolio page form inputs; placeholder with null value instead of zero values, to avoid deleting zero values before input, better orchestration between internal functions; added function to retrieve stock currently in portfolio, to better handle action buttons based on holdings.

I need to improve data load and page speed, added compression (Flask-Compress) as a first step, and to keep focus on workflow, continuously trying to make it easier and faster to use.

Also reworked all stocks table, on stocks page, which now includes a button to directly add stock to portfolio (if stock not in portfolio), which makes adding multiple stocks faster.

Showcase portfolio feature is still being considered, but need to focus on a few more behind-the-scenes improvements first, such as removing empty portfolios in database (which is piling up quickly), and solving the distributed storage issue with AWS (likely involving a separated temporary storage for uploaded portfolio files).