Skip to content

feat: implement signal-based recommendation engine and panel UI with localStorage persistence (#455)#598

Open
dayo-dev17 wants to merge 1 commit into
rinafcode:mainfrom
dayo-dev17:feature/analytics-recommendation-engine
Open

feat: implement signal-based recommendation engine and panel UI with localStorage persistence (#455)#598
dayo-dev17 wants to merge 1 commit into
rinafcode:mainfrom
dayo-dev17:feature/analytics-recommendation-engine

Conversation

@dayo-dev17
Copy link
Copy Markdown

Description

Implements an analytics-driven, signal-based recommendation engine alongside a reactive user interface panel (<RecommendationPanel>) to provide users with actionable channel and notification optimization suggestions.

Changes Implemented

  • Core Engine (recommendation-engine.ts): Created a pure engine executing 6 signal-based evaluation rules, ensuring deterministic card identification and predictive impact scoring.
  • UI & Presentation (RecommendationPanel.tsx): Built a responsive interface rendering recommendation cards outfitted with unique impact badges, async-loading "Apply" buttons with integrated spinner states, and immediate "Dismiss" interaction points.
  • State Management (useNotifications.tsx & UserPreferences.tsx): Wired useMemo-driven engine calls, exposed execution handlers, and integrated localStorage tracking to permanently persist dismissed card IDs. Positioned the live panel component within the standard preference layout.
  • Type Definitions & Exports (types.ts & index.ts): Registered the RecommendationType unions and NotificationRecommendation schemas, exporting the engine via the library barrel file.

Verification Plan

  • Unit Testing: Authored and executed 22 new tests inside recommendation-engine.test.ts checking all 6 signal processing rules, empty/malformed edge cases, and strict array sorting (100% pass rate).
  • Pipeline Note: 14 pre-existing integration and service test suite failures were fully audited and confirmed as pre-existing environmental issues on main before any localized workspace changes were introduced.

closes #455

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 29, 2026

@dayo-dev17 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@RUKAYAT-CODER
Copy link
Copy Markdown
Contributor

Kindly resolve conflict and fix workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

enhancement Notification Preferences : Recommendation Engine

2 participants