Prompting tips
These techniques help you communicate clearly with Felt AI—whether you're building Extensions, designing popups, writing SQL queries, or just exploring your data.
What Felt AI can help you build
Extensions — Custom interactions that let users filter, explore, and analyze map data. Users can click features, apply filters, view statistics, navigate the map, and more—all without writing code.
Custom popups — Rich, formatted displays that appear when users click features. Show styled attributes, images, links, and conditional formatting. Great for making raw data readable.
SQL queries — Turn natural language questions into SQL that runs against your cloud database. Results appear as live map layers that update with your data. Works with PostGIS, Snowflake, BigQuery, Redshift, and Databricks.
Data exploration and ideation — Ask Felt AI about your layers, attributes, and schemas. Brainstorm what to build, explore what's possible, or get suggestions for how to approach a spatial problem.
Plan before you prompt
Define your intent
Before using Felt AI, define what spatial problem you're solving. Use a quick planning session to answer these questions:
What spatial problem does this solve?
Who will use this tool and in what context?
What map interactions or data do they need?
Framing the context helps Felt AI make better decisions and improves the quality of solutions it generates:
Good:
You're helping a city planner identify parcels suitable for affordable housing. Build an Extension where I click a transit stop and see all residential-zoned parcels within 400 meters that are larger than 5000 square feet.
Weak:
Analyze parcels near transit.
Understand your data
Felt AI can see the layers on your map and the schema of connected databases. But you'll write better prompts—and get better results—when you understand your own data: what attributes exist, what values they contain, and what questions they can answer.
Quick ways to explore:
What layers are on this map and what attributes does each one have?
What tables are in my database? What spatial analysis could I run on the fire incidents data?
Start with a conversation
If you're unsure what you can build or how to specify everything upfront, ask Felt AI what additional information it needs before it starts building. This back-and-forth often surfaces details you hadn't considered and prevents wasted iteration.
I want to build a tool that helps users explore permit data. What questions do you have about my data or how this should work?
You can also ask Felt AI what's possible:
What Extension can you build for this use case? What spatial analysis can I run on my database? How should I format this popup to be useful for real estate agents?
Ask for explanations
If you aren't sure how something works or if you want to work with Felt AI to refine a solution, start by asking for an explanation:
Explain how this Extension works step by step.
Walk me through this SQL query and why you structured it that way.
Get literal with your data
Use exact names
Generic references create ambiguity. Use actual layer names, attribute names, and values from your data when possible.
Good:
Filter the "permits" layer to show only records where permit_type is "residential" and status is "pending".
Weak:
Show me the pending residential permits.
Handle edge cases
Tell Felt AI what to do when data is missing or filters return nothing.
If no features match the filter, show "No results found" instead of an empty list.
If assessed_value is null, display "Not available" instead of blank.
Describe the format you want
When output format matters, give an example:
Format dates as March 15, 2025 not 2025-03-15
Display currency as "$1,250,000" with commas and dollar sign
Build incrementally
Complex tools built in one prompt usually require a lot of fine-tuning. For best results build incrementally because:
Each step is small and testable
You can verify functionality before adding complexity
Easy to debug issues at each stage
You can adjust direction based on what works well
Builds confidence in the tool's reliability
For complex tools with multiple interactive features, numbering your requirements helps Felt AI follow the logic:
Good:
Build a permit tracking Extension that:
Lists all features from the permits layer in a panel with address, type, and status
Add filters for permit_type and status
Add a button for each permit in the list so when I click it highlights it on the map
Weak:
Build a permit tracking Extension that shows all features from permits in a panel with address, type, and status and add filters for permit_type and submitted_date range and when I click a permit in the list highlight it on the map
Refine instead of restarting
When you are in the refinement stage, first check each layer of functionality. For example:
Do clicks, filters, and selections behave correctly?
Can you see the right features and attributes?
Are calculations and spatial queries returning expected results?
Are edge cases handled and formatting correct?
When something isn't right, adjust and refine rather than starting over.
Fix behavior:
The count isn't updating when I change the filter—can you check why?
Simplify:
Remove the chart, just keep the attribute summaries.
Ask for alternatives:
What are two different ways to let users compare parcels side by side?
Tips for extensions
Extensions are interactive tools where users click, filter, and explore. Think: "when the user does X, show them Y."
Good:
Create an interactive tool where I can click on any school to find nearby parcels. When I click a school:
Draw a 500-meter buffer around it
Spatially filter the parcels within that radius
Show a panel with the school name, count of nearby parcels, and a list of those parcels with their zoning type and assessed value
Clear previous results when I click a different school
Weak:
Find parcels near schools.
What to specify:
The trigger (click, select, filter change)
What layers are involved
What should display in the panel
What visual feedback appears on the map
How to reset or clear previous results
Tips for popups
Popups display formatted information when users click a feature.
Good:
Create a popup for this layer showing:
Address as a bold heading
Price formatted as currency
Bedrooms and bathrooms as "3 bd | 2 ba"
Square footage with comma separator
A link to "View listing" using the listing_url attribute
Weak:
Add a popup for properties.
What to specify:
Exact attributes to show and their format
Any conditional styling or specific branding (color-code status values, show icons)
Links or images to include
Tips for SQL queries
SQL queries let you ask spatial questions of your database. Felt AI translates your question into SQL and returns results as a map layer.
Good:
Find all fire stations within 2 miles of areas where response times exceeded 10 minutes last year. Join with the incidents table and show the count of slow responses per station.
Weak:
Show me fire station coverage.
What to specify:
The spatial relationship you're looking for (within distance, intersects, contains)
Which tables to use
Any filters or conditions
What attributes to include in results
Tip: If you're unsure about your schema, ask first:
What tables do I have related to emergency response? What fields are available?
Last updated
Was this helpful?