NavigaraNavigara
OrganizationsDistributionCompareResearch
NavigaraNavigara
OrganizationsDistributionCompareResearch
All developers

Karthik Kalyan

Developer

Karthik Kalyan

105607645+karthikscale3@users.noreply.github.com

44 commits~9 files/commit

Performance

2026Previous year

Insights

Key patterns and highlights from this developer's activity.

Peak MonthFeb'26627 performance
Growth Trend↓38%vs prior period
Avg Files/Commit9files per commit
Active Days32of 455 days
Top Repoworkflow43 commits

Effort Over Time

Breakdown of growth, maintenance, and fixes effort over time.

Bug Behavior

Beta

Bugs introduced vs. fixed over time.

Investment Quality

Beta

Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.

39%Productive TimeGrowth 63% + Fixes 37%
14%Maintenance Time
47%Wasted Time
How it works

Methodology

Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.

Relationship to Growth / Maintenance / Fixes

The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.

Proposed API Endpoint

Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:

POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json

Request:
{
  "startTime": "2025-01-01T00:00:00Z",
  "endTime": "2025-12-31T23:59:59Z",
  "bucketSize": "BUCKET_SIZE_MONTH",
  "groupBy": ["repository_id" | "deliverer_email"]
}

Response:
{
  "productivePct": 74,
  "maintenancePct": 18,
  "wastedPct": 8,
  "buckets": [
    {
      "bucketStart": "2025-01-01T00:00:00Z",
      "productive": 4.2,
      "maintenance": 1.8,
      "wasted": 0.6
    }
  ]
}

Recent Activity

Latest analyzed commits from this developer.

