Introducing Canvasser 2.0

For those who didn’t see the demo at Roanoke 2023 or have enrolled as beta testers, it’s my pleasure to introduce you to the v2.0 release of Voter Science Canvasser on Android and iOS. The three major new features included in this release are:

  • New dashboard panel
  • New route detail panel
  • Optimal route generation

Most of these new features have been suggested by users in the field, and I want to thank everyone for providing that valuable feedback during the 2022 campaign season. As a candidate I was also testing the designs first hand, a tradition that at Microsoft we referred to as “eating our own dogfood.”

New Dashboard Panel

Probably the most obvious change that you’ll notice on first launch of the 2.0 release is the new DASH tab on the main screen. This will be familiar if you’ve used VS Fundraiser, and it’s basically loaded with statistics and history for the selected walking list.

Like Fundraiser, the dashboard consists of two animated donut charts that summarize the status of households in the current sheet (To Do, Voted, Complete, etc.) and the result of contact for each that have been visited (Left Literature, Talked with Voter, etc.). The History section contains a list of all the doorbelling sessions for the sheet, broken down by date and by canvasser email. In the detail line for each history entry, you’ll see the number of households canvassed during that session, the total number of voters represented by those households, and the total distance covered.

Tapping any of the history entries will show the new route detail panel:

Route Detail Panel

This detail panel roughly shows the path taken canvassing during that session. Since we’re just connecting the positions that were logged in the history by GPS position and timestamp, it’s not necessarily your actual walking path but an approximation. That said, it can quickly identify volunteers who may have tried to canvass their walking list from the local Starbucks. Note that the pins on this path currently represent voters visited, and not households, since that’s how changes are logged. A future update may consolidate those back into households so that you can tap them to navigate to the household detail panel.

Optimal Route Generation

You will notice a new option in Settings > Lists> Sort By:

By selecting the new Route option, Canvasser will generate an optimal route for you to take to canvass the walking list. Creating optimal routes is a generalization of the Travelling Salesman Problem (TSP), which belongs to the class of NP-complete problems. Thus, it is possible that the worst-case running time for any algorithm for the TSP increases superpolynomially (but no more than exponentially) with the number of potential stops, making it impractical to simply brute force. The algorithm that I’ve chosen is a classic pairwise exchange or “2-opt” technique constrained by paths segmented by block and side of the street (thus preventing zig-zag patterns as you progress down the street). This ends up being a decent optimization for canvassing, given that we currently can’t easily constrain to actual street geography.

Here’s an example shown on the Hybrid map type:

The optimal route is shown with red traces, just like the historical routes shown in the new route detail panel. The List tab is also sorted in the optimal route order, allowing you to just swipe through household detail view to progress through the walking list.

Getting Started

The v2.0 release of VS Canvasser represents a major feature release for the 2023 campaign season, and it is now live on both the Google Play Store and Apple App Stores.

We remain committed to further tactical improvements as the election cycle progresses. If you have any additional feature requests, please send them to and I’ll make every effort to roll them into a future release.

Which legislators vote their district?

In light of the Senate passing SB 5082 to end advisory votes, I thought I’d highlight a personal project that shows their value even if they aren’t legally binding. Specifically, I wanted to make it easy for voters to determine how often their representatives in Olympia match their district on legislation that is referred to the ballot.

It’s codenamed Project Fidelity, and you can access it from my WhipStat site here:

To create this I researched the LD breakdowns of all ballot measures since Initiative 960 went into effect in 2012.  Some of these were already posted on the WA Secretary of State website, but several years were missing and needed to be obtained via public records request.  I then compared them to voting records for all members using Legislative Web Services, something that I’d already been leveraging for the Partisan Leaderboard and Identify Friend or Foe projects.

To use this tool, simply select the chamber and date range that interest you and a stacked scatter chart will be displayed on the left showing individual member fidelity scores, with 0% meaning that they never matched their district, and 100% meaning that they were always consistent with the majority of their constituents.  The data points (with tooltips) are color coded by party and you’ll also see vertical lines that represent the median score for each party.  Clicking an individual member in the chart will show a table below breaking down every bill that went before voters during their tenure, their last floor vote on the bill, the percentage of their constituents that supported it, and whether they matched.

