<aside> 🎯

Build a Notion-style @-mention menu. Type into an input and get back ranked, selectable results of pages, people, and dates.

This is Notion’s take home exercise for 2026/27 early-career candidates.

</aside>

What you’re building

Notion's @ menu (particularly in the age of AI, where context is everything) is one of our most-used surfaces in the product. Within a few keystrokes, someone expects the right page, person, or date at the top of the list—rendered cleanly and selectable from the keyboard. In this take home, you’ll build a small version of it from a bit of starter code.

For a page mention.

For a page mention.

Within our agent chat panel.

Within our agent chat panel.

To start, try out the @ menu within the product. You can do things like mentioning a page, a person in your workspace, or a date (either exact or relative—for example, @tomorrow).

In this exercise, we’ll provide you with a skeleton of this feature. You’ll extend it, in a way of your choosing. This prompt below is deliberately over-specified. You are not expected to implement everything. We care far more about what you choose to build, how well you build it, and how you reason about what you left out.

What's provided

The task

Build out the mention menu. We’ve provided a very light skeleton for you to start with, which will render search results for fake page data as you type. (No people or dates.)

Below is an unordered list of improvements you could make to the mention menu. There is no priority and no single right answer. It’s also not definitive; you may choose to do something outside of this list! Pick up a few tasks that demonstrate your strengths (in terms of both engineering and product thinking); be prepared to justify your choices!

Do not feel the need to re-implement Notion’s @ menu exactly as it is today. You may (and are encouraged) to seek out improvements. Your finished product should be focused and polished.