Skip to content
AtomicReps
The Slack app

Sharper engineers, before the first meeting.

Your team learns while their prompts run. A question lands in the channel each morning; sprints, insights, skill reports and the leaderboard sit behind /reps. It waits in the channel and never nags anyone to answer.

Add to Slack

Free on one channel. No card, no account.

# security

Atomic RepsAPP9:00 AM

Rep of the Day

A team puts an internal API key inside a signed (not encrypted) JWT. Why is that unsafe?

πŸ›‘οΈ Auth Β· πŸ”₯ Level 3

A. JWS hashes the payload, so claim values cannot be recovered
B. Signing encrypts the payload so only the issuer can read it
C. A signed JWT proves integrity, but its base64url claims are fully readable by anyone holding it
D. Libraries strip non-standard claims on verify, dropping the key

Sofia Reyes8:40 AM

rotating the JWT signing keys tonight, low-traffic window

Elin Holm8:45 AM

reminder we still have a CORS-but-no-CSRF gap on the write endpoints

The product, playable, not a screenshot. Answer it here.

Free on one channel Β Β·Β  30 seconds to install

01The commands

Type /reps. Slack does the rest.

Every command answers where you typed it, in Slack’s own blocks, only to you. Pick a row and the window above shows what comes back.

CommandPlan

Practice

Your data

Apprentice

Settings

Atomic RepsAPP9:00 AM

Rep of the Day

A team puts an internal API key inside a signed (not encrypted) JWT. Why is that unsafe?

πŸ›‘οΈ Auth Β· πŸ”₯ Level 3

A. JWS hashes the payload, so claim values cannot be recovered
B. Libraries strip non-standard claims on verify, dropping the key
C. A signed JWT proves integrity, but its base64url claims are fully readable by anyone holding it
D. Signing encrypts the payload so only the issuer can read it

Only visible to you

Atomic RepsAPP9:03 AM

πŸ“– Close. Subtle distinction.

The answer

C: A signed JWT proves integrity, but its base64url claims are fully readable by anyone holding it

JWS (RFC 7515) gives integrity and authenticity, not confidentiality. Header and payload are base64url plaintext anyone can decode in one line. Use JWE or keep secrets server-side.

OWASP
/reps

What /reps shows the moment you type it: Slack’s autocomplete with every command, then the answer as the bot posts it.

02The price

Free on one channel. Team is priced per engineer.

Free is one channel, every level, for everyone in it. Team turns the rest on for the whole workspace, from ten engineers up, and the bigger the team the less each engineer costs.

FreeTeam
The daily question, every levelβœ“βœ“
ChannelsOneOne per squad
Topics aimed per channelβ€“βœ“
Practice on demand, any timeβ€“βœ“
Insights, on request and on a scheduleOne a dayUnlimited + scheduled
Stats, skills and standingsβ€“βœ“
The Career Ladder, an apprentice eachβ€“βœ“
The weekly recap in the channelβ€“βœ“
Icebreakers you host at a standupβœ“βœ“
A game that posts itself, every week–One per channel
$0a yearone channel$149a yearper engineer

Team starts at ten engineers. Add more and every engineer costs less, down to $63.96 at 250. 30 days free to start.

Per engineer, a year

  • $14910 seats
  • $119.6025 seats
  • $99.8050 seats
  • $79.90100 seats
  • $63.96250 seats
Every size, on the pricing page
03What Team turns on

One channel is a habit. Team is a practice.

Six things switch on. You aim them for each squad; your engineers just answer.

01/06A rep per squad

Every squad answers its own stack.

One channel means one mix. Give each squad its own, aimed at what it runs. You pick the topics per channel in the Hub, below.

  • #squad-frontendReact

    The button is clicked while an older request is still in flight. What does useOptimistic render as it resolves?

  • #squad-platformKubernetes

    During a rolling deployment users briefly see 502s. The readiness probe is configured. What is happening?

  • #squad-dataPostgres

    A busy table shows index bloat but negligible heap bloat. What explains the asymmetry?

