Insight O' Mate

Amazon DynamoDB

DynamoDB AI Query Generator — plain English to expressions.

Insight O\u2019 Mate is an AI-powered DynamoDB query assistant. Type a question in plain English; it generates the Query or Scan operation with automatic KeyConditionExpression, FilterExpression, ExpressionAttributeNames (reserved word handling), and ExpressionAttributeValues.

What is Insight O' Mate for DynamoDB?

Insight O' Mate is a Text-to-DynamoDB platform and AI DynamoDB query generator. Developers connect their DynamoDB table using AWS credentials, then ask questions in plain English. The NLP engine generates the full DynamoDB SDK Query or Scan parameter object — including correct type descriptors and automatic ExpressionAttributeNames for reserved words — and executes it locally against AWS DynamoDB.

How it works

01

Connect your DynamoDB table

Enter your AWS Access Key ID, Secret Access Key, and region. Insight O’ Mate stores credentials in your OS keychain. They never leave your machine.

02

Ask in plain English

Describe what you need: "Get all orders for customer user-123 in the last 30 days." The NLP engine receives your prompt and attribute names — never your item values.

03

Get the expression and results instantly

The full DynamoDB SDK parameter object is generated — KeyConditionExpression, FilterExpression, ExpressionAttributeNames, ExpressionAttributeValues — and executed against AWS directly from your machine.

Natural language DynamoDB query examples

Real examples showing plain-English questions translated into DynamoDB SDK parameters with automatic expression and reserved-word handling.

YOU

Get all orders for customer 'user-123' placed in the last 30 days.

Generated DynamoDB operation

// Generated DynamoDB Query operation
const thirtyDaysAgo = new Date();
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);

const params = {
  TableName: "orders",
  KeyConditionExpression:
    "customerId = :cid AND createdAt >= :date",
  ExpressionAttributeValues: {
    ":cid": { S: "user-123" },
    ":date": { S: thirtyDaysAgo.toISOString() },
  },
};

Query operation using partition key (customerId) and sort key range (createdAt). Automatically generates ExpressionAttributeValues with the correct DynamoDB type descriptors.

YOU

Find all products in the 'Electronics' category with a price under $100.

Generated DynamoDB operation

// Generated DynamoDB Scan with FilterExpression
const params = {
  TableName: "products",
  FilterExpression:
    "#cat = :category AND #price < :maxPrice",
  ExpressionAttributeNames: {
    "#cat": "category",
    "#price": "price",
  },
  ExpressionAttributeValues: {
    ":category": { S: "Electronics" },
    ":maxPrice": { N: "100" },
  },
};

