TypeScriptTypeScript · Bytes catalog

Screen TypeScript candidates on real starter repos

40 short TypeScript tasks, each shipping with a public test file and a language-specific runner. Candidates work in their own style; reviewers see how the code actually hangs together.

Starter
10
Standard
23
Advanced
7
Catalog
40 TypeScript bytes
Page 1 of 2
Access Badge
Featured
TypeScriptTypeScriptStandard~3h

Access Badge

Manage badge factory settings. When a badge comes off the factory floor, it has no name.

access-badge.test.ts
access-badge.ts
jest.config.js
Open byte →
Alias Clusters
TypeScriptTypeScript
Starter~2h
Alias Clusters

In a user identity system, an alias cluster is a group of usernames that share exactly the same letters in a different arrangement. Two usernames belong to the same cluster if one can be formed by rearranging the letters of the other.

alias-clusters.test.ts
alias-clusters.ts
+1 more files
Badge Points
TypeScriptTypeScript
Standard~3h
Badge Points

Given a word, compute the badge points for that word. You'll need these:

badge-points.test.ts
badge-points.ts
+1 more files
Billing Cycle
TypeScriptTypeScript
Starter~2h
Billing Cycle

An internal billing system assigns sequential period numbers to billing cycles. Some periods are designated as extended — they receive an extra processing day for reconciliation.

billing-cycle.test.ts
billing-cycle.ts
+1 more files
Codec Bridge
TypeScriptTypeScript
Standard~3h
Codec Bridge

Convert an encoded payload, represented as a sequence of symbol values in one radix, to any other radix.

codec-bridge.test.ts
codec-bridge.ts
+1 more files
Cohort Roster
TypeScriptTypeScript
Standard~2h
Cohort Roster

You are building a roster system for a developer training academy. Participants are assigned to numbered cohorts based on their experience track. The program coordinator needs to view participants grouped by cohort, with each cohort's list sorted alphabeticall…

cohort-roster.test.ts
cohort-roster.ts
+1 more files
Command Triplets
TypeScriptTypeScript
Standard~2h
Command Triplets

You are writing a decoder for a legacy industrial robot controller. The controller receives a continuous stream of 3-character instruction codes. Each triplet maps to a named operation. If a HALT code appears, execution stops immediately.

command-triplets.test.ts
command-triplets.ts
+1 more files
Commit Jargon
TypeScriptTypeScript
Standard~3h
Commit Jargon

Implement a function that encodes plain English text into commit jargon. Your team uses an internal shorthand for obfuscating draft commit messages before they reach the shared log. The encoding follows a small set of deterministic rules applied word-by-word.

commit-jargon.test.ts
commit-jargon.ts
+1 more files
Config Drift
TypeScriptTypeScript
Starter~2h
Config Drift

You are working on a small internal tool that compares two configuration snapshots.

config-diff.test.ts
config-diff.ts
+1 more files
Contact Cleanup
TypeScriptTypeScript
Standard~3h
Contact Cleanup

You are cleaning imported contact records before they are saved into a CRM. Each record includes a freeform phone field entered by a human, so the data can contain spaces, dots, parentheses, hyphens, and an optional leading country code of 1.

contact-number.test.ts
contact-number.ts
+1 more files
Countdown Carol
TypeScriptTypeScript
Standard~3h
Countdown Carol

Output the lyrics to 'The Twelve Days of Christmas'. ``text On the first day of Christmas my true love gave to me: a Partridge in a Pear Tree.

jest.config.js
package.json
+1 more files
Coverage Check
TypeScriptTypeScript
Starter~2h
Coverage Check

Determine if a text sample has full alphabet coverage. A sample with full coverage uses every letter of the alphabet at least once. The best-known example is: > The quick brown fox jumps over the lazy dog.

coverage-check.test.ts
coverage-check.ts
+1 more files
Flag Sequence
TypeScriptTypeScript
Standard~3h
Flag Sequence

A maritime signal station transmits messages using a sequence of signal flags. A numeric transmission code determines which flags to raise and in what order.

flag-sequence.test.ts
flag-sequence.ts
+1 more files
Grid Crossovers
TypeScriptTypeScript
Standard~3h
Grid Crossovers

Identify grid crossovers in an operations matrix. A grid crossover is a cell whose value is greater than or equal to every value in its row and less than or equal to every value in its column.

