Opportunity data was scattered
Tenders, procurement notices, and investment projects were published across separate federal and provincial sources. Users had to search each source independently.
Users can search investment projects, tenders, and procurement notices collected from Canadian sources in one portal.
Anthropic’s Claude models organize records by sector, province, and opportunity type, with uncertain records sent for review.
Users can save searches and alerts, while admins manage sources, review records, and control what gets published.
About the client
Manifold Growth Partners is a quantitative investment firm that helps investors optimize their portfolios for consistent returns, independent of conventional market trends.
Manifold's Indian client base wanted to diversify beyond domestic markets, and Canada kept coming up as a target, but the information those investors needed to act on was scattered across federal, provincial, and municipal sites with no shared format.
Manifold brought in Gyde to build the discovery layer that made that diversification workable: one platform where investors could find, filter, and get alerted to Canadian opportunities that matched their sector and risk profile.
The problem statement
Tenders, procurement notices, and investment projects were published across separate federal and provincial sources. Users had to search each source independently.
Provincial registries contained thousands of projects, many of which did not match Manifold’s investment and supply objectives.
Dates, province names, sector labels, encodings, and record structures varied across sources, making reliable searching difficult.
Investors and suppliers needed simple search and alerts. Admins needed source management, review queues, and control over publication.
How Gyde solved it
Manifold and Gyde defined the investment projects, tenders, and procurement notices that belonged in the portal. A simplified 13-sector taxonomy gave users a clearer way to browse opportunities without navigating source-specific terminology.
A separate worker collects new records, expires outdated listings, and prepares alerts nightly. Two automated sources are connected, with two more sources already specified and filtered for future integration.
The workflow standardizes dates, province names, sector labels, special characters, and text encodings before records reach the AI layer. Province detection uses full names and uppercase standalone codes, preventing words such as “on” from being incorrectly classified as Ontario.
Records are sorted by date before limits are applied, preventing older notices from repeatedly filling the nightly feed. Large project registries are filtered for industrial, infrastructure, and energy opportunities above $50 million before they enter the portal.
Anthropic assigns Claude models based on task complexity. Claude Haiku handles routine classification; thin or ambiguous records can be sent to Claude Sonnet 5 for a second opinion, and Claude Opus 5 supports newsletter drafts and answer summaries.
AI suggests a record’s sector, province, opportunity type, and summary. Administrators can approve, edit, or reject these suggestions before publication. Nothing is automatically published simply because a model produced an answer.
Users can search opportunities, apply filters, save searches, and subscribe to relevant alerts. Administrators can manage data sources, taxonomies, review queues, user interests, and published listings.
Every search and filter combination has a shareable URL that users can save or send to someone else. The nightly workflow skips unchanged records, so AI cost follows new content rather than the database's total size.
The outcome
Checking a dozen-plus government and agency sites by hand
One platform, personalized alerts, role-based access for investors and admins
17,000+ lines of TypeScript across six packages
No consistent way to verify a listing's classification before acting on it
Every listing re-validated against its schema, then reviewed by a person before it publishes
174 tests, including migrations run against a database
Processing cost that would grow with the size of the whole corpus
Cost tied to new or changed content only, via the hash-and-skip step
~$60/month estimated for classification at current volumes
The pattern behind the result
A record placed in the wrong sector can become invisible to the person looking for it. Classification quality directly affects whether users find useful opportunities.
AI organizes and summarizes records, but administrators control publication. Thin, ambiguous, or low-confidence records remain in the review queue until someone checks them.
Moving from 22 sectors to 13 required updates across listings, prompts, filters, user interests, alerts, and saved searches. Retain older sector codes as tags so you don't lose previous information.
Explore more success stories
Gyde can help you turn it into a focused AI system with clear data sources, review rules, model choices, and a practical production boundary.