Teams Β· 10 teams Β· 52 membersCreate Team

Platform

8 members6 of 9 topics in rotation
BackendDevOpsData
TemplateBackend Platform
Foundation 2/2 onthe non-negotiables for these domains
  • Git11 topicsT3
  • Testing strategies12 topicsT3
Recommended 4/4 onthe defaults for these domains
  • API design12 topicsT4
  • Databases12 topicsT4
  • Kubernetes8 topicsT4
  • Observability8 topicsT4
Explore 0/3 onopt-in stretches
  • Caching6 topics–
  • Message queues6 topics–
  • Accessibility10 topics–

Reps land on the team, or on one person you pick. You set what gets practiced, never who gets watched.

PlanTeamSlackAcme CorpDelivery2 channels Β· healthyMembers52
02/06Your skill report

Ask, and a report comes back to you.

/reps skills, whenever you like. Streak, accuracy, favourite topic, the domains you have touched this quarter.

Only visible to you

9:02

πŸ“Š Your Q2 2026 Skill Report

πŸ’ͺ Total Reps

148

🎯 Accuracy

82%

πŸ”₯ Best Streak

11 days

πŸ“š Domains Practiced

7 of 12

πŸ’› Favorite topic: React (31 reps)

βš™οΈ Backendβ–“β–“β–“β–“β–“β–“β–“β–“β–“β–‘9

🎨 Frontendβ–“β–“β–“β–“β–“β–“β–“β–“β–‘β–‘8

πŸ“Š Dataβ–“β–“β–“β–“β–“β–“β–“β–‘β–‘β–‘7

πŸš€ DevOpsβ–“β–“β–“β–“β–“β–“β–‘β–‘β–‘β–‘6

πŸ§ͺ Testingβ–“β–“β–“β–“β–“β–“β–‘β–‘β–‘β–‘6

πŸ”’ Securityβ–“β–“β–“β–“β–‘β–‘β–‘β–‘β–‘β–‘4


03/06Standings

A board with names on it, once three people are answering.

Ranked by correct, then by attempts, ten places. You appear as Player-4314 until /reps nickname puts your name up.

Only visible to you

9:02

πŸ† Standings

1.Astrid B.Β· 142 correct Β· πŸ”₯ 9

2.Erik L.Β· 131 correct Β· πŸ”₯ 7

3.YouΒ· 121 correct Β· πŸ”₯ 6

4.Hannah W.Β· 98 correct Β· πŸ”₯ 4

5.Tyler B.Β· 87 correct Β· πŸ”₯ 2

Ranked by correct, then attempts Β· /reps nickname puts your name up

04/06Insights

One sharp thing about the stack you run.

/reps insight postgres on request. Or a topic routed to a channel, on the days you pick.

Only visible to you

9:02

When does a partial index outperform a full B-tree index?

If 95% of your orders are status = 'completed' and queries only filter for status = 'pending', a partial index on (created_at) WHERE status = 'pending' is 20x smaller and faster than indexing the entire table.

πŸ’‘ Daily Insight Β· πŸ“Š Postgres

05/06The recap

Friday tells you what the week was about.

A thread under Friday’s rep with the questions that came up.

Atomic RepsAPP4:00 PM

Friday recap Β· #squad-platform

Three reps this week. The one that split the room:

CPU throttling on a container with a 500m limit. Usage shows 200m on average. How is this possible?

Looked right: β€œA reporting lag in metrics-server.” Β The tell: CFS meters each 100ms window, not the average.

πŸš€ Kubernetes Β· πŸ”₯ Level 3 Β· threaded under Friday’s rep

06/06Notification control

Each thing that arrives has its own setting, including off.

The recap weekly, monthly, quarterly or never. Setup nudges weekly or off. /reps mute for your own DMs.