If you click the Download button, it will create a tab-delimited file for each member on the chart and their score, allowing you to create an easy leaderboard in Excel for the best and worst members at voting their district.  (It’s also worth noting that the Republicans median score is 60%, compared to 50% for Democrats.  That might help explain why they seem so invested in ending advisory votes.)  One thing that surprised me is that members from swing districts aren’t very good at representing the majority of their constituents.  For example, I only got 50% of them right and I still had the best score of anyone representing the 5th LD.

We at Voter Science hope that Project Fidelity can provide a little more transparency into our state government, allowing WA taxpayers to easily determine which state legislators are voting with their district on legislation referred to the ballot, and which might be selling out to special interests or simply voting party line. It’s an opportunity to hold them more accountable for their voting record when they’re up for reelection, using a mechanism that was created with Initiative 960 and may soon be disappearing.

Introducing Fundraiser

The two most important metrics used to assess a campaign are doors and dollars. Your canvassing efforts prove your work ethic and ability to connect with voters face-to-face, and successful fundraising efforts reflect your support in the community and ultimately determine whether you’ll have the resources to run a formidable campaign. For most of our history at Voter Science, our ground game has been focused on Canvasser (codenamed TRC), a mobile app that helps you be more effective at the door, but today I’d like to introduce you to our new Fundraiser app (TRF).

You can download Fundraiser from the Apple Store or Google Play Store here:

At a high level, Fundraiser’s goals are simple:

  • Organize and target your fundraising lists
  • Integrate with latest public data for lobbyists and historical donors
  • Automatically provision and scale to any elected office
  • Expertly manage call logs from your smartphone

Here’s a quick slideshow of the app:


Like Canvasser, you can download Fundraiser from the app store for free and sign in without registering for an account or paying any subscription fee. All you need to do is provide an email address for us to send a PIN to verify your identity. Unlike Canvasser, however, you can create new call sheets immediately from within the mobile app by selecting New Sheet from the menu. Simply select the jurisdiction (local, legislative, judicial or statewide), office and district for your campaign from the drop-down lists and give your new call sheet a name. When you hit the Create button, a call sheet will be available within seconds based on historical donations to that district. Large lists will automatically be broken up into subdirectories to optimize for performance and reduce the footprint on your device.

Instead of creating a new call sheet from scratch, you may simply clone one of the examples like the GOP Lobby List. Any new call sheets that you create, clone or have shared with you will appear with a filled flag in the menu and allow write access to the call log, which is summarized on the Dashboard tab. The List tab shows the call prospects, sorted in the order you’ve selected in Settings. Prospects in the list are also color coded by propensity, which is based on the ratio that they’ve contributed to your party compared to others. Green prospects, contacts and organizations indicate they they’re likely friendly, whereas red ones might be less inclined to contribute.

While donors have been matched to public databases as well as paid lists of over 5 million records that include phone numbers and email addresses, lobbyist information is even more tightly integrated with public records from the PDC’s Open Data initiative. This not only includes names, addresses, phone numbers and email addresses, but also profile photos, bios, and up-to-date client lists. Contribution records from the PDC are also matched using our proprietary fuzzy matching algorithm against Voter Registration Database records going back to 2008 and the latest Corporations and Charities Filing System from the Secretary of State.

Finally, there’s a statewide Search feature built into the application that will allow you quickly review campaign contributions of any individual donor. This feature was added by popular request and is especially useful during filing week to determine just how partisan new candidates running for non-partisan positions really are.

Video Tutorial

The following video tutorial should help you get familiar with using Fundraiser:


The mobile app itself and access to all public data is absolutely free. A subscription charge of just $100 per calendar year is required for access to paid phone numbers and email addresses. Currently, about half of donors in TRF include paid contact information, and with your support we’ll be purchasing additional lists to make that coverage more complete. In-app purchases will be enabled to subscribe directly from your phone soon, but until then please just contact us at for more information.

Identifying Friend or Foe

Given how often what’s said on the campaign trail bears so little resemblance to votes cast on the House or Senate floor, it’s become a full-time job holding our elected officials accountable. Stakeholder groups will spend hundreds of hours tracking bills and legislative voting records to generate candidate ratings every year, and some even pay professional lobbyists to provide those services. To what end? Simply to help identify friend or foe.

