Openpanel-dev / Openpanel-dev/openpanel
🎯 Feature Request: Device Support for Profiles
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7k
- Forks
- 481
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 21
Description
📌 Summary
We are actively using Openpanel in our product analytics infrastructure. While the Profiles feature is already quite powerful, it lacks a native representation for Devices — a critical component in multi-device environments such as mobile and desktop apps.
⸻
🚨 Problem
Currently, a Profile in Openpanel does not distinguish between different devices used by the same person. In real-world scenarios:
• A single Profile may interact with the system from multiple devices (e.g., phone, tablet, laptop).
• A single Device may be shared across multiple profiles (e.g., shared tablet or kiosk).
This missing granularity leads to limited tracking accuracy, especially for cross-device attribution, session mapping, and identity resolution.
⸻
✅ Proposed Solution
Introduce a first-class Device entity, related to Profiles, with the following structure:
Device { id: string, fingerprint: string, userAgent: string, platform: string, // iOS, Android, macOS, Windows, Web createdAt: datetime, updatedAt: datetime, profiles: [ProfileID] }
Each Profile can then be linked to one or more Devices, and each Device can be linked to one or more Profiles.
⸻
🔍 Key Benefits
• Enables cross-device session tracking
• Improves user journey visualization
• Supports per-device engagement analytics
• Enables fraud detection (e.g., multiple accounts from same device)
• Prepares the system for deeper identity graphs
⸻
🔧 Suggested UI Integration
• Under the Profiles section, add a Devices tab.
• On the left menu (as shown in the screenshot), consider adding a “Devices” section under or near “Profiles”.
• On a specific profile detail page, display a list of associated devices and their metadata.
⸻
🧠 Optional Enhancements
• Device fingerprinting integration (e.g., FingerprintJS)
• Device location history
• Session-based device usage logs
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing Profiles implementation and how profile relationships are represented. Define the scope for a first-class Device entity, profile-device relationships, and the proposed Profiles and profile-detail UI integration. Done means the agreed device data and associations are represented and discoverable in the relevant interface, with the optional enhancements treated separately.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- analytics, full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100