Do this
Be specific about data fields
Track contacts with:
- Full name
- Email address
- Phone number
- Company name
- Job title
- LinkedIn profile URL
Specify field types when it matters
Track deals with:
- Deal name (text)
- Amount (currency)
- Close date (date)
- Probability (percentage)
- Status (new, negotiating, won, lost)
Common field types to specify:
Currency : “amount (currency)” or “price in dollars”
Date : “due date” or “close date”
Percentage : “probability (percentage)”
Options : “status (option A, option B, option C)”
Yes/No : “is active (yes/no)” or “completed (checkbox)“
Describe relationships clearly
Build a project system where:
- Projects have a name and description
- Each project has multiple tasks
- Tasks have a title, due date, and status
- Each task is assigned to one user
Request specific visualizations
Add a dashboard with:
- Total revenue card
- Number of deals card
- Pie chart showing deals by status
- Line chart showing monthly revenue trend
Define options explicitly
Status options: draft, pending review, approved, rejected
Priority levels: low, medium, high, critical
Don’t do this
Don’t reference other products
Don't do this
Do this instead
Build something like Asana
Make it work like Notion
Copy the Salesforce pipeline
Why: Gainable doesn’t know what features you want from those products. Describe the specific features you need.
Don’t use vague design terms
Don't do this
Do this instead
Make it modern
Keep it clean
Professional looking
Don’t request everything at once
Don't do this
Do this instead
Build a complete CRM with leads, contacts, companies,
deals, tasks, emails, calendar, reports, dashboards,
team management, permissions, notifications, and
mobile app with offline support.
Don’t assume Gainable knows your domain
Don't do this
Do this instead
Build a standard e-commerce checkout flow
Add the usual project management features
Updating existing apps
When modifying an app you’ve already built:
Reference existing elements
Add a due date field to the Task model
Specify where to make changes
On the deals page, add a filter dropdown for status
Build on what exists
Add a chart showing Tasks grouped by status
Asking questions vs requesting builds
Gainable can answer questions about your project without making changes.
To ask a question
How does the task filtering work?
What fields does the Deal model have?
Where is the dashboard code?
To request a change
Add a due date field to tasks
Change the dashboard to show monthly data
Fix the filter to include all statuses
Start questions with “how”, “what”, “where”, or “explain” to get information without triggering a build.
Recovery from mistakes
If something wasn’t built correctly:
Be specific about what’s wrong
The deal amount is showing without the dollar sign.
Format it as currency.
Describe what you expected
The chart should show deals grouped by status, but
it's showing them grouped by company. Change it to
group by status.
Quick reference
Situation Best Practice Defining data List all fields with types Connecting data Explicitly state relationships Adding charts Name the chart type and what data it shows Adding features Use feature names (kanban, chat, filter) Styling Reference theme names or specific colors Updating Reference existing elements by name Fixing issues Describe what’s wrong and what you expected
Learn more