Election Tracker
Free on iPhone · No account

The polls, by race — averaged, dated, and sourced.

Election Tracker collects the US polling that actually gets published and puts it in one place. Senate, House, governor and 2028 primary polls grouped by race, each with a 30-day average that shows its work; presidential approval with a 90-day trend; and prediction-market prices, labelled as the sentiment they are.

no account last good data kept offline light & dark every screen names its source
The Approval Rating screen: Approve 40.0% in blue and Disapprove 58.0% in red over a split bar, net approval −18.0, and a 90-day trend chart with both series
Election Polls

Grouped by race, not by headline.

Four tabs, and inside each, every race that has polling — newest first. A poll without its pollster, sample and field dates is just a number, so every card carries all three.

  • Pollster, sample size, population (likely voters, registered voters, adults) and field dates on every card
  • A 30-day polling average per race — and a trend line once a race has enough polling over enough time
  • The generic congressional ballot under House; both parties' primaries under 2028
  • Filter a long list by name — a state, a race, a candidate

Poll data from VoteHub. Coverage follows what pollsters publish, so a race thickens out as it heats up.

The Election Polls screen on the Senate tab: a filter field, the 2026 Michigan race with its 4-poll average as red and blue bars, an average-over-time chart, and an EPIC-MRA poll card beneath
The average

An average that shows its work.

Most polling averages are a black box. This one has three rules, and they're short enough to print.

Duplicates collapse

A pollster that polls the same race three times in a month counts once, at its strongest sample — so one prolific shop can't swamp the average.

Newer polls weigh more

Linear recency weighting across a 30-day window. Last week's poll pulls harder than one from four weeks back.

A minimum number of appearances

A candidate has to turn up in enough polls before they're averaged at all. One-poll wonders stay on their own card.

Polling Average35 polls · May 30 – Jun 29
Dem47.0%
Rep41.8%
Average over time
DemRep
same-pollster dupes → strongest nlinear recencymin. appearances

The card from the House tab — the generic congressional ballot, 35 polls over 30 days. Every race with polling gets one.

Approval Rating

Approve, disapprove, net — and ninety days of context.

The headline numbers up top, a 90-day trend beneath, and every individual poll under that with its sample and dates. Drawn from VoteHub, with the New York Times polling average as a fallback source.

  • Approve and disapprove side by side, the net number, and whether it's rising, falling or stable
  • A 90-day trend with both series on one chart
  • Recent polls beneath, each with n, population and field date
  • Light and dark themes that follow your device — this is the dark one
The Approval Rating screen in dark mode: Approve 40.0% and Disapprove 58.0% over a split bar, net approval −18.0, a 90-day trend chart, and a YouGov poll card
Market Sentiment

What traders think, labelled as exactly that.

Current Polymarket prices for the races people are watching, with 24-hour moves on the leading outcomes. Prices are trader sentiment, not forecasts — and the screen says so before it shows a single number.

  • Read-only: the app takes no wagers, holds no funds and processes no transaction
  • 24-hour move badges on the leading outcomes of each card
  • A link out to the public market page if you want the rest of the field
  • Which markets appear is a remote setting, refreshed as the cycle moves
Currently tracking · 15 markets
2028 Democratic Nominee2028 Republican Nominee2028 Presidential Election WinnerCalifornia Governor 2026House Control 2026Balance of Power: 2026 MidtermsSenate Control 2026Republican Senate Seats After 2026Maine Senate Election 2026Alaska Governor 2026Texas Senate Election 2026Florida Governor GOP Primary (Aug 18)Michigan Democratic Senate Primary (Aug 4)Minnesota Governor GOP Primary (Aug 11)Wisconsin Governor Democratic Primary (Aug 11)

Prediction market prices reflect trader sentiment and are not forecasts. For informational purposes only — this is not financial or gambling advice.

The Market Sentiment screen: a disclaimer banner, then the 2028 Democratic Nominee market with candidate price bars and 24-hour move badges, linking out to the public market page
The screens

Four tabs. No feed.

Polls, approval, markets, settings. Here's the whole app.

Election Polls, Senate tab: the 2026 Michigan race with its polling average, trend chart and individual poll cards

Election Polls