Voter Science has provided tools in the past to track bills of interest through the legislature, but we’ve found that the data entry required to tag bills that an organization supports or opposes can be a significant barrier to entry. Folks simply don’t have the time to maintain these lists because they’re too busy trying to work the halls of the state capitol and advocate for their positions with members one-on-one and in committee hearings. Fortunately, since 2014 we’ve had an online committee sign-in system for public hearings that’s a public record of positions that individuals and organizations have taken in support or opposition to every bill that’s been granted a hearing. In fact, at the beginning of the 2022 legislative session there were exactly 322,706 records from such public testimony. With this public data, we already know which bills that stakeholder groups have decided to support or oppose, so there’s really no need for any tedious data entry. Moreover, our state’s Legislative Web Services provide the public easy access to member voting records, so we can now automate the entire process of determining how those voting records correlate to each organization’s public policy position.

Today I’d like to introduce you to my latest pet project, codenamed Identify Friend or Foe (IFF) after the transponder system used by our military to identify combatants on the battlefield. You can access it from my WhipStat prototyping site here:

The user interface is quite similar to my Partisan Leaderboard page, where I display a stack chart for all members by chamber and date range. However, here the main Organization drop-down lists over 1,500 lobbyist employers registered by the PDC that were referenced from hearing testimony records. When you select an organization, an aggregated list of “bills of interest” will be displayed beneath the chart. This table includes the bill number, title, total number of references from the selected organization, number willing to testify, and the percentage supporting the bill, with “Pro” counting as 1, “Con” as -1, and “Other as 0. Note that I’m using a fuzzy matching algorithm to match the organization name entered in committee sign-in to the official PDC records, so they may not be perfect…but we’re getting better every day. Use this list as a quick sanity check to ensure that your organization’s testimony records have been aggregated accurately.

The horizontal axis of the stack chart show shows the correlation between member voting records and organization position for each bill. Members who always vote the organization’s position will have 100% correlation and those who always take the opposite position will have -100% correlation. The dots for each member are color coded by party and if you hover over each you’ll see a tooltip with each members information and their actual correlation coefficient. To save a tab-delimited “leader list” of the member scores that can be imported into Excel, you can simply press the Download button.

Note that I’m currently collecting additional information that could potentially be used to further weight these scores (but that would make them less than a true Pearson correlation). Here are some examples:

  • A stakeholder’s willingness to testify or whether they’ve travelled from out of town
  • Committee votes made by members when advancing the bill to the floor
  • Committee leadership that could be positioned to advance or kill the bill

IFF is obviously a work in progress and we would welcome any feedback you have on our current user interface or algorithms. Since committee sign-in data now must be obtained by formal public records request, our plan is to update this tool at the end of every session, but if more frequent updates would be valuable to legislative advocacy groups we should encourage the Legislative Service Center (a.k.a. LegTech team) to incorporate the sign-in data into the Legislative Web Services, where it probably belongs.

We at Voter Science hope that IFF can usher in a new era of transparency for state government, freeing stakeholders and lobbyists from the tedious process of generating their own candidate rating systems and holding elected officials more accountable for their actual voting records when they inevitably come asking for campaign donations. It may seem obvious, but up until now it’s been surprisingly difficult to know who your friends in Olympia really are.

Canvassing With Gestures

While the use of obscene gestures as part of any campaign communications strategy is to be discouraged, some gestures can be an intuitive and efficient means of data entry on mobile devices.  So as we knock on doors, anything that helps us shift focus from our phones to our neighbors not only saves time and effort, but also promotes a more positive image in our communities.

Canvasser has always supported the swipe gesture to proceed to the next household or household member, but with the release last week of v1.6 for both Android and iOS, we’ve introduced support for a powerful new gesture: Shake.

To enable this feature, simply open up Settings from the main menu.  The new Gestures section adds two new settings:


The first setting assigns an action to be initiated when a shake gesture is detected.  This is disabled by default, but by tapping the control you can pick the option you’d like automatically entered into the Result field when your phone is shaken.  For canvassing, that’s usually “No contact” or “Left literature”, but “No answer” might be more appropriate if you’re on the phone working through a call list to remind people to vote.

The second setting is to provide audible feedback when an action is triggered by gesture, which is done using the built-in text-to-speech capabilities of your phone.  By default, this is enabled so that when you shake your phone you’ll immediately hear spoken feedback (e.g. “Left literature”) to indicate that the gesture was detected and Result field automatically filled.  You can then simply swipe to move on to the next household.

