Concepts
This page explains how Impulsum is structured under the hood so you can reason about behavior, limits, and how features work together.
Quick overview
Data model
Impulsum’s core entities:
- Workspace — Your company space. Holds members, integrations, and data.
- Member — A user inside a workspace with a role (Owner, Admin, Editor, Viewer).
- Integration — A connected system (e.g., Jira Cloud) with auth, scopes, status, and sync metadata.
- Project / Board / Sprint — Containers imported from Jira for planning and reporting.
- Epic / Issue — Work items with fields (status, priority, story points, labels, assignee, due date, links, etc.).
- Insight — AI-generated analysis or summary with a source reference (chat response, report, dashboard annotation).
- Risk — Computed signal (0–100) that estimates likelihood/impact of delay based on multiple factors.
- Dashboard / Widget / KPI — Saved analytics surfaces, often parameterized by role or project.
- SyncJob — A recorded synchronization run (initial or incremental) with timing, scope, and diagnostics.
Note
We keep the schema pragmatic and minimal. Only fields needed for KPIs, risks, and analysis are stored.
Sync engine
How data flows from Jira into Impulsum:
- OAuth 2.0 connect — You authorize Impulsum (read-only scopes).
- Initial sync — We pull the current state of projects, issues, sprints, and users.
- Incremental sync — We fetch updates since the last successful run (e.g., via
updated >= last_synced_at
). - Normalization — Data is cleaned and mapped for analytics (dates, story points, links, relations).
- Availability — Fresh data powers chat answers, dashboards, and alerts.
Freshness & reliability
- Syncs are idempotent and checkpointed by
last_synced_at
. - We backoff on upstream rate limits and retry transient errors.
- Large workspaces are processed in paged batches to keep the UI responsive.
Roadmap
- Webhooks from Jira to cut latency between changes and insights.
- Custom field mapping UI for non-standard schemas.
- Sync diagnostics surface (per-project) to spot coverage gaps quickly.
AI chat (grounded Q&A)
The chat turns your natural language into analysis grounded in your synced data.
High-level pipeline
- Understand intent — Identify the goal (e.g., “delays”, “blocked”, “budget variance”, “risk hotspots”).
- Retrieve data — Query the synced dataset with filters (project, team, sprint, priority, date range, etc.).
- Summarize & explain — Generate a concise answer with context, lists/tables, and reasoning.
- Follow-ups — You can refine: “Drill down by assignee”, “Only Epics”, “This month”, “High priority”.
Useful filters (examples)
- entity:
issues
,epics
,sprints
,projects
- scope:
in Team Alpha
,project Phoenix
,this sprint
,last 30 days
- constraints:
priority High
,status Blocked
,due next 7 days
,only bugs
Grounding
Answers are derived from your synced dataset. If something looks off, check Sync Status or try “when was this last updated?”.
Dashboards & KPIs
Role-aware analytics you can open anytime:
- Project Manager — delivery health, blockers, velocity, spillover, aging WIP, SLA to close, carryover.
- C-Suite — portfolio ROI, budget vs. actuals, burn runway, strategic alignment, risk exposure by initiative.
- Tech Lead — throughput, lead time, code/work hotspots, dependency risk, unblocked vs blocked trends.
Features:
- Saved filters and pinned views per user.
- Exports (image/PDF) for quick stakeholder updates.
- Drill-downs from KPI → list of items → single issue context.
Roles & permissions
- Owner — Full control of workspace, billing, and security.
- Admin — Manage members, integrations, and data.
- Editor — Use chat, dashboards, and create insights; manage saved views.
- Viewer — Read-only access to dashboards and shared insights.
Data isolation — Each workspace is isolated; members only see data for workspaces they belong to.
Risk scoring (concept)
Impulsum estimates a risk score (0–100) using a weighted blend of factors:
- Schedule pressure: due-date proximity vs. remaining work.
- Blockers & dependencies: open blockers, cross-team links, unresolved incidents.
- History: reopen rate, carryover trend, aging in status.
- Complexity: story points / size bucket, component count.
- Priority & impact: business criticality, affected KPIs.
Interpretation
80–100 = high risk (escalate/mitigate), 50–79 = watchlist, <50 = normal.
The exact weights may evolve as we learn from real-world data.
Limits & quotas
Current behavior and practical guidance:
- Sync — Large imports are chunked; time depends on Jira size and rate limits.
- Chat — Very long questions or huge result sets are summarized automatically.
- Dashboards — Heavy queries may be cached briefly to keep navigation snappy.
Your pricing plan defines usage caps (e.g., chat requests/month). See /account/pricing.
Security & privacy
- Read-only scopes for Jira; Impulsum does not modify your issues.
- Data stored in Supabase with encryption in transit and role-based access.
- You can disconnect Jira or delete your workspace data from Settings → Integrations / Workspace.
- See the full details in /security and the Privacy Policy.
Glossary
- Workspace — Your company’s space in Impulsum.
- Integration — A connected system such as Jira.
- Initial sync — First-time import of historical data.
- Incremental sync — Ongoing updates since the last successful run.
- Insight — AI-generated summary or analysis tied to your data.
- Risk — A 0–100 score estimating likelihood/impact of delay.
- Dashboard — A saved, role-oriented analytics view.
- KPI — Metric used to measure progress (e.g., velocity, ROI, spillover).