HashMessageDateFilesEffort
c488877This commit **refactors** the **web package's stream reading mechanism** to use a more efficient, **cursor-based polling system** for **workflow streams**. Specifically, the **`useStreamReader` hook** and the **`api.stream.$streamId` route** are updated to leverage a new `readStreamChunksServerAction`, enabling incremental data fetching and real-time updates for the **streams tab** in the **run detail view**. This **enhancement** improves the responsiveness and performance of displaying **workflow stream data**, ensuring users see the latest output without full reloads, and also introduces a **decrypt button** for stream content.Mar 308grow
bb86b69This commit **resolves a critical crash** within the **web application's Streams tab** that previously occurred when decrypting and displaying large stream chunks. It implements **data sanitization** and **main thread yielding** within the `useStreamReader` hook, specifically using `sanitizeForDisplay` and `yieldToMain`, to prevent the UI from becoming unresponsive or crashing. This **bug fix** and **performance optimization** significantly enhances the stability and reliability of the **Streams tab** when handling substantial data volumes.Mar 252waste
dab106aThis commit **hides the workflow graph viewer tab** within the **web application's `RunDetailView` component**. It implements this **UI adjustment** by forcing the `trace` tab to be active whenever the `graph` tab is requested, and by conditionally preventing the rendering of the graph tab's UI elements. This change effectively **disables the workflow graph viewer** for web users, streamlining the interface by removing an unneeded or incomplete feature from the run detail page.Mar 242grow
a89f35aThis commit delivers a **bug fix** to enhance the **timeline duration format and precision** within the **`web-shared`** package. It **removes millisecond precision** from the `formatWallClockTime` function in `packages/web-shared/src/components/trace-viewer/util/timing.ts`, leading to cleaner wall clock time displays in the **trace viewer**. Concurrently, the `formatDuration` utility in `packages/web-shared/src/lib/utils.ts` is adjusted to present more compact, multi-unit durations (e.g., '8m 20s') by utilizing floor division. This ensures improved readability and accuracy for time-related displays, particularly impacting the **trace viewer's timeline**.Mar 233waste
2b80e2dThis commit introduces a **compatibility fix** to the **web package's** `useStreamReader` hook, enabling it to correctly parse **legacy newline-delimited stream formats**. This **bug fix** ensures that the **stream tab** accurately displays data from older or **legacy runs** by implementing robust encoding detection and parsing logic within `useStreamReader`. The change primarily affects the `packages/web/app/lib/hooks/use-stream-reader.ts` file, resolving display issues for previously incompatible stream data and improving the overall reliability of stream visualization for historical data.Mar 232waste
58830caThis commit provides a **bug fix** to prevent unnecessary re-renders and visual flickering within the **detail panel** of the web application, especially for encrypted runs during polling. The **attribute panel** (`attribute-panel.tsx`) is updated to avoid re-rendering when input/output data is loading but has no display content. Concurrently, the **data fetching logic** in `use-resource-data.ts` is refined to only clear existing data when the selected resource genuinely changes, eliminating flicker during re-fetches for the same resource. This improves the stability and user experience of the **web UI** when displaying resource details.Mar 183waste
11f45b2This commit delivers significant **UX improvements and stability fixes** across the **web-shared detail panels**, particularly impacting the `AttributePanel`, `EntityDetailPanel`, and `EventsList`. It introduces **loading skeletons** for attribute blocks and event lists, providing clearer visual feedback during data fetching, and standardizes error messages with a reusable `ErrorCard`. Key **bug fixes** prevent unnecessary re-renders in the `EntityDetailPanel` by stabilizing callbacks during polling and optimize `SelectionBridge` in `workflow-trace-view` to avoid redundant selection change notifications. These enhancements collectively provide a **more stable, responsive, and visually consistent user interface** when interacting with detailed entity information.Mar 185waste
2f0772dThis commit introduces a **new feature** to track Vercel request IDs (`x-vercel-id`) across workflow events, significantly **improving log correlation** for applications deployed on Vercel. It modifies the **`@world/core` runtime** to extract and propagate the `requestId` through workflow entrypoints, step handlers, and suspension handlers. The **`@world-vercel` package** is updated to capture the `x-vercel-id` header from incoming requests and include it in workflow run events, while **`@world/world`** event and queue interfaces are extended to support this new identifier. This enhancement allows for easier debugging and tracing of specific Vercel requests through the entire workflow execution by linking logs to their originating request.Mar 1710grow
29eb8bbThis commit introduces a **bug fix** to the **`web-shared` package**, specifically addressing the **trace viewer's construction of step spans for V1 workflow events**. The `stepEventsToStepEntity` function within `trace-span-construction.ts` has been updated to correctly process V1 events by **falling back to the earliest available event** when a `step_created` event is missing. This ensures that **older V1 workflow runs are accurately visualized** in the trace viewer, providing a more reliable representation of historical execution traces. New test cases have also been added to validate this corrected behavior.Mar 163maint
0e2eb5cThis commit **fixes** an issue within the **`web-shared` package's Trace Viewer component** where **run span segments were incorrectly computed for V1 events**. The core logic in `packages/web-shared/src/components/trace-viewer/components/span-segments.ts` has been updated to detect V1 runs by the absence of `run_created` events and then infer segments from the run entity status using a dedicated V1 computation. This **bug fix** ensures that historical **V1 run traces are accurately displayed and segmented**, significantly improving the reliability and completeness of trace visualization for older data. New tests have been added in `packages/web-shared/test/trace-builder-v1.test.ts` to validate the correct trace building and segment computation for these V1 events.Mar 165maint
94c14c7This commit introduces a **refinement** to how event data is processed when `resolveData='none'` is specified, ensuring that only reference-related fields are stripped while other metadata is preserved. A new helper function, `stripEventDataRefs`, is added to the **`@workflow/world`** package to selectively remove `ref` and `payload` fields from event data. This new, more precise stripping logic is then integrated across the **`@workflow/world-local`**, **`@workflow/world-postgres`**, and **`@workflow/world-vercel`** storage implementations, replacing previous, less granular filtering. Additionally, the **`@workflow/web`** frontend is updated to correctly set `withData: false` when fetching events, aligning its requests with the backend's refined data resolution behavior. This change acts as a **bug fix** and **refactoring**, preventing unintended data loss and ensuring consistent event data handling across the platform.Mar 1612maint
7b9b3c1This commit introduces significant **UI enhancements** and **architectural improvements** within the **`web-shared` package** and its consumers. It adds a new **`TimestampTooltip` component** to provide detailed time information on hover, integrated into `EventListView` and `AttributePanel` for improved data clarity. A new **toast abstraction layer** is implemented via `ToastProvider` and `useToast`, which is then used to **refactor** various components like `CopyableDataBlock` and `WorkflowTraceViewer` for consistent notification display, including new toasts for **successful data decryption**. Furthermore, the `EventListView` now features **improved loading skeletons** and **encrypted data detection**, allowing users to decrypt data directly from expanded rows.Mar 1313grow
d6da7ecThis commit introduces a **bug fix** to the **web client's `useEventsListData` hook** by resolving a **stale closure issue** with the `encryptionKey`. Previously, the `encryptionKey` could become outdated, leading to problems during the decryption of events. The change updates the `packages/web/app/lib/client/hooks/use-events-list-data.ts` file to use a ref for `encryptionKey`, ensuring that the latest key is always available for `fetchInitial` and `fetchMore` operations. This guarantees **correct event decryption and display** for users viewing event lists, preventing data integrity issues.Mar 132waste
5c6ae60This commit delivers significant **UX improvements** to the **observability features** by enhancing how traces, events, and streams are displayed and interacted with. It **decouples event data fetching** in the `RunDetailView` and `EventListView` for better pagination via a new `LoadMoreButton`, and implements **stream virtualization** in `StreamViewer` using `react-virtuoso` for improved performance with large datasets. Furthermore, new **decryption capabilities** are added through a `DecryptButton` component, allowing users to decrypt sensitive information directly within the event list and stream views. This work primarily introduces **new capabilities** and **enhances existing UI components** within the `web-shared` and `web` packages, providing a more responsive and secure debugging experience.Mar 1312grow
c4d86faThis commit significantly **improves the user experience and functionality** of the **workflow observability event list** within the `web-shared` package. It introduces **event sorting**, enhances **search functionality** for better matching, and refines the **event row expansion logic** with caching for smoother interactions in the `EventListView` component. Additionally, the `ErrorStackBlock` component has been **redesigned for improved visual clarity** in error reporting, and a new reusable `MenuDropdown` component is added. These **UX enhancements** provide users with a more efficient and intuitive way to navigate and understand workflow events.Mar 115grow
33101a2This commit **refactors the user interface** by **relocating the decrypt button** from the main `RunDetailView` to the **sidebar's `EntityDetailPanel`**. This **UI/UX improvement** allows users to decrypt encrypted data directly from the sidebar, enhancing accessibility and consistency. The change involves adding the button and its `onDecrypt` callback to `EntityDetailPanel` within `web-shared` components, while removing it from `RunDetailView`. This streamlines the interaction flow for managing encrypted data across the application.Mar 95maint
c59dd8cThis commit **enhances the `web-shared` sidebar components** by enriching the display of sleep span details and correcting attribute capitalization. Specifically, the **`EntityDetailPanel` now correctly shows enriched sleep span information**, including `resumeAt` and `completedAt` timestamps, providing more comprehensive context for sleep workflows. Concurrently, a **bug fix** in the **`AttributePanel` adjusts attribute label capitalization**, ensuring `workflowCoreVersion` is no longer incorrectly capitalized. This work improves the **user interface's accuracy and detail** when viewing entity and attribute information within the application.Mar 93maint
e2420beThis commit performs a **maintenance chore** within the **CI/CD pipeline** by updating the **GitHub Actions release workflow**. It specifically modifies `.github/workflows/release.yml` to add a GitHub token to the `checkout` action. This change is crucial for **enabling authenticated operations** during the release process, ensuring that the workflow can successfully interact with GitHub APIs and other protected resources. Ultimately, this **fixes potential dispatch or synchronization issues** by providing the necessary permissions for the release job to complete.Mar 31maint
8e0d2a8This commit **fixes date parsing and formatting logic** within the **`web-shared` package**, specifically for the **sidebar's attribute panel** (`attribute-panel.tsx`). This **bug fix** addresses an issue where invalid or null date values would incorrectly display as "Invalid Date" in the detail panel. By refactoring the date handling, it ensures that dates are presented correctly and gracefully handles problematic data. This improves the **user experience** by preventing UI errors and providing accurate date displays in the workflow observability detail panel.Mar 22waste
596f9bfThis commit introduces a **new automation capability** to streamline the **front-end release process** by synchronizing release pull requests. It adds a **GitHub Actions workflow** (`.github/workflows/dispatch-front-workflow-release-pr.yml`) designed to dispatch events for creating and managing front-end release PRs based on activity. Complementing this, a new Node.js script (`scripts/trigger-front-release-workflow-dispatch.cjs`) is included to programmatically trigger these workflow dispatch events. This enhancement automates the raising and synchronization of release PRs, significantly improving the efficiency and consistency of **front-end deployments**.Mar 22grow
c488877Mar 30

