Prospector
Role
Co-Founder, Chief Operations Officer & chief Technology Officer
Description
As the CTO/COO and co-founder of Prospector, I play a crucial role in designing and implementing all high-fidelity wireframes and overseeing all product development activities. I manage a team of 14 professionals, including engineers, data scientists, junior designers, testers, and product managers, and oversaw a data analyst team of 15 responsible for data extraction and quality control from mining company public filings. Additionally, I am responsible for designing all schemas and working closely with the backend team to define over 300 endpoints that support various applications. I also lead the creation of data pipelines with my team to deliver data for redistribution by Factset, and architected a document processing pipeline capable of processing and searching through millions of documents. As a UX expert and product development leader, I ensure that the platform provided a user-friendly experience and meets the needs of our customers. Moreover, I oversee operational activities for the company, including budgeting forecasts and pitch deck creation for investors, while also managing marketing and sales activities with my co-founder. Overall, my role at Prospector encompasses a wide range of responsibilities, from product development and UX design to team management and operational planning, helping to drive the company's success and growth.
Timeline
Co-Founder 2020-PRESENT
Responsibilities
UX Designer, DB Architect, Operations Manager, & Product Manager
Resources Managed
3 PHP Engineers, 2 Python Engineers, 3 REACT Engineers, 2 Testers, 2 Junior Product Managers, 2 Full Stack Engineers, 3 Senior Analysts, 2 Data Scientists, 10 junior analysts, Sales Director, Marketing Director, Head of Corporate Finance
Website
Platform
Front End
The Prospector front-end mobile application was a native app primarily developed using Kotlin for Android and Swift for iOS and for each.
There main web application and admin portal were developed using REACT. There are production and staging versions of both.​
Backend
Prospector's backend infrastructure utilizes PHP-based technology to serve data to the front-end applications, with microservices delivering data through Django backend. Python-based AWS lambda functions manage various ongoing automated tasks, such as daily document processing, database syncs, and ML/NLP model execution. Both PHP and Django backends have test and production versions hosted on AWS, with snowflake storing text from documents and NLP model output. Metal prices and company fundamental data are also accessed via snowflake. All transactional data is stored in MySQL RDS.
The entire platform is set up on autoscaling and load balancers to handle user traffic, including downloading and processing 10,000 plus documents a day. Swagger was used to manage endpoints/APIs, with over 300 endpoints documented.
​
The backend RDS DB is a MySQL AWS Aurora DB with staging, production, and watchtower environments for data collection. The production environment is compatible with production, while staging and watchtower are compatible with the staging PHP app and Django python-based backend. The first six environments have mirrored table structures, with 50+ tables each. Data structures are automatically documented and visualized using Lucidchart.
​
All documents and images uploaded are stored in AWS S3 buckets, with metadata managed within the MySQL RDS and snowflake. AWS Lambda and Fargate functions are used with Sagemaker to run ML/NLP models that utilize Google Bert, GPT-3, and Facebook Fasttext. EC2 is leveraged to ensure that S3 buckets can scale as needed. For authentication, we use Auth0, and for chat, we use Google Firebase.
Security, Administration, & Analytics
Security for the platform was managed using AWS VPC security groups for all applications, following EC2 suggested implementations from AWS. Tableau, ReTool, and AWS Cloudfront software was used as the main analytics tool, reading directly into the RDS using VPN secure connections.
Several management tools were used to ensure code quality, ease of error resolution, and streamlined product management. BitBucket was used as the repository manager, CircleCI for automated deployments, Sentry for error logging, Codacy for code quality checks, Jira and Confluence for overall product management, and Slack as the primary communication tool. Designs were scoped out using Figma to build interactive prototypes with diagramed data structures in Lucidchart ERD diagrams.
Platform Summary
Prospector is an advanced AI-powered platform that utilizes human-centered AI to gather data and provide real-time insights on global mining projects. The platform includes a database of over 12,000 projects, with technical reports updated daily by major stock exchanges, enabling users to review and compare projects quickly and efficiently to take advantage of market trends.
Prospector offers global coverage of all projects owned or previously owned by publicly traded companies on the ASX, TSX, TSXV, NYSE, JSE, LSE, and CSE, as well as all projects with a 43-101 or JORC report filed regardless of current ownership. With easy-to-use search and filter options, users can browse public filings with open text search of all public filings on ASX, TSX, and NYSE back to 2010, as well as filter by mineral, deposit model, stage, technical report, quarterly/annual reports, mining method, processing method, resource estimate classification, country, region, continent, long/lat, last filed technical report, last update via public filing, and project owner. All data is cited to the page of a public filing, ensuring transparency and reliability.
​
The platform also features a net present value (NPV) calculator tool that takes LOMP assumptions and allows users to perform quick NPV calculations for mines. Prospector provides comprehensive production data back to 2016 on an annual basis and back to 2020 on a quarterly basis, including production and sales of each metal, cash costs, all in sustaining costs, and all in costs. Additionally, users can access compliant resource or reserve statements (43-101, SK-1300, JORC) with year-over-year changes from 2016 to present. Furthermore, Prospector offers extracted life mine plan metrics from technical reports related to projects in a PEA or later stage.