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 kinds of Extensions 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 the 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:

  1. Lists all features from the permits layer in a panel with address, type, and status

  2. Add filters for permit_type and status

  3. 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?

Prompting by capability

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:

  1. Draw a 500-meter buffer around it

  2. Spatially filter the parcels within that radius

  3. Show a panel with the school name, count of nearby parcels, and a list of those parcels with their zoning type and assessed value

  4. 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

Custom 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

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?