Note that the volume of the audible feedback will be subject to both the global and app-specific volume settings on your phone.  For more details on how to set these, click here for Android and here for iOS.

Shake gesture support will primarily be used from the household detail page, but with the v1.6.1 release we’ve added support for the voter detail page as well.

Of course, we’re just getting started with introducing more intuitive gestures to use with Canvasser that will help speed data entry when you’re out knocking on doors.  Personally, I’ve knocked on over 30,000 doors during my two last campaigns and so I have some opinions on what improves my efficiency, but I’m always anxious to hear more suggestions from the field.  If you have an idea for the next kick-ass new feature for Canvasser, please let me know at

Partisan divide widening dramatically in Olympia

For the past few years I’ve posted on our interactive online tool that analyzes the partisan distribution of our state legislature.  The goal is to call out members with the courage to vote independently of their caucus.  Often candidates will run as moderate or independent during the campaign, but we find that their floor votes in Olympia are right down party lines.  This tool provides some transparency into their actions, versus their intent.

If you recall, the methodology is simple:  The partisanship score for each floor vote is calculated as the percentage of Republican supporters minus the percentage of Democrat supporters, giving each a range from 100 (exclusively Republican) to -100 (exclusively Democrat) with unanimous votes scoring zero.  The member’s aggregate score is just the average of all the scores of floor votes they supported, minus the scores from those they opposed.

Looking back to 2003, we see a relatively normal distribution curve for both parties.  And while there isn’t as much overlap in the middle as there’s been in generations past, we do see that there are moderates on both sides of the aisle and even some true independents that have represented us in Olympia.

Partisan Leaderboard - All Policy Areas, Both Chambers (2013-2020)

It is interesting to note that during this time period the most independent members have run as Republicans and that Democrats are generally much less likely to vote against their party.  You can also easily identify the three members who have switched caucuses.

So now, consider the 2019 legislative session results:

Partisan Leaderboard - All Policy Areas, Both Chambers (2019-2020)

Notice a problem?

Both parties are now considerably more partisan and there are no independents (or arguably even moderates) left in the state legislature.

So how has this changed over time?  Let’s take a look…

Partisan Distribution by Party (2003-19)

In the above graph, range lines show a standard deviation above and below the mean.  Markers represent the median value.  The bars in the center represent the party balance, which has almost always favored Democrats.

What can we conclude?

  • Both parties have trended more partisan during this time period.
  • The median tends to consistently fall the left of the caucus mean with Democrats.
  • Democrats are now over twice as partisan as they were in 2003-04 under Gov. Gary Locke.
  • The partisan divide is almost twice as wide now as it was in 2007-08, when the Democrats had a 42 seat advantage.


This “death of the middle” I see as a unhealthy development for our state (and not just because I was one of the moderates unseated with this wave of political polarization).  Compromise is a necessary part of the political process, and we need moderates on both sides of the aisle willing to bridge the divide to find common ground.  During the 5 years there was divided control of the legislature, it admittedly took much longer to hammer out bipartisan agreements…but the resulting work product was worth it.  Our bipartisan budgets typically passed with 90% support, while only 57% voted for this last biennial budget (including no Republicans and not even every Democrat).

Clearly, changes are needed.

Changelog for VS Canvasser mobile app

Note that while Android and iOS release versions are coordinated, not every version is released on both platforms.  Generally, the Android builds are a bit more frequent, due to the higher market penetration and the fact that I personally test it in the field daily.

Here is a quick summary of the changes introduced with each release:

Release: 1.5
Sep 5, 9:50 PM: Full rollout. (Promoted from beta 1.5)

– Added voter history into ListView voter description
– Added household count to ListView household icon
– Fixed NullReferenceException in DetailView
– Updated to latest CarouselView and Xamarin.Forms packages
– Replaced various 3rd-party plug-ins with Xamarin.Essentials

Release: 1.4.2
July 24, 2:30 AM: Full rollout. (Promoted from beta 1.4.2)

