RubyRuby · Bytes catalog

Screen Ruby candidates on real starter repos

27 short Ruby 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
12
Standard
13
Advanced
2
Catalog
27 Ruby bytes
Page 1 of 1
Access Badge
Featured
RubyRubyStarter~2h

Access Badge

Manage badge factory settings. When an access badge is issued, it starts out unnamed.

access_badge.rb
access_badge_test.rb
Open byte →
Alert Priority
RubyRuby
Standard~3h
Alert Priority

Your team maintains an internal alert triage service. Each incoming alert carries five severity tags — tokens composed of a level indicator and a category code (e.g. 4S 5H 7C 8D JC). The ranking rules for these tag sets follow standard poker hand rankings.

alert_priority.rb
alert_priority_test.rb
Bundle Pricing
RubyRuby
Advanced~4h
Bundle Pricing

An online retailer sells five distinct product SKUs. Each item costs $8 at full price. To encourage bundle purchases, the retailer offers tiered discounts when a customer buys distinct items together:

bundle_pricing.rb
bundle_pricing_test.rb
Command Triplets
RubyRuby
Standard~2h
Command Triplets

You are building 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. When a HALT code is encountered, execution stops immediately.

command_triplets.rb
command_triplets_test.rb
Contact Cleanup
RubyRuby
Starter~2h
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.rb
contact_number_test.rb
Delivery Zones
RubyRuby
Starter~2h
Delivery Zones

Classify a delivery drop-off location into the correct fee tier based on its distance from the warehouse.

delivery_zones.rb
delivery_zones_test.rb
Deploy Window
RubyRuby
Starter~2h
Deploy Window

Calculate the date of scheduled deployment windows. Teams often schedule recurring deployment windows on the same day of the week each month. In this exercise, you will take a description of a deployment window date and return the actual date it falls on.

deploy_window.rb
deploy_window_test.rb
Flag Sequence
RubyRuby
Starter~2h
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.rb
flag_sequence_test.rb
Hailstone Cascade
RubyRuby
Starter~2h
Hailstone Cascade

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

hailstone_cascade.rb
hailstone_cascade_test.rb
Incident Chain
RubyRuby
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.rb
incident_chain_test.rb
League Table
RubyRuby
Starter~2h
League Table

Compile a standings table from match results for a small sports league. Given a list of match results, produce a formatted standings table. Each result line contains two team names and an outcome, separated by semicolons:

league_table.rb
league_table_test.rb
Meter Reader
RubyRuby
Advanced~4h
Meter Reader

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

meter_reader.rb
meter_reader_test.rb
Parcel Verifier
RubyRuby
Starter~2h
Parcel Verifier

The [parcel reference code verification process](https://en.wikipedia.org/wiki/International_Standard_Book_Number) is used to validate book identification numbers. These normally contain dashes and look like: 3-598-21508-8

parcel_verifier.rb
parcel_verifier_test.rb
Planter Rows
RubyRuby
Starter~2h
Planter Rows

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

planter_rows.rb
planter_rows_test.rb
Priority Index
RubyRuby
Standard~3h
Priority Index

Build a priority index that maps individual codes to their priority levels. Your team maintains an internal incident management tool that groups alert codes by priority level.

priority_index.rb
priority_index_test.rb
Release Cadence
RubyRuby
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:

release_cadence.rb
release_cadence_test.rb
Restart Ballad
RubyRuby
Standard~3h
Restart Ballad

Generate the lyrics of the cumulative incident ballad Restart Ballad. An on-call engineer keeps restarting a larger system to steady the one before it. Build the output algorithmically rather than copying the final text or reading it from a file.

restart_ballad.rb
restart_ballad_test.rb
+1 more files
Route Chains
RubyRuby
Standard~3h
Route Chains

Arrange route segments into a circular path. You're given a collection of bidirectional route segments. Each segment connects two numbered stops — for example, a segment [2, 3] connects stop 2 to stop 3 and can be traversed in either direction.

route_chains.rb
route_chains_test.rb
Sensitivity Flags
RubyRuby
Standard~3h
Sensitivity Flags

Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies. An allergy test produces a single numeric score which contains the information about all the allergies the person has (that they were t…

sensitivity_flags.rb
sensitivity_flags_test.rb
Sensor Grid
RubyRuby
Standard~3h
Sensor Grid

Add the adjacent hazard counts to a completed Sensor Grid board. Sensor Grid is an operations dashboard that uses numeric hints to show how many hazards are directly adjacent (horizontally, vertically, diagonally) to a square.

sensor_grid.rb
sensor_grid_test.rb
Service Scorecard
RubyRuby
Standard~3h
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.

service_scorecard.rb
service_scorecard_test.rb
Signal Weave
RubyRuby
Starter~2h
Signal Weave

Your team maintains a mesh-network relay that transmits short text messages across low-bandwidth channels. Before transmission each message is woven — cleaned, arranged into a rectangular frame, then read column-by-column so characters are spread across time s…

signal_weave.rb
signal_weave_test.rb
Status Signals
RubyRuby
Starter~2h
Status Signals

A support dashboard turns certain factors into status signals. The rules of status-signals are that if a given number:

status_signals.rb
status_signals_test.rb
Traffic Burst
RubyRuby
Standard~3h
Traffic Burst

A social media post has gone viral. Every minute since it was published, the number of new views doubles compared to the previous minute.

traffic_burst.rb
traffic_burst_test.rb
Warehouse Rover
RubyRuby
Standard~3h
Warehouse Rover

Implement a warehouse rover controller. A fulfillment center uses autonomous rovers to fetch items from shelving aisles. Before deploying a rover to the floor, the control software needs to verify that movement commands produce the expected outcomes.

warehouse_rover.rb
warehouse_rover_test.rb
Watchtower Overlap
RubyRuby
Standard~2h
Watchtower Overlap

You are building a patrol planning tool for a network of watchtowers on an 8×8 observation grid.

watchtower_overlap.rb
watchtower_overlap_test.rb
Wave Mixer
RubyRuby
Standard~3h
Wave Mixer

Implement a wave signal mixer that models two-component signals. In signal processing, a wave can be represented by two components: an in-phase component (real) and a quadrature component (imaginary).

wave_mixer.rb
wave_mixer_test.rb