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.

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.
Poll data from VoteHub. Coverage follows what pollsters publish, so a race thickens out as it heats up.

Most polling averages are a black box. This one has three rules, and they're short enough to print.
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.
Linear recency weighting across a 30-day window. Last week's poll pulls harder than one from four weeks back.
A candidate has to turn up in enough polls before they're averaged at all. One-poll wonders stay on their own card.
The card from the House tab — the generic congressional ballot, 35 polls over 30 days. Every race with polling gets one.
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.

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.
Prediction market prices reflect trader sentiment and are not forecasts. For informational purposes only — this is not financial or gambling advice.

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

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

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

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

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

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

Every screen in both themes, following your device — or pinned in Settings.
Everything in it exists to get you to the number and its provenance faster. Nothing in it exists to keep you scrolling.
Every screen says when it last refreshed — and says plainly when it's showing you something older.
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.
Type a name to cut a long list of races down to one. Pull any screen to fetch the newest numbers.
Optional local reminders at 30 days, a week, a day out and on election day. Scheduled on the device; nothing is sent anywhere.
Light and dark themes — party colours re-tuned for each so bars stay legible — picked up from your system setting, or pinned in Settings.
Nothing to log into. No profile, no record of what you read, no newsletter. Free, with a banner ad — nothing gated behind one.
Three public sources, each credited on the screen that uses it, with the time it was last fetched.
Election polls, queried per race, and presidential approval. The primary source for both polling tabs.
The published presidential approval polling average, used when the primary approval feed can't be reached.
Read-only prices from the public API, each card linking to the public event page. Sentiment, not forecasts.
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.
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.
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.
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.
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.
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.
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.
No sign-up, no login, no profile. Election reminders are optional and scheduled locally on your device; nothing is sent to a server.
Senate races, the generic congressional ballot (House), governor races and the 2028 presidential primaries, plus presidential approval. Coverage follows what pollsters publish.
Free on iPhone. No account. Every screen names its source.