This commit **refactors** the **web package's stream reading mechanism** to use a more efficient, **cursor-based polling system** for **workflow streams**. Specifically, the **`useStreamReader` hook** and the **`api.stream.$streamId` route** are updated to leverage a new `readStreamChunksServerAction`, enabling incremental data fetching and real-time updates for the **streams tab** in the **run detail view**. This **enhancement** improves the responsiveness and performance of displaying **workflow stream data**, ensuring users see the latest output without full reloads, and also introduces a **decrypt button** for stream content.

8 filesgrow
bb86b69Mar 25

This commit **resolves a critical crash** within the **web application's Streams tab** that previously occurred when decrypting and displaying large stream chunks. It implements **data sanitization** and **main thread yielding** within the `useStreamReader` hook, specifically using `sanitizeForDisplay` and `yieldToMain`, to prevent the UI from becoming unresponsive or crashing. This **bug fix** and **performance optimization** significantly enhances the stability and reliability of the **Streams tab** when handling substantial data volumes.

2 fileswaste
dab106aMar 24

This commit **hides the workflow graph viewer tab** within the **web application's `RunDetailView` component**. It implements this **UI adjustment** by forcing the `trace` tab to be active whenever the `graph` tab is requested, and by conditionally preventing the rendering of the graph tab's UI elements. This change effectively **disables the workflow graph viewer** for web users, streamlining the interface by removing an unneeded or incomplete feature from the run detail page.