– Restored WebVew hosted in NavigationPage for login
– Added Log In menu command
– Updated to pre-release Xamarin.Forms (fixed issue #2393)

Release: 1.4.1
July 20, 11:22 PM: Full rollout. (Promoted from beta 1.4.1)

– New menu item to Share sheet with other users
– Added transfer token for Plug-ins button to bypass Web client login
– Switched to using App Center errors to report exception handling
– Switch to CarouselView from Andrei Misiukevich to work around Issue #2637
– Swiping in CarouselView will now wrap around
– Fixed delay in bringing up Settings panel
– Sort by distance is now updated live as position changes

Release: 1.3.6
July 7, 5:10 PM: Full rollout. (Promoted from beta 1.3.6)

– Pins now update color and opacity with incremental sync of voter records

Release: 1.3.5
Jul 3, 11:33 PM: Full rollout. (Promoted from beta 1.3.5)

– Manual upload to cloud now syncs changes in all sheets, not just current one.
– Alert now displayed when manual upload is unsuccessful.
– Fixed closest household button
– Handled phone number formatting overflow
– Streamlined conversion for string types
– Switched to chat keyboard for comments
– Refined voter detail panel

Release: 1.3.3
Jul 1, 9:05 PM: Full rollout. (Promoted from beta 1.3.3)

– App name change to Canvasser, with new adaptive icon
– Back button from main page navigates to parent sheet
– Added Plug-in button in SheetDetailPage
– Added detail section on VoterDetailPage for custom columns
– Preserves last visible region for each sheet
– Fixes missing map pins after extended load
– Updated logic for dimming households (visited or all members dimmed)
– Filtered voters now show as dimmed
– Added automatic sync after connectivity is restored or successful login
– Exception handling for failed OpenSheet (e.g. loss of permission)
– Fixed household member list opacity update
– Updated target URL for Learn More button in About
– Simplification of WebView-based login/logout, with new icon

Release: 1.2.2
Apr 24, 8:33 PM: Full rollout. (Promoted from beta 1.2.2)

– Reverting to CarouselPage to try to work around infrequent crash from ObjectDisposedException
– Maintains sorted order of household members when switching to voter detail page

Release: 1.2.1
Apr 19, 8:37 PM: Full rollout.

– Added SearchBar on List tab
– Added male and female avatars
– Fixed icon color update
– Sorts household members by age
– Possible fix for System.ObjectDisposedException

Release: 1.2
Apr 16, 8:30 AM: Full rollout.

– New buttons on voter detail page to dial phone number and send email
– Auto formatting of phone number (US only)
– Preferred virtual keyboard variants for phone number and email entry
– Upgrade to ProGuard 6.0.2 bytecode optimization

Release: 1.1.3
Apr 12, 4:57 PM: Full rollout. (Promoted from beta 1.1.3)

– Sync changes when app sent to background
– Scroll corresponding list item into view when pin selected on map
– Added completion percentage to the sheet Info page
– Fixed off-by-one bug when applying missed changes from other users

Release: 1.1.2
Apr 6, 10:20 PM: Full rollout.

– Rolled back to Xamarin Forms v2.5.0.280555 to work around WebView login bug

Release: 1.1.1
Apr 6, 3:28 PM: Full rollout.

– Clears WebView cache after logout so that previous user’s cookies aren’t still present
– Fixes performance issues with CarouselPage by switching to CarouselView, which supports UI virtualization
– Fixes a crash when location services goes unexpectedly offline
– Fixed crash caused on some configurations by CarouselView linker error

Release: 1.1
Apr 3, 3:02 PM: Full rollout. (Promoted from beta 1.1)

– Swipe left or right in household or voter detail panels for next & previous
– My location button in household detail view to quickly index to closest address
– New default sorting of households is by address
– Exception handling for failed DateTime parsing

How partisan are WA organizational donors?

In previous posts we’ve looked at how our political system has become increasingly polarized, with our analysis of voting records showing that many self-styled moderates and independents are exhibiting much more partisan behavior when voting on the House or Senate floor.  Having served for a few years now on a PDC open data advisory group, I realized that the same type of analysis could be done for organizational donors.  Despite this being public data, not many people in Washington state know who the biggest political donors are, much less who they support.

So, are many of these “non-partisan” or “bi-partisan” organizational donors more partisan than they let on?

We can figure this out, and the methodology is pretty simple.  The PDC Open Data Portal publishes all contributions to candidates and political committees back to 2008.  For this first analysis, we looked at donations to partisan legislative and statewide candidates from businesses, unions and political action committees.  The partisanship score for each donor is the difference in percentage of donations by party, giving each a range from 100 (exclusively Republican) to -100 (exclusively Democrat).

Most of the effort here is involved with the fuzzy matching algorithm, since candidates are very inconsistent on how they report the names of these organizations to the PDC.  I use a trigram matching method, which isn’t perfect…but it does pretty well.  Currently, contributions are grouped under the same donor if 80% or more of the trigrams match, but this is adjustable.

Here are the results:

Partisan Donors (2008-18)

If you visit, you’ll now find an interactive and animated version of our organizational donor partisan analysis that allows you to filter by jurisdiction type and date range.


If you’d like to do further analysis, feel free to hit the Download button for a tab-delimited table of the charted data.  Note that for now we don’t display or download the complete donor dataset, as that includes over 8,000 organizations.

A few things become apparent when reviewing the results:

  • Some of the biggest legislative donors give heavily to candidates from both parties.
  • About 6% more is given to Democrats than Republicans in legislative races, but that increases to 28% when looking at statewide races.

Up next:  We’ll take a close look at hard money vs. soft money contributions.

Analyzing the WA Political Spectrum

It’s no secret that our political system has become increasingly polarized in recent years.  In fact, Pew Research regularly publishes studies on the topic and the situation is perhaps more grim than you might think.  Looking back over the past 60 years, Congress has never been so politically divided, and the result is D.C. gridlock.

So how bad is the situation here in Washington State?

After serving two terms now in the House of Representatives and being elected to caucus leadership, I have my opinions.  There’s certainly evidence to support the assertion that the Legislature is doing much better than Congress, but the partisan divide is alive and well in Olympia.  Rather than rely on anecdotal evidence, I was inspired by what Pew and others have done and set out to quantify the problem.

This slideshow requires JavaScript.

A couple of weeks ago I published my first analysis of the partisan distribution of the Washington State Legislature.  It also included a Partisan Leaderboard, calling out the members who are least and most likely to cross the aisle.

The methodology is simple:  The partisanship score for each floor vote is calculated as the percentage of Republican supporters minus the percentage of Democrat supporters, giving each a range from 100 (exclusively Republican) to -100 (exclusively Democrat) with unanimous votes scoring zero.  The member’s aggregate score is just the average of all the scores of floor votes they supported, minus the scores from those they opposed.

This approach is different than many other studies like the McCarty & Shor (2015) Measuring American Legislatures Project, which use the Political Courage Test (former National Political Awareness Test).  Theirs are based on subjective questionnaires, while our scores are based on recorded floor votes.

Now we’ve taken this analysis to the next level…


If you visit, you’ll now find an interactive and animated version of our partisan analysis that allows you to filter by policy area, chamber and date range.  Each member is “stacked” in a histogram, allowing you to roll over the chart and see more detailed information in tooltips.  Also, the median Democrat and Republican scores are indicated as vertical lines.  (Technically, the median is more meaningful than the average for these scores, with half the members being above and half below the line.)

And finally, this updated analysis includes floor votes on amendments, so the scores may be slightly different than those previously published.


If you’d like to do further analysis, feel free to hit the Download button for a tab-delimited table of the charted data.

A few things become apparent when reviewing the results:

  • Democrats are typically over twice as partisan as Republicans, and even more so in years when there was divided control of the House and Senate.
  • The majority party will control the floor agenda, and so will exhibit more “cohesion” and be less likely to allow members to cross the aisle.
  • The Democrat-controlled House was over twice as likely than the Republican-controlled Senate to bring bills to the floor that were rejected by the opposing party.
  • Some members show willingness to regularly cross the aisle for specific policy areas that are important to them or their constituents.  Lobbyists and advocates should take note of these policy areas.


Our goal here is simple:  To provide some transparency into partisan behavior in our state legislature.

There’s nothing inherently wrong with being a partisan voter, and one could argue that a certain degree of caucus cohesion is necessary to be a functioning majority.  However, many constituents elected their representatives with the expectation that they would exercise independent thought and work aggressively across the aisle to get results.  What they may discover looking at this data is that some of their representatives are more loyal to their partisan ideology than they are to a process that involves compromise to find common ground.  Given the example being set in Washington D.C., I also think we should take this moment to recognize those members on both sides of the aisle with the courage to break the partisan gridlock and work in the best interests of our entire state.  If you consider yourself an independent, these members deserve your support.