tezvyn:

How do you determine if a user is 'new' for a setup guide?

AI-drafted, machine-checkedSource: appcues.combeginner
How do you determine if a user is 'new' for a setup guide?

This tests whether you separate account age from user state for onboarding. Good answers compare created_at (brittle) with a persistent flag (idempotent) and consider milestones. A red flag is using a timestamp as a permanent new proxy without managing reruns.

WHAT THIS TESTS: This question evaluates whether you can separate the concept of account age from user readiness and product state. Interviewers want to see that you understand onboarding is an ongoing system rather than a one-time event, and that new is a product definition that can change based on roles, milestones, or feature adoption rather than a fixed timestamp.

A GOOD ANSWER COVERS: A strong response walks through at least three methods in order of robustness. First, using a created_at timestamp. It is easy to query and requires no extra state, but it is brittle. If you backfill users, restore data, or need to re-show the guide after a redesign, the timestamp does not change and the logic breaks. Second, using a dedicated has_seen_setup_guide boolean or a versioned flag. This is idempotent and precise because it records the interaction itself, but it introduces a write path and storage cost. You must also decide when to flip it: on render, on dismiss, or on completion. Third, milestone or activation-based gating. Instead of asking when the user was created, ask whether they have performed a key action that makes the guide irrelevant. This aligns with the principle that onboarding should guide users to repeatable value and can support segmented flows for different roles. A senior candidate also mentions combining these, such as using a timestamp for the initial query and a flag for persistence, or wrapping the logic behind a feature flag for experimentation.

COMMON WRONG ANSWERS: The biggest red flag is insisting that created_at is sufficient without discussing what happens on data migrations, reruns, or guide updates. Another weak pattern is proposing local storage or a cookie as the source of truth for a logged-in experience, which fails across devices and incognito sessions. A third mistake is treating onboarding as a single checklist to complete rather than an evolving system that spans multiple sessions.

LIKELY FOLLOW-UPS: The interviewer may ask how you would handle showing an updated guide to existing users, how you would support A/B testing the guide placement, or how you would prevent the guide from flashing on screen before your client-side check resolves. They might also ask how you would personalize the guide for different user roles or use cases.

ONE CONCRETE EXAMPLE: Suppose you ship a setup guide that prompts users to invite a teammate. If you gate it on created_at within 24 hours, a user who signs up at 11 PM and returns at 9 AM the next day might never see it. If you use a has_seen_setup_guide flag set to false by default, you can show it across sessions until they dismiss or complete it. Better yet, you only show it while the user has zero invites sent, turning the guide into a milestone-driven prompt that disappears naturally once they have achieved that early win.

Source: appcues.com

Read the original → appcues.com

Get five bites like this every day.

Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.