grid-crossovers.test.ts
grid-crossovers.ts
+1 more files
Grid Hunt
TypeScriptTypeScript
Advanced~4h
Grid Hunt

In a grid hunt challenge you scan a rectangular field of characters to locate hidden target strings.

grid-hunt.test.ts
grid-hunt.ts
+1 more files
Hailstone Cascade
TypeScriptTypeScript
Starter~2h
Hailstone Cascade

Implement a steps function that computes how many cascade steps a hailstone particle takes to reach unit mass.

hailstone-cascade.test.ts
hailstone-cascade.ts
+1 more files
Help Desk Bot
TypeScriptTypeScript
Starter~2h
Help Desk Bot

Implement the response logic for a basic help-desk chatbot. The bot handles incoming support messages and replies with one of five canned responses based on the message content.

help-desk-bot.test.ts
help-desk-bot.ts
+1 more files
Incident Chain
TypeScriptTypeScript
Standard~3h
Incident Chain

An internal post-mortem tool reconstructs incident chains. Each step in the chain describes an event and how it caused the next, building a cumulative narrative from the root cause forward.

incident-chain.test.ts
incident-chain.ts
+1 more files
Invoice Words
TypeScriptTypeScript
Standard~3h
Invoice Words

An invoicing system needs to print amounts in words on official documents. Given an integer from 0 to 999,999,999,999, return its English representation.

invoice-words.test.ts
invoice-words.ts
+1 more files
Meter Reader
TypeScriptTypeScript
Standard~3h
Meter Reader

Read the digits shown on an industrial meter's segment display. Each digit is rendered as a 3-column × 4-row pattern of pipes (|), underscores (_), and spaces. Parse these patterns and return the corresponding numeric string.

jest.config.js
meter-reader.test.ts
+1 more files
Parcel Verifier
TypeScriptTypeScript
Standard~3h
Parcel Verifier

The parcel reference checksum process is used to validate operational parcel identifiers. These normally contain dashes and look like: 3-598-21508-8

jest.config.js
package.json
+1 more files
Path Claim
TypeScriptTypeScript
Advanced~4h
Path Claim

Compute the result for a game of Hex / Polygon. The abstract boardgame known as [Hex](https://en.wikipedia.org/wiki/Hex_%28board_game%29) / Polygon / CON-TAC-TIX is quite simple in rules, though complex in practice.

connect.test.ts
connect.ts
+1 more files
Planter Rows
TypeScriptTypeScript
Advanced~4h
Planter Rows

Given a layout diagram, determine which plants belong to each tenant in a shared rooftop planter.

jest.config.js
package.json
+1 more files
Prime Filter
TypeScriptTypeScript
Standard~3h
Prime Filter

Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.

jest.config.js
package.json
+1 more files
Priority Index
TypeScriptTypeScript
Starter~2h
Priority Index

You are cleaning up a legacy priority table used by an internal routing tool. The old format groups item codes by integer priority. The new format needs a direct lookup from item code to priority.

jest.config.js
package.json
+1 more files
Release Cadence
TypeScriptTypeScript
Starter~2h
Release Cadence

A product team tracks how quickly a release ages across several cadence tiers. Given an age in seconds, calculate how old that release would be on:

jest.config.js
package.json
+1 more files
Restart Ballad
TypeScriptTypeScript
Standard~3h
Restart Ballad

Generate the lyrics of the song 'I Know an Old Lady Who Swallowed a Fly'. While you could copy/paste the lyrics, or read them from a file, this problem is much more interesting if you approach it algorithmically.

jest.config.js
package.json
+1 more files
Sensitivity Flags
TypeScriptTypeScript
Standard~3h
Sensitivity Flags

You are auditing a service's observability configuration. Each service carries a single numeric score that encodes which sensitivity levels are currently active.

jest.config.js
package.json
+1 more files
Sensor Grid
TypeScriptTypeScript
Advanced~4h
Sensor Grid

Add the adjacent hazard counts to a completed Sensor Grid board. Sensor Grid is a popular game where the user has to find the hazards using numeric hints that indicate how many hazards are directly adjacent (horizontally, vertically, diagonally) to a square.

jest.config.js
package.json
+1 more files
Service Scorecard
TypeScriptTypeScript
Advanced~4h
Service Scorecard

Score a service scorecard. Service scorecards use the same scoring rules as the original bowling exercise, but the story is operational instead of a game. Keep track of the score across 10 windows and apply the same spare and strike bonuses.

jest.config.js
package.json
+1 more files