Lucas Brito

Product Builder

Ideator

Describe what you need ideas for, and I'll help you brainstorm.

How I build

A quick look at how I define problems, set constraints, and build systems.

The Problem

Reddit post about ideation struggles

Before building anything, I start by finding a problem worth solving, I came across posts like this one from people struggling with ideation, feeling logical and structured, but blocked when it came to thinking outside the box. That pain point resonated with me: ideation often feels messy, slow, and overwhelming. I wanted to design a system that makes idea generation structured, fast, and approachable.

Building the Solution

Once I identified the problem, my process was to step back and look at the big picture. I break it down into three phases:

  • Define the requirements: what must this system do to solve the problem?
  • Design subsystems that meet those requirements.
  • Map out the full architecture to see how it all ties together.

This structured approach helps me create clarity before jumping into technical details, ensuring the solution directly addresses the problem.

Requirements

Functional requirements are the backbone of my process. They set the success criteria and define the constraints I design within. When developing them, I focus on both the problem and the user, making sure the solution is not only effective but also intuitive and pleasant to use. For this tool, I defined requirements like: generating at least 10 unique ideas, supporting instant replacements, and allowing users to mark and copy preferred ideas with one click.

Functional Requirements

  1. 1Must accept only one text input from the user to start idea generation
  2. 2Must provide a minimum of 10 unique ideas
  3. 3Must allow users to replace individual ideas with 1 click
  4. 4Initial generation must return within ≤ 3 seconds
  5. 5Replacement ideas must return within ≤ 100 ms
  6. 6System must be able to request additional information when initial input is too vague
  7. 7Replacement ideas must avoid duplicates and near-duplicates from previous generations
  8. 8Must allow users to mark their preferred ideas
  9. 9User must be able to copy preferred ideas in 1 click

Subsystems

With requirements in place, I outlined the subsystems. Each one directly supports one or more requirements, from the Input Assessment System (ensuring user prompts are clear enough) to the Replacement System (avoiding duplicates when generating new ideas). Together, these subsystems form the structure needed to meet the requirements.

Subsystems

A. Storage System

2478

Store ideas to display to users.

B. Input Assessment System

16

Analyze user's initial input to determine whether it is sufficient information to begin ideation.

C. Clarifier System

6

Present 3-6 scoped chips (audience, style, domain, timeframe, etc.).

D. Idea Generation System

247

LLM call with: user prompt + selected chips + preference signals.

E. Replacement System

3578

Generates new ideas in the context of all prior ideas.

F. Preference System

8

Records keywords/tags from marked ideas.

G. Exporter System

9

1 Click copy button for all marked preferred ideas.

System Architecture

Finally, I created a system architecture diagram to visualize the flow of inputs, transformations, and outputs. This shows exactly how a user's text input travels through assessment, clarification, generation, and storage, before becoming usable ideas.

Ideator system diagram

This structured approach isn’t limited to building tools, it can be applied to almost any kind of work. Whether designing software, shaping a workflow, or improving people-to-people processes, the steps remain the same: start with a real user need, define measurable requirements, break the solution into systems, and tie them together into a coherent process. Even if the details evolve, this foundation ensures the solution addresses the right problem.