Shareholding analysis platform
Equity advisory, Kuala Lumpur · Designed and built end to end
The problem
Every reporting period, analysts received raw shareholder registers for each listed client as Excel files. Classifying thousands of holders and comparing them with the last period was slow, manual and easy to get wrong.
How it works
- Upload raw registers as Excel or CSV
- Automated workflows validate and clean the data
- Each holder is mapped to a category using a fund dictionary
- Dashboards show the breakdown and what changed
What I built
- Interactive dashboards for each client: ownership by category, GLC vs non-GLC vs foreign institutional split, and trends across reporting dates
- Top buyers and sellers between two periods, including new entrants, with share counts and percentage change
- A searchable fund dictionary in Postgres that classifies funds and links indirect holdings
- Upload pipeline into cloud storage that triggers the processing workflows automatically
- One-click PDF export of dashboards for client reports, plus secure sign-in
Tools
- Excel / SheetJS
- SQL (Postgres, Supabase)
- n8n workflows
- Recharts
- TypeScript
- React / Next.js
- Google Drive API