Feedback management for indie apps

Signal shoot

Add a feedback box to your app.

One API call collects bugs, requests, and inquiries into one inbox. HMAC-signed writes and a user-data deletion endpoint ship with it.

Signal shoot inbox

Who it's for

For developers handling user voices on their own.

Indie devs

You shipped an app but have nowhere for users to send feedback

No time to build a contact form — but you still want to hear from users.

Small teams

Bugs, requests, and inquiries all land in the same email inbox

You want them sorted, but not at the cost of onboarding a support platform.

Side projects

Limited time means you need to triage fast

One place to see what's unread and what needs a reply.

Why it feels different

Why Signal shoot stays light

Collect feedback directly from your apps and services.

No SDK

Drop in a plain HTTP request instead of carrying another client dependency.

Built for indie apps

The workflow assumes one developer or a very small team, not enterprise process.

Predictable pricing

Core receive, reply, and export ship on every plan. Automation (webhooks) starts at Pro.

Replies without extra bloat

Inbox, replies, and action items are part of the same flow.

How it works

From in-app forms to your dashboard

Feedback sent from in-app forms, collected into one screen.

iOS

Web

Android

Signal
shoot

Dashboard

Unread 3
This month 47
bugiOS

Screen freezes

requestWeb

Add dark mode

inquiryAndroid

Pricing question

Integration

One API call. That's it.

Route support, bugs, requests, and review notes through one endpoint and straight into your inbox.

Example
fetch('https://api.signalshoot.com/v1/ingest/YOUR_APP_ID', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_KEY',
  },
  body: JSON.stringify({
    type: 'bug',
    channel: 'contact',
    message: userMessage,
  }),
});
01

Drop in one fetch call

No SDK install. Works with React Native, Flutter, Swift, Kotlin, or anything that speaks HTTP.

02

Tag, prioritize, act

Every feedback lands in your inbox. Add tags, set priority, create action items. Turn noise into direction.

03

See what matters

Dashboard shows where the pain is. By type, by tag, by priority. Recurring topics highlight what users mention most.

Your design

You own the UI

Design the feedback form however you want.

Send feedback

Type

bug

Message

Send

Modal

Popup overlay form

Floating button

Always visible in the corner

Category

Bug report

Message

Submit

In-app form

Embedded in your existing UI

Feedback Ops

More than collection

From receiving feedback to resolving it — one dashboard handles the full loop.

Receive and categorize

Sort incoming feedback by type, priority, and tags. Unread and reply-needed items stand out.

Turn into improvements

Create tasks from feedback. Track your app's progress visually.

Reply

Respond directly to users. Two-way communication keeps them informed.

Capabilities

Built for solo developers, not enterprise teams.

Just the workflow solo developers actually need. No enterprise bloat.

In-app feedback

Collect any type of feedback through a single API — bug reports, feature requests, support inquiries, or your own custom categories. Your users never leave the app.

Store review logging

Paste reviews from App Store and Google Play to log them. Auto-detect ratings, versions, and tags.

Translate anything

One-click AI translation. Read feedback in your language, regardless of where your users are. Signal shoot asks for consent once per browser tab before sending the message for translation.

Priority & tags

Mark what's urgent. Tag by area. Filter by channel. Find the signal in the noise.

Action items

Turn feedback into tasks. Link multiple reports to one fix. Track what shipped.

Reply to users

Close the loop. Reply from the dashboard, show it in the app. Users know you're listening.

How it compares

The minimum you actually need.

No SDK, no complex setup.

Signal shootBug trackersFeedback SaaSSupport tools
IntegrationOne HTTP POSTSDK requiredWidget / SDKWidget embed
DependenciesNoneSDK requiredSDK / scriptScript
UI customizationFully customLimitedWidget-boundWidget-bound
CoverageBugs, requests, inquiriesBugs onlyRequests onlyTickets
Two-way repliesYesNoPartialYes
AutomationWebhook (Pro+)PartialVia ZapierVia Zapier
Built forSoloTeamsTeamsTeams

Pricing

Pricing that respects indie budgets.

No per-user fees. No growth tax. Scale without surprises. Core features on every plan. Automation (webhooks) starts at Pro.

Free

$0/mo

For side projects and early apps

  • +Apps: 1
  • +Feedbacks: 200/month
  • +Retention: 6 months
  • +Export: CSV + JSON
  • +Webhook: —
Most balanced

Pro

$7/mo

For apps with real users

  • +Apps: 5
  • +Feedbacks: 1,000/month
  • +Retention: unlimited
  • +Export: CSV + JSON
  • +Webhook: yes

Infinite

$20/mo

No limits. No surprises.

  • +Apps: unlimited
  • +Feedbacks: unlimited
  • +Retention: unlimited
  • +Export: CSV + JSON
  • +Webhook: yes

Trust

The hard parts, built in

HMAC-signed writes, deletion endpoint, hashed keys. Nothing you'd need to rebuild on a weekend.

HMAC-signed writes prevent user_id spoofing

Clients can't forge writes as another user. The foundation you need the moment you ship two-way replies.

Apple 5.1.1(v) / GDPR deletion API

DELETE /v1/feedback/{app_id}/user/{user_id} immediately removes a user's feedback and replies. One less piece to hand-roll for account deletion flows.

Cloudflare infrastructure

DDoS, global edge, TLS 1.3. Running on Workers + D1.

Hashed API keys

SHA-256 stored only. Plaintext shown exactly once at issue time.

Fix what matters. Ship what works.