2 filesgrow
a89f35aMar 23

This commit delivers a **bug fix** to enhance the **timeline duration format and precision** within the **`web-shared`** package. It **removes millisecond precision** from the `formatWallClockTime` function in `packages/web-shared/src/components/trace-viewer/util/timing.ts`, leading to cleaner wall clock time displays in the **trace viewer**. Concurrently, the `formatDuration` utility in `packages/web-shared/src/lib/utils.ts` is adjusted to present more compact, multi-unit durations (e.g., '8m 20s') by utilizing floor division. This ensures improved readability and accuracy for time-related displays, particularly impacting the **trace viewer's timeline**.

3 fileswaste
2b80e2dMar 23

This commit introduces a **compatibility fix** to the **web package's** `useStreamReader` hook, enabling it to correctly parse **legacy newline-delimited stream formats**. This **bug fix** ensures that the **stream tab** accurately displays data from older or **legacy runs** by implementing robust encoding detection and parsing logic within `useStreamReader`. The change primarily affects the `packages/web/app/lib/hooks/use-stream-reader.ts` file, resolving display issues for previously incompatible stream data and improving the overall reliability of stream visualization for historical data.

2 fileswaste
58830caMar 18

This commit provides a **bug fix** to prevent unnecessary re-renders and visual flickering within the **detail panel** of the web application, especially for encrypted runs during polling. The **attribute panel** (`attribute-panel.tsx`) is updated to avoid re-rendering when input/output data is loading but has no display content. Concurrently, the **data fetching logic** in `use-resource-data.ts` is refined to only clear existing data when the selected resource genuinely changes, eliminating flicker during re-fetches for the same resource. This improves the stability and user experience of the **web UI** when displaying resource details.

3 fileswaste
11f45b2Mar 18

This commit delivers significant **UX improvements and stability fixes** across the **web-shared detail panels**, particularly impacting the `AttributePanel`, `EntityDetailPanel`, and `EventsList`. It introduces **loading skeletons** for attribute blocks and event lists, providing clearer visual feedback during data fetching, and standardizes error messages with a reusable `ErrorCard`. Key **bug fixes** prevent unnecessary re-renders in the `EntityDetailPanel` by stabilizing callbacks during polling and optimize `SelectionBridge` in `workflow-trace-view` to avoid redundant selection change notifications. These enhancements collectively provide a **more stable, responsive, and visually consistent user interface** when interacting with detailed entity information.