The recap
Setup nudges
Your DMs
Add to Slack

Free on one channel. Team turns the six on.

It arrives where the work already is.

04The Career Ladder

Field guide to your future apprentice.

The reason an engineer is still answering on day forty. On Team every engineer gets one, and in Slack it arrives as an egg in your App Home. /reps pet hatch opens it. Twelve species, one roll, no choosing. Do a rep with whoever comes out and it learns what you just proved, then climbs the same role ladder you climbed.

Plate No. 1APPRENTICES OF THE ENGINEERING WILDHatchable species Β· as they appear in Slack
  • Fig. 1

    Anas intrepida

    The Duck

    Bold and game, learning to look before he leaps.

  • Fig. 2

    Bubo mensor

    The Owl

    Gruff old-timer, secretly your biggest fan, measures twice.

  • Fig. 3

    Testudo serena

    The Turtle

    Unhurried, kind, the calm in the room.

  • Fig. 4

    Pygoscelis fortis

    The Penguin

    Nervous, kind, brave anyway.

  • Fig. 5

    Canis optimista

    The Dog

    Eager optimist, takes every correction as a gift.

  • Fig. 6

    Vulpes elegans

    The Fox

    Curious puzzle-lover, learning that simpler wins.

  • Fig. 7

    Cricetus sincerus

    The Hamster

    Small and earnest, honest about real progress.

  • Fig. 8

    Rana unifocus

    The Frog

    Lively, learning to finish one thing first.

  • Fig. 9

    Octopus deliberans

    The Octopus

    Many-angles thinker, learning to decide and move.

  • Fig. 10

    Ceratotherium tenax

    The Rhino

    Strong and gritty, learning to aim not barge.

  • Fig. 11

    Felis solivaga

    The Cat

    Self-sufficient perfectionist, learning that asking is not weakness.

  • Fig. 12

    Procyon reficiens

    The Raccoon

    Scrappy tinkerer, learning to clean up what he builds.

Life cycle

egg β†’ junior β†’ mid β†’ senior β†’ staff β†’ lead

Ten career paths, backend to people management. Real role titles, real skill bars, and it can only climb on what it has learned.

Diet

Pebbles, earned from your correct answers. Spent at its shop on courses, snacks, and gear. Tiers unlock on skill: it cannot buy its way past what it hasn't learned.

Graduation

Once it tops the ladder you can send it off, grown into who you raised, with a title and a career of its own. Then a fresh egg, a bare desk, and the Pebbles you saved.

Field recording Β· after a rep

β€œDove in before I read the whole thing, caught myself, slowed down, then it clicked. Next.”
Specimen: Anas intrepida (the Duck)

All voices and observations transcribed verbatim from the species files. Each figure is the emoji Slack shows beside its name; nothing is drawn that you will not meet. Which species hatches is the egg's decision alone. Species is a tilt, not a class.

06If you cannot install it yourself

Most workspaces let anyone add an app. Some do not.

If yours is one of the strict ones, send this to whoever can. It is written to be read by a person, not forwarded as a pitch deck.

The pitch, ready to pasteSlack DM

Hi, have you heard of Atomic Reps? They teach software engineers right inside Slack. It works like this: a bite-sized question shows up in the channel, you think for a moment, then the answer and the explanation land under it. That little reach into memory? It's called retrieval practice, one of the best-established ways to make things stick. Nothing to schedule, nothing to sit through, it barely feels like studying. But a small thing every day compounds fast. You're the one who can add apps here, so I'm sending it your way. Wanna take a look? https://staging.atomicreps.com

AtomicReps

You already answered one

The rest is your channels: a real question every morning, an icebreaker when you want the standup to start with one, and a team that keeps showing up.

Free. No card, no account.

Questions about the integration: support@atomicreps.com. We aim to answer within two business days. See also Support. Atomic Reps is not created by, affiliated with, or endorsed by Slack Technologies, LLC.