I wanted to create a simple but effective tool to help California VFX workers advocate for including
visual effects in the state's film industry tax incentives. Here's how I built it:
I needed a straightforward way for VFX professionals to contact their legislators. The challenge was
creating something that would require minimal effort from users while still generating personalized,
professional-looking letters.
First, I designed a simple form to collect basic information - name, email, occupation, company and
address. The address part was crucial because I needed to determine which specific California
legislators represented each user.
For the technical implementation, I kept things lightweight and focused. I used plain HTML, CSS, and
JavaScript without any heavy frameworks. This keeps the site fast and means it can be hosted almost
anywhere with minimal resources.
The most interesting part was integrating with Google's Civic Information API. This service lets you
look up elected officials based on a physical address. I set up a function that takes the user's
address, queries the API, and returns both their State Senator and Assembly Member.
I ran into a few challenges along the way. One tricky part was handling the email addresses for
legislators. At first, I tried maintaining a full database of California legislators with their
contact info, but this approach had issues. I eventually simplified it to follow the standard email
patterns used by the California legislature (senator.lastname@senate.ca.gov and
assemblymember.lastname@assembly.ca.gov).
For the letter content, I crafted a template that makes a clear, concise case for including VFX in
film incentives. The system automatically fills in the right legislator names and adds the user's
personal information. It generates two separate letters - one for the State Senator and one for the
Assembly Member.
I added some quality-of-life features like "copy to clipboard" buttons and tabbed navigation between
the two letters. I also included clear instructions and a note about data privacy to reassure users
that their information stays in their browser.
The site doesn't need a backend server since all the processing happens client-side in JavaScript.
This makes it perfect for hosting on GitHub Pages, which is not only free but also secure and
reliable.
I am pretty busy these days and I really only had one day to put this site together, so I used
Claude.ai to help me with all the code and implementation.
Looking back, I'm happy with how the project turned out. It's a simple, focused tool that serves a
specific purpose and hopefully will help amplify the voices of VFX workers in California who are
advocating for fair treatment in the state's film incentive programs.
Thanks for checking it out! -- Sam Winkler