CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-expo-application

A universal module that gets native application information such as its ID, app name, and build version at runtime

Overall
score

98%

Overview
Eval results
Files

rubric.jsonevals/scenario-1/

{
  "context": "This criteria evaluates how effectively the engineer uses expo-application's installation time tracking capability to implement app usage tracking functionality. The focus is on correct usage of getInstallationTimeAsync() and proper date arithmetic to determine installation duration.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Import expo-application",
      "description": "Correctly imports getInstallationTimeAsync from expo-application package (e.g., import { getInstallationTimeAsync } from 'expo-application' or import * as Application from 'expo-application')",
      "max_score": 15
    },
    {
      "name": "Call getInstallationTimeAsync",
      "description": "Uses getInstallationTimeAsync() function in getDaysSinceInstall() to retrieve the installation timestamp",
      "max_score": 25
    },
    {
      "name": "Handle async operation",
      "description": "Properly awaits or handles the Promise returned by getInstallationTimeAsync()",
      "max_score": 15
    },
    {
      "name": "Calculate date difference",
      "description": "Correctly computes the difference between current date and installation date to get days (e.g., using Date arithmetic and converting milliseconds to days)",
      "max_score": 20
    },
    {
      "name": "Reuse getDaysSinceInstall",
      "description": "Uses getDaysSinceInstall() within getUserTenureCategory() to avoid duplicate calls to getInstallationTimeAsync()",
      "max_score": 15
    },
    {
      "name": "Categorize correctly",
      "description": "Implements correct categorization logic: <7 days = 'new', 7-29 days = 'regular', >=30 days = 'loyal'",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-expo-application

tile.json