Tinkering with Opus 4.5: Australian Political Expenses

Australian politicians have recently been under scrutiny for their expense claims - Anika Wells and staff claimed around $100,000 for flights to a UN conference in New York. This got me wondering: what public information actually exists about political expenses? And could we surface anything interesting in it?

With the recent release of Claude Opus 4.5, I needed a project to throw at it.

The Problem with IPEA

The Independent Parliamentary Expenses Authority (IPEA) publishes expense data for all parliamentarians. In theory. In practice, their website is frustrating to use - it throws HTTP errors regularly, lacks aggregate views (like "total family travel across all MPs"), and will block you for "making too many requests" with even light use.

I initially tried to scrape the data using Playwright with rotating VPNs, but the bot detection was too strong. Even browserless.io - a paid service designed specifically to bypass automation detection - couldn't get requests through.

Eventually I discovered that IPEA actually publishes their full data on data.gov.au in CSV form... Good to know.

The Site

I built a site that aggregates and displays this expense data in a more accessible way: foryourinformation.com.au

I chose the domain for it's double meaning. "For your information" in the sense that this data should be accessible to you. But also that your right to information matters. We should be able to easily see how our representatives spend public money.

This project is a small example of something I think AI will enable more of: making government data actually approachable. So much of what goes on is buried in meeting minutes, lengthy transcripts, and complicated policy documents. LLMs give us the opportunity to repackage and surface this information in ways that were previously too resource-intensive to bother with.

Opus 4.5 Performance

Two examples where I think previous coding agents would have struggled:

1. Proactive Refactoring

It's typical of coding models to get stuck in bug-fixing whack-a-mole - where each fix introduces a new problem. Opus 4.5 managed project context much better. There was an instance where Opus made the decision to refactor a large chunk of code into React Context without being asked. With previous models, that's an instruction I would have had to give explicitly. The plan mode in Claude Code does a lot of work here.

2. Data Pipeline Optimization

Initially the web app was loading a massive JSON file (~40MB) to populate all the line items. I didn't want to manage a database for a toy project, but I also didn't want slow page loads.

I asked Opus to create route-specific JSON files so I could serve them statically. With a single prompt, it modified the entire data pipeline - the landing page now has a small JSON file with only the aggregated stats it needs, and each MP page loads only that politician's line items. Fast loads without the database overhead. Before Opus 4.5 this would have required more hand-holding to get right.

Usage Limits

The Claude Max plan limits seem generous. I worked on this project for several hours straight and never hit a rate limit - a noticeable improvement from older models.

Sharing on Reddit

I posted it to r/australian with an admittedly rage-baity title: "The average Australian MP claims $49,000 per month in expenses - that's 8x the median Australian's monthly income."

The results were interesting:

  • Reddit: 1.2k upvotes, 220 comments, 220k post views.
  • Umami analytics: 728 visitors, 1,950 page views, 67% bounce rate, 50 second average visit duration

High engagement on Reddit, but relatively few people clicked through to the actual site. The comments were split - some defending political spending as necessary, others arriving ready to be outraged. I think the framing influenced that.

Reflections on the Data

Having spent time with this data, I honestly don't think the political expenses don't seem completely outrageous. Politicians live busy lives, travel constantly for their roles, and can't exactly stay at backpackers. The Anika Wells trip that sparked this project is an outlier. Don't get me wrong - I enjoy seeing politicians' feet held to the fire over unscrupulous spending of taxpayer money. But expense claims are hardly the root cause of Australia's financial issues.

The real problem is the lack of detail. Many expenses fall into vague categories like "Printing and Communications" or "Office Administration". It would be easy enough to hide waste or fraud in these broad groupings. I made sure to include all the published information on my site, but the publicly available data itself lacks the granularity needed for real accountability.

Future directions could include using Freedom of Information requests to dig into anomalous entries, or building a knowledge graph of political connections and lobbying relationships. More ways to make the limited amount of publicly available government data accessible and understandable.

Conclusion

This project took a few hours from start to deployment. Opus 4.5 feels noticeably more capable than previous coding models - it requires less hand-holding, makes better architectural decisions autonomously, and handles multi-step tasks more reliably.

The amount of explicit guidance needed to get quality code out of AI continues to shrink.