Uses ExpressionAttributeNames (#cat, #price) to avoid reserved word conflicts — 'price' is a reserved word in DynamoDB. Insight O' Mate handles this automatically.

YOU

Count all active subscriptions in the subscriptions table.

Generated DynamoDB operation

// Generated DynamoDB Scan with Count
const params = {
  TableName: "subscriptions",
  FilterExpression: "#status = :active",
  ExpressionAttributeNames: {
    "#status": "status",
  },
  ExpressionAttributeValues: {
    ":active": { S: "active" },
  },
  Select: "COUNT",
};

Uses Select: 'COUNT' to return only the count without fetching item data, and handles 'status' as a reserved word automatically.

YOU

Get the most recent order for customer 'user-456'.

Generated DynamoDB operation

// Generated DynamoDB Query — most recent item
const params = {
  TableName: "orders",
  KeyConditionExpression: "customerId = :cid",
  ExpressionAttributeValues: {
    ":cid": { S: "user-456" },
  },
  ScanIndexForward: false,
  Limit: 1,
};

Queries by partition key, sets ScanIndexForward to false for descending sort-key order, and limits to 1 result to get the most recent order.

YOU

Find users whose name starts with 'Alex'.

Generated DynamoDB operation

// Generated DynamoDB Scan with begins_with
const params = {
  TableName: "users",
  FilterExpression: "begins_with(#name, :prefix)",
  ExpressionAttributeNames: {
    "#name": "name",
  },
  ExpressionAttributeValues: {
    ":prefix": { S: "Alex" },
  },
};

Uses the begins_with function in FilterExpression. 'name' is handled via ExpressionAttributeNames since it's a reserved word.

YOU

Find all payments between $100 and $500.

Generated DynamoDB operation

// Generated DynamoDB Scan with BETWEEN
const params = {
  TableName: "payments",
  FilterExpression: "#amount BETWEEN :min AND :max",
  ExpressionAttributeNames: {
    "#amount": "amount",
  },
  ExpressionAttributeValues: {
    ":min": { N: "100" },
    ":max": { N: "500" },
  },
};

Uses the BETWEEN operator in FilterExpression with numeric type descriptors ({ N: '100' }) for correct DynamoDB comparison.

YOU

List all failed payment transactions from last week.

Generated DynamoDB operation

// Generated DynamoDB Scan
const oneWeekAgo = new Date();
oneWeekAgo.setDate(oneWeekAgo.getDate() - 7);

const params = {
  TableName: "transactions",
  FilterExpression: "#status = :failed AND createdAt >= :weekAgo",
  ExpressionAttributeNames: {
    "#status": "status",
  },
  ExpressionAttributeValues: {
    ":failed": { S: "failed" },
    ":weekAgo": { S: oneWeekAgo.toISOString() },
  },
};

Scans with a compound FilterExpression combining status equality and date range filters.

Who uses Insight O' Mate for DynamoDB?

AWS developers

Skip writing KeyConditionExpression and ExpressionAttributeValues by hand. Describe your query in plain English and get the correct DynamoDB SDK parameters with reserved-word handling included.

Backend engineers new to DynamoDB

DynamoDB's expression syntax is notoriously verbose. Insight O' Mate generates the full parameter object — partition key, sort key ranges, filter expressions, and type descriptors — from plain English.

Data analysts working with DynamoDB

Explore DynamoDB table data without learning AWS SDK expression language. Ask filtering and counting questions in plain English.

DevOps and SRE engineers

Perform ad-hoc DynamoDB inspection during incidents without context-switching to write SDK code. Natural language queries for any table in any region.

When to use Insight O' Mate for DynamoDB

  • Exploring DynamoDB tables without memorising expression syntax
  • Quickly counting or filtering items in a table for operational purposes
  • Debugging access pattern issues or unexpected data in DynamoDB
  • Prototyping Query and Scan operations before embedding them in application code
  • Working with tables that have many reserved-word attribute names
  • Generating correct ExpressionAttributeValues type descriptors ({ S }, { N }, { BOOL })

When NOT to use it

  • When you need write operations (PutItem, UpdateItem, DeleteItem) — Insight O’ Mate is read-only
  • For DynamoDB Streams processing or trigger management
  • For DynamoDB table provisioning, capacity planning, or schema design
  • For complex multi-table transactions

Privacy-first by design

When you ask a question, Insight O' Mate sends only your prompt and your DynamoDB attribute names to the stateless NLP engine — never your item values, never your AWS credentials. Credentials are stored in your OS keychain. Queries execute directly against AWS from your machine.

Read the full security and privacy model

Frequently asked questions

Can I query DynamoDB using natural language?
Yes. Insight O’ Mate translates plain-English questions into DynamoDB Query and Scan operations, automatically generating KeyConditionExpression, FilterExpression, ExpressionAttributeNames, and ExpressionAttributeValues.
How does Insight O’ Mate handle DynamoDB reserved words?
It automatically detects attribute names that are DynamoDB reserved words (like 'name', 'status', 'count', 'size', 'type') and wraps them in ExpressionAttributeNames using #aliases. You don't need to remember which words are reserved.
Does Insight O’ Mate support DynamoDB Global Secondary Indexes (GSIs)?
Yes. Specify the index name in your question (e.g., 'Query the email-index GSI for user@example.com') and Insight O’ Mate generates the Query with the correct IndexName parameter.
What DynamoDB operations can Insight O’ Mate generate?
Query (with KeyConditionExpression and optional FilterExpression), Scan (with FilterExpression), GetItem, BatchGetItem, and paginated Scan/Query patterns. Write operations (PutItem, UpdateItem, DeleteItem) are not generated.
Is my DynamoDB data sent to any server?
No. Your DynamoDB item values never leave your machine. Only your prompt and attribute names are sent to the stateless NLP engine for expression generation.
Does Insight O’ Mate work with DynamoDB in any AWS region?
Yes. Configure your AWS credentials (Access Key ID, Secret Access Key, and region) in the desktop app. Insight O’ Mate connects to DynamoDB in any supported AWS region.
Does it support single-table design patterns?
Yes. You can specify the primary key structure and access patterns in natural language. For example: 'Get all orders for customer PK:USER#123 where SK begins with ORDER#'.

Start querying DynamoDB in plain English

Free plan available — 20 queries per day. No credit card required.