5 fileswaste
2f0772dMar 17

This commit introduces a **new feature** to track Vercel request IDs (`x-vercel-id`) across workflow events, significantly **improving log correlation** for applications deployed on Vercel. It modifies the **`@world/core` runtime** to extract and propagate the `requestId` through workflow entrypoints, step handlers, and suspension handlers. The **`@world-vercel` package** is updated to capture the `x-vercel-id` header from incoming requests and include it in workflow run events, while **`@world/world`** event and queue interfaces are extended to support this new identifier. This enhancement allows for easier debugging and tracing of specific Vercel requests through the entire workflow execution by linking logs to their originating request.

10 filesgrow
29eb8bbMar 16

This commit introduces a **bug fix** to the **`web-shared` package**, specifically addressing the **trace viewer's construction of step spans for V1 workflow events**. The `stepEventsToStepEntity` function within `trace-span-construction.ts` has been updated to correctly process V1 events by **falling back to the earliest available event** when a `step_created` event is missing. This ensures that **older V1 workflow runs are accurately visualized** in the trace viewer, providing a more reliable representation of historical execution traces. New test cases have also been added to validate this corrected behavior.

3 filesmaint
0e2eb5cMar 16

This commit **fixes** an issue within the **`web-shared` package's Trace Viewer component** where **run span segments were incorrectly computed for V1 events**. The core logic in `packages/web-shared/src/components/trace-viewer/components/span-segments.ts` has been updated to detect V1 runs by the absence of `run_created` events and then infer segments from the run entity status using a dedicated V1 computation. This **bug fix** ensures that historical **V1 run traces are accurately displayed and segmented**, significantly improving the reliability and completeness of trace visualization for older data. New tests have been added in `packages/web-shared/test/trace-builder-v1.test.ts` to validate the correct trace building and segment computation for these V1 events.

5 filesmaint
94c14c7Mar 16

This commit introduces a **refinement** to how event data is processed when `resolveData='none'` is specified, ensuring that only reference-related fields are stripped while other metadata is preserved. A new helper function, `stripEventDataRefs`, is added to the **`@workflow/world`** package to selectively remove `ref` and `payload` fields from event data. This new, more precise stripping logic is then integrated across the **`@workflow/world-local`**, **`@workflow/world-postgres`**, and **`@workflow/world-vercel`** storage implementations, replacing previous, less granular filtering. Additionally, the **`@workflow/web`** frontend is updated to correctly set `withData: false` when fetching events, aligning its requests with the backend's refined data resolution behavior. This change acts as a **bug fix** and **refactoring**, preventing unintended data loss and ensuring consistent event data handling across the platform.

12 filesmaint
7b9b3c1Mar 13

This commit introduces significant **UI enhancements** and **architectural improvements** within the **`web-shared` package** and its consumers. It adds a new **`TimestampTooltip` component** to provide detailed time information on hover, integrated into `EventListView` and `AttributePanel` for improved data clarity. A new **toast abstraction layer** is implemented via `ToastProvider` and `useToast`, which is then used to **refactor** various components like `CopyableDataBlock` and `WorkflowTraceViewer` for consistent notification display, including new toasts for **successful data decryption**. Furthermore, the `EventListView` now features **improved loading skeletons** and **encrypted data detection**, allowing users to decrypt data directly from expanded rows.

13 filesgrow
d6da7ecMar 13

This commit introduces a **bug fix** to the **web client's `useEventsListData` hook** by resolving a **stale closure issue** with the `encryptionKey`. Previously, the `encryptionKey` could become outdated, leading to problems during the decryption of events. The change updates the `packages/web/app/lib/client/hooks/use-events-list-data.ts` file to use a ref for `encryptionKey`, ensuring that the latest key is always available for `fetchInitial` and `fetchMore` operations. This guarantees **correct event decryption and display** for users viewing event lists, preventing data integrity issues.