One race on the Senate tab: its average, its trend, then every poll.

The House tab: the generic congressional ballot's polling average — 35 polls, Dem and Rep bars — an average-over-time chart, and poll cards from Focaldata and YouGov

Polling average

The House tab's generic ballot: 35 polls, averaged, with the average over time.

The 2028 Primary tab with Republican and Democrat sub-tabs: a 13-poll polling average of the Republican field, an average-over-time chart with four candidate lines, and an Echelon Insights poll card

2028 primaries

Both parties' fields, each with its own average and trend — shaded so same-party lines stay apart.

Approval Rating: Approve 40.0%, Disapprove 58.0%, net −18.0, and the 90-day trend chart

Approval Rating

Approve, disapprove, net, and ninety days of both on one chart.

Market Sentiment: the disclaimer banner above a 2028 nominee market with price bars and 24-hour moves

Market Sentiment

Polymarket prices with 24-hour moves, under a disclaimer that doesn't scroll away.

The Approval Rating screen in the dark theme

Dark mode

Every screen in both themes, following your device — or pinned in Settings.

Built to be read quickly

Small app, honest about its data.

Everything in it exists to get you to the number and its provenance faster. Nothing in it exists to keep you scrolling.

Freshness labels

Every screen says when it last refreshed — and says plainly when it's showing you something older.

Works when the signal doesn't

The last good response for every screen stays on your device. On a plane you see the most recent numbers you had, marked as such — not a spinner.

Filter, pull to refresh

Type a name to cut a long list of races down to one. Pull any screen to fetch the newest numbers.

Election reminders

Optional local reminders at 30 days, a week, a day out and on election day. Scheduled on the device; nothing is sent anywhere.

Follows your device

Light and dark themes — party colours re-tuned for each so bars stay legible — picked up from your system setting, or pinned in Settings.

No account, no sign-up

Nothing to log into. No profile, no record of what you read, no newsletter. Free, with a banner ad — nothing gated behind one.

Where the numbers come from

Every screen names its source.

Three public sources, each credited on the screen that uses it, with the time it was last fetched.

Polls · Approval

VoteHub

Election polls, queried per race, and presidential approval. The primary source for both polling tabs.

api.votehub.com
Approval fallback

The New York Times

The published presidential approval polling average, used when the primary approval feed can't be reached.

nytimes.com · polls/approval
Market prices

Polymarket

Read-only prices from the public API, each card linking to the public event page. Sentiment, not forecasts.

gamma-api.polymarket.com

Election Tracker is independent — not affiliated with any pollster, campaign, party or data source. Polling reflects the moment it was taken and does not predict an outcome.

Questions

The short answers.

Is it free?

Yes. It's free and supported by ads — a banner, and occasionally an app-open ad. No content is gated behind an ad, and there are no in-app purchases.

Where does the data come from?

Polls and presidential approval from VoteHub, with the New York Times polling average as a fallback source for approval; market prices from Polymarket. Every screen names its source on-screen and shows when it was last refreshed.

How often does it update?

Each screen fetches fresh data when you open it or pull to refresh — polls are re-checked every 30 minutes, approval hourly, markets every 15 minutes. If a source is slow or you're offline, the last good response shows, clearly marked as older.

Is this a betting app?

No. The Market Sentiment tab is a read-only view of public Polymarket prices as a sentiment indicator. The app takes no wagers, holds no funds and processes no transaction, and the disclaimer at the top of that screen says the prices are trader sentiment, not forecasts.

Is it partisan?

No. It shows what pollsters publish for every candidate in a race, and averages them by one stated method. Party colours are the conventional ones, and nothing is editorialised.

Does it work offline?

Partly. It needs a connection to fetch new numbers, but the last good response for every screen stays on your device and is shown, labelled as older, whenever the source can't be reached.

Do I need an account?

No sign-up, no login, no profile. Election reminders are optional and scheduled locally on your device; nothing is sent to a server.

Which races are covered?

Senate races, the generic congressional ballot (House), governor races and the 2028 presidential primaries, plus presidential approval. Coverage follows what pollsters publish.

Know where the numbers stand.
And where they came from.

Free on iPhone. No account. Every screen names its source.