Repository navigation
PULSE Identity and Business Orientation
Ticket: #96.
PULSE turns fragmented ecosystem data into a weekly, evidence-backed view of who is active, who is rising and who is going quiet.
It connects to the sources a client already has (Omerlo first), resolves duplicate and variant records into one Unified Data Model, tracks how that data changes over time, and shows the result in a dashboard where every score, change and trend links back to the source record behind it.
This page states what PULSE is and is not, and explains how that identity drives the two pages that describe its business: Economic (where the value and revenue come from) and Budget (what it costs to run). If a decision changes one of those pages, it should be checked against this one first.
The business relationships around PULSE, from the sponsor down to the first client.
flowchart TB
SL["<b>Simon Lauzier</b><br/>president and founder of deRabane<br/>chair of the board of Omerlo"]
DR["<b>deRabane</b><br/>agency: strategy, creative, PR,<br/>digital, media, events<br/>Montréal and Paris"]
OM["<b>Omerlo Technologies</b><br/>media platform: CMS, subscriptions,<br/>first-party ads, event hub<br/>president: Simon Audet"]
PU["<b>PULSE</b><br/>ecosystem intelligence layer<br/>our SOEN 490 build"]
LS["<b>Le Soleil</b><br/>Québec City daily, CN2i co-op<br/>digital-only since December 2023"]
SL -- "president, founder" --> DR
SL -- "chairs the board" --> OM
DR -- "lead integrator, resells it" --> OM
DR -- "sponsors it" --> PU
OM -- "supplies the data" --> PU
PU -- "piloted with" --> LS
DR -- "events, PR, integration" --> LS
OM -- "runs their platform" --> LS
classDef sponsor fill:#f3e3c3,stroke:#b8860b,color:#000
classDef pulse fill:#e8f1ee,stroke:#2e6b5e,stroke-width:2px,color:#000
class SL sponsor
class PU pulse
PULSE has three audiences, and they are not the same people.
| Audience | Who | What they get | Where it is detailed |
|---|---|---|---|
| Seller | deRabane, packaging PULSE as an add-on to Omerlo 6 | A module it can sell to its existing Omerlo customers, without a new sales motion | Economic |
| Buyer (tenant) | An Omerlo client organization. The MVP scope of October 4 assumed network media that run events, such as CCFC; the first named prospect, as of October 19, is Le Soleil | Story leads, advertising prospects and a regional events radar, each one traceable | Economic |
| User | Analysts and editorial staff inside the tenant who work in the dashboard day to day | One place to see what changed, instead of checking many sources by hand | Personas |
| PULSE is | PULSE is not |
|---|---|
| A standalone service that reads Omerlo through its APIs and is sold as an Omerlo add-on (D7) | A plugin inside Omerlo's codebase |
| Focused on events first: organizations, people and their roles in events | A general content platform. Articles and newsletters are out of MVP scope unless linked to an event |
| Transparent: scores are built from frequency, recency and volume, and every figure links to its source | A black box. No number is shown that cannot be traced |
| Built on Postgres as the single source of truth, with raw payloads archived (D4) | A data warehouse or lakehouse |
| Multi-tenant from the first migration (D5) | A single-client tool |
| Scheduled sync, daily with weekly views (D6) | Real-time streaming |
| AI-ready, with AI kept in its own pipeline as a stretch goal | An AI product. AI summaries and natural-language queries are out of MVP scope |
From October 2026 to April 2027, the team builds the PULSE MVP: by the Final Release, a Le Soleil analyst or editor should open PULSE each week and see which organizations in their ecosystem are Rising, Stable or Going quiet, with source evidence behind every signal. Each release adds a usable slice of that MVP rather than a separate product.
timeline
title Building the PULSE MVP, October 2026 to April 2027
section Foundation
Oct 6 : Iteration 1 : Research and scope definition
Oct 20 : Iteration 2 : Architecture, ADRs and data model design
section Release 1
Nov 3 : Iteration 3 : Data model v1, Omerlo connector, normalization : Talk with deRabane and Le Soleil
Nov 17 : Iteration 4, Release 1 : First MVP slice deployed on Fly.io : Product vision and roadmap presented
section Release 2
Dec 1 to Jan 19 : Iterations 5 to 7 : Change detection and engagement score : Matching with confidence and a review queue : Search, watchlist and evidence pages
Feb 5 : Iteration 8, Release 2 : Dashboard usable end to end : Stakeholder demo
section Final Release
Feb 16 to Mar 30 : Iterations 9 to 12 : Weekly digest, French and English, roles : Law 25 basics, feature freeze Mar 30
Apr 13 : Iteration 13, Final Release : MVP complete : Pilot with Le Soleil
| Stage | Dates | What the MVP can do by the end | Proves |
|---|---|---|---|
| Foundation (Iteration 1, Iteration 2) | Oct 6 to Oct 20, 2026 | Nothing a client can use yet: scope, architecture, ADRs and the data model design are agreed. | The plan is buildable with our team and stack. |
| Release 1 (Iteration 3, Iteration 4) | to Nov 17, 2026 | Omerlo data syncs on a schedule into the Unified Data Model, duplicates are matched (Tier 1), and organizations can be browsed in a deployed app. Vision and roadmap presented to deRabane and Le Soleil. | One source works end to end, hosted. |
| Release 2 (Iteration 5 to Iteration 8) | to Feb 5, 2027 | Changes between syncs are detected, a transparent engagement score ranks organizations, uncertain matches go to a review queue, and dashboard, search, watchlist and evidence pages are in place. | The weekly "who is rising, who is going quiet" view works on real data. |
| Final Release (Iteration 9 to Iteration 13) | to Apr 13, 2027 | Weekly email digest, French and English, roles and multi-tenancy, Law 25 basics. Feature freeze on Mar 30; MVP complete on Apr 13. | Ready for a pilot with Le Soleil. |
Out of the MVP, as agreed in the scope of October 4: non-event content, AI summaries, natural-language queries, the public API, the relationship graph, reports and billing. These are candidates for after April, and some are revenue lines on the Economic page.
Every identity choice has two consequences: it shapes what a client will pay for, and it shapes what PULSE costs to run. Economic records the first, Budget records the second. The table below links them.
| Identity choice | Consequence for value (Economic) | Consequence for cost (Budget) |
|---|---|---|
| Omerlo add-on, standalone service | Revenue is a per-tenant subscription inside an existing billing relationship (revenue line 1). | PULSE needs its own hosting, database, authentication and user management, rather than sharing Omerlo's (D1, #10). |
| Evidence behind every figure | Trust is what is sold. A newsroom cannot publish from a number it cannot trace; target is 100% evidence traceability. | Raw payloads must be archived and kept, which adds object storage and a retention policy under Law 25 (D4). |
| Events first | Delivers directly against editorial lead generation and the regional events radar, the two angles we can demonstrate at Iteration 4. | One Omerlo connector, one public source and small volumes (hundreds to a few thousand organizations per tenant), so no warehouse and no search engine before Iteration 5 (D3). |
| Multi-tenant | The unit of sale matches the unit of isolation: one tenant, one subscription. A cross-tenant leak would end the commercial relationship. | A shared database with tenant_id is cheap to run. One database per tenant stays an upgrade path, at a higher cost per tenant. |
| Transparent activity score | The score is what ranks advertising prospects (angle 1), so the cheapest commercial story needs no extra engineering. | Computed from data already stored, so it adds no service to pay for. |
| Scheduled, not real-time | Freshness is measured as lag from source to dashboard, and daily is enough for weekly editorial planning. | One scheduled job instead of a streaming stack. |
| AI as an optional, separate pipeline | AI features (Reports, topic classification, summaries) are later tiers, not part of the MVP promise. | AI tokens are the only usage-based cost line. Simon asked for a mock-up token usage plan (meeting of September 30). |
The commercial case for PULSE comes down to one comparison:
flowchart LR
I["Identity<br/>(this page)"] --> E["Economic<br/>price per tenant"]
I --> B["Budget<br/>operating cost per tenant"]
E --> M["Margin per tenant"]
B --> M
Economic owns the price side and Budget owns the cost side. Operating cost per tenant per month is listed as an impact metric on the Economic page and must be filled in on the Budget page; until it is, per-tenant pricing has no known margin.
These open questions, also listed on the Economic page, could change what PULSE is, not only what it costs.
- What problem Le Soleil wants solved. If the answer is not events, the "events first" choice, and the cost profile that comes with it, has to be revisited.
- Where Le Soleil's data lives. If their data stays outside Omerlo, PULSE becomes less of an Omerlo add-on and more of a standalone product, with more connectors to build and pay for.
- Who pays for hosting. This decides whether operating cost sits on deRabane's books or is passed to the tenant.
- One deployment per client, or one shared deployment. This changes both the isolation story and the cost per tenant.
See also: Economic, Budget, Personas, Product Roadmap, Architecture Decision Records.
PULSE Wiki
- Home
- Team Structure
- Product Roadmap
- Meeting Minutes
- Presentations
- Risks
- User Consent and EULA
- Legal and Ethical Issues
- PULSE Identity and Business Orientation
- Personas
- Diversity Statement
- Overall Architecture and Class Diagrams
- Architecture Decision Records
- Infrastructure and Tools
- Beyond-CRUD Flows
- Naming Conventions
- Code Style
- Testing Plan and Continuous Integration
- Security
- Performance
- Deployment Plan and Infrastructure
- Missing Knowledge and Independent Learning
-
Iteration and Release Notes
- Iteration 1 (Oct 6, 2026)
- Iteration 2 (Oct 20, 2026)
- Iteration 3 (Nov 3, 2026)
- Iteration 4 (Nov 17, 2026)
- Iteration 5 (Dec 1, 2026)
- Iteration 6 (Dec 15, 2026)
- Iteration 7 (Jan 19, 2027)
- Iteration 8 (Feb 5, 2027)
- Iteration 9 (Feb 16, 2027)
- Iteration 10 (Mar 2, 2027)
- Iteration 11 (Mar 16, 2027)
- Iteration 12 (Mar 30, 2027)
- Iteration 13 (Apr 13, 2027)