2 fileswaste
5c6ae60Mar 13

This commit delivers significant **UX improvements** to the **observability features** by enhancing how traces, events, and streams are displayed and interacted with. It **decouples event data fetching** in the `RunDetailView` and `EventListView` for better pagination via a new `LoadMoreButton`, and implements **stream virtualization** in `StreamViewer` using `react-virtuoso` for improved performance with large datasets. Furthermore, new **decryption capabilities** are added through a `DecryptButton` component, allowing users to decrypt sensitive information directly within the event list and stream views. This work primarily introduces **new capabilities** and **enhances existing UI components** within the `web-shared` and `web` packages, providing a more responsive and secure debugging experience.

12 filesgrow
c4d86faMar 11

This commit significantly **improves the user experience and functionality** of the **workflow observability event list** within the `web-shared` package. It introduces **event sorting**, enhances **search functionality** for better matching, and refines the **event row expansion logic** with caching for smoother interactions in the `EventListView` component. Additionally, the `ErrorStackBlock` component has been **redesigned for improved visual clarity** in error reporting, and a new reusable `MenuDropdown` component is added. These **UX enhancements** provide users with a more efficient and intuitive way to navigate and understand workflow events.

5 filesgrow
33101a2Mar 9

This commit **refactors the user interface** by **relocating the decrypt button** from the main `RunDetailView` to the **sidebar's `EntityDetailPanel`**. This **UI/UX improvement** allows users to decrypt encrypted data directly from the sidebar, enhancing accessibility and consistency. The change involves adding the button and its `onDecrypt` callback to `EntityDetailPanel` within `web-shared` components, while removing it from `RunDetailView`. This streamlines the interaction flow for managing encrypted data across the application.

5 filesmaint
c59dd8cMar 9

This commit **enhances the `web-shared` sidebar components** by enriching the display of sleep span details and correcting attribute capitalization. Specifically, the **`EntityDetailPanel` now correctly shows enriched sleep span information**, including `resumeAt` and `completedAt` timestamps, providing more comprehensive context for sleep workflows. Concurrently, a **bug fix** in the **`AttributePanel` adjusts attribute label capitalization**, ensuring `workflowCoreVersion` is no longer incorrectly capitalized. This work improves the **user interface's accuracy and detail** when viewing entity and attribute information within the application.

3 filesmaint
e2420beMar 3

This commit performs a **maintenance chore** within the **CI/CD pipeline** by updating the **GitHub Actions release workflow**. It specifically modifies `.github/workflows/release.yml` to add a GitHub token to the `checkout` action. This change is crucial for **enabling authenticated operations** during the release process, ensuring that the workflow can successfully interact with GitHub APIs and other protected resources. Ultimately, this **fixes potential dispatch or synchronization issues** by providing the necessary permissions for the release job to complete.

1 filesmaint
8e0d2a8Mar 2

This commit **fixes date parsing and formatting logic** within the **`web-shared` package**, specifically for the **sidebar's attribute panel** (`attribute-panel.tsx`). This **bug fix** addresses an issue where invalid or null date values would incorrectly display as "Invalid Date" in the detail panel. By refactoring the date handling, it ensures that dates are presented correctly and gracefully handles problematic data. This improves the **user experience** by preventing UI errors and providing accurate date displays in the workflow observability detail panel.

2 fileswaste
596f9bfMar 2

This commit introduces a **new automation capability** to streamline the **front-end release process** by synchronizing release pull requests. It adds a **GitHub Actions workflow** (`.github/workflows/dispatch-front-workflow-release-pr.yml`) designed to dispatch events for creating and managing front-end release PRs based on activity. Complementing this, a new Node.js script (`scripts/trigger-front-release-workflow-dispatch.cjs`) is included to programmatically trigger these workflow dispatch events. This enhancement automates the raising and synchronization of release PRs, significantly improving the efficiency and consistency of **front-end deployments**.

2 filesgrow

Work Patterns

Beta

Commit activity distribution by hour and day of week. Shows when this developer is most active.

Collaboration

Beta

Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.

NavigaraNavigara
OrganizationsDistributionCompareResearch