Andrew Marvin

I'm a full-stack web developer based in Austin, TX. If you have an interesting idea and need a technical solution, I'd love to discuss it.

hero view projects button projects hero download resume button RÉSUMÉ
scroll down button

About Me

Why me

I'm a seasoned developer with a strong aptitude for leadership and expertise in remote Agile methodology. I'm ready to contribute to any part of your tech stack on day one. I lead with my attention to detail, adherence to coding best practices, and passion for intuitive user experience.

tech career

I began coding in 2017. During college, I sought out diverse internships and freelance opportunities to expand my domain knowledge. I attended hackathons and algorithm competitions at top universites across California. I joined Crocs in 2021.

Current Work

In my current digital developer role, I work with React, Node, AWS, Tealium (tag development), Salesforce Commerce Cloud, and other leading e-commerce technologies to bring daily solutions to the digital team at Crocs Inc. I'm now working to become an technical manager.

tech skills

admin@amarvin.dev:~$

As a developer,
I excel at finding solutions to technical challenges.

As an educator,
I learn quickly and am an effective mentor.

As a startup founder,
I understand business needs.

As a freelancer,
I'm resourceful and results-driven.

My Work

project lead

Consent Management System

project 1 model
  • • Tealium
  • • JavaScript
  • • Tag development
  • • API integration
  • • Localization
  • • Accessibility

Background: The Crocs consent management system is a privacy governance frameworks that undergirds all of Crocs' digital properties. It builds upon Tealium's Consent Preferences Manager to ensure that Crocs is in compliance with global and regional privacy standards such as the GDPR and CCPA. It does this by soliciting user consent and then suppressing any tags or API connections from vendors in consent categories that the user has opted out of.

Features: Last year, I led a project in Tealium to implement a comprehensive consent management system across our sites, bringing Crocs into compliance with global and regional privacy standards. This not only protected our organization from potential legal troubles such as from the GDPR and CCPA data privacy frameworks, but also built trust with our customers who are now fully in control of and understand how we use their PI data to better serve them.

Challenges: Implenting Tealium's consent manager across our 12 different sites within three different regional privacy frameworks required a great deal of customization. Furthermore, working with internal stateholders such as our legal and UX teams challenged me to think about the project from different perspectives. Through effective communication and Agile iteration, I was able to deliver a product that satisfied all our business needs.

full-stack webapp

VXX Journeys

project 2 model
  • • Python
  • • Django
  • • Instagram API
  • • Postgres
  • • HTML
  • • CSS
  • • JavaScript
  • • Leaflet.js

Background: VXX Journeys began in 2018 during a Python independent study conducted under Professor Nikjeh at Moorpark College. My goals with the project were to become competent in Django as well to build something that brought value to my organization that I would update, maintain, and use for years to come. The main purpose of the webapp is to document my non-profit organization's bicycle expeditions through Vietnam, a country that I lived in on and off from 2010 through 2020 first as a teacher and then as a freelance programming tutor. Recently, I overhauled the webapp to be responsive, I refactored or removed bad code, and I added routes from our most recent bicycle trip in 2020.

Features: VXX Journeys has two main features. First, it contains filterable Instagram posts plotted onto a map of Vietnam. It achieves this by using Python to query the Instagram API for new posts from the VXX Instagram account and the Leaflet.js library for plotting the images on the map. Second, it allows users to select an individual day from a journey to have the route plotted onto the map. The GPS data is passed asynchronously from the server to the client on demand. An admin dashboard is used to upload new GPS routes for individual ride days as well as to edit any erroneous data pulled from Instagram. The webapp is fully responsive.

Challenges: Throughout the project, there were several noteworthy challenges I faced which turned me into a better developer. When I began back in 2018, I knew very little about database design. Learning my way around the Django ORM taught me to think about data through the lens of object-oriented programming. I've since become much more competent in database design and management. While revamping VXX Journeys this year, I had to convert the database from SQL to Postgres in order to host the site on Heroku. Through this process I learned the nuts and bolts of exporting and loading data from DBMS. Another challenge I faced was the ever-mutating Instagram API. The webapp originally logged in to my account using the Instaloader Python package in order to download posts. However, when ran from a server, this triggered a suspicious login attempt check. To bypass this, I wrote a Selenium script to retrieve the Instagram security code from my Gmail account. However, the API had several limitations such as how it structured its data and what permissions it required to access certain metadata. Furthermore, the image URLs that I would pass to the front-end to be displayed on the map expired after only a few days requiring the script to continuously check for dead links and redownload post metadata. Simply put, it was over-engineered. While the system I built ensured data confidentiality and integrity, I decided that relying on a third party for availability was unacceptable. In order to ensure the long-term stability of the webapp, I decided to refactor my script to download and store Instagram posts locally. Now I can be positive the webapp will always function as intended. This project taught me so much about coding using web frameworks. While I'm not partial to Django specifically, I certainly appreciate the power and speed that comes from leveraging it to quickly prototype project ideas such as VXX Journeys.

Front-end Internship

Graphic and Multimedia Design Program Website

project 3 model
  • • HTML
  • • CSS
  • • JavaScript
  • • Wordpress
  • • PHP
  • • Hotjar
  • • Google Analytics

Background: mc-dma is the official website for the Moorpark College Graphic and Multimedia Design Program. The main purpose of the site is to serve as a student resource as well as to attract potential students to the program. My work on the website began as a paid internship under Professor Svetlana Kasalovic. My goals in undertaking the internship were to gain professional experience working under a talented project manager, prepare myself for taking on freelance clients, and improve my web design skills. My role was as the primary front-end developer. I worked closely with a graphic design intern to recreate her design in a pixel-perfect, responsive manner.

Features: mc-dma is a Wordpress-based, multi-page static site. It features a homepage, a student work gallery, and several pages with pertinent information and resources for students. The site runs on Wordpress, allowing for school administrators to add future content without the help of a developer.

Challenges: mc-dma had many developers working on it before me, so I had to learn how to jump into older codebases rather than starting fresh. This taught me to integrate the logical thought processes of people I had never met into my problem solving skills. Another challenge I faced was conducting user testing in order to optimize the site. First, I developed and distributed surveys to current stuents in the program to study what they wanted out of the site. I later conducted end-user testing through Hotjar and Google Analytic. This gave me insight into how clients actually used the site. I learned a great deal about UX during this process. Finally, the greatest challenge that I faced was when the site was infected with malware. The previous developers had hosted several of the school's websites on a single server. The infected site, which was not being maintained by a developer, then infected all the sites. I had to go through every PHP file and manually fix the problems. I also ensured that each site had anti-malware protection going forward. The process taught me to never go into an existing project assuming that the previous developers had secured it.

Other projects

retired showcase projects go here (section still needs to be designed)

more

Testimonials

Andrew has proven able to lead projects on his own with little oversight. Further he's a pleasure to work with and readily absorbs new information and hungry for new tasks. He is an asset to our company and would be of great value to any team.

Joel Cardinal, Sr. Manager of Digital Development at Crocs

My role: I work with React, Node, AWS, Tealium (tag development), Salesforce Commerce Cloud, Adobe Analytics, and other industry-leading technologies to bring daily solutions to the Crocs digital team. While my primary task is to develop and maintain Crocs' tags using Tealium, I also contribute to projects such as implemention a React architecture on our storefront site, working on Salesforce Commerce Cloud projects, and maintaining our code branch strategy in Git.

Challenges: When I joined my team, they were aiming to bring Crocs' tag development in-house. I worked with leadership to standardize our Tealium tag development, QA, and release processes. Since then, I've led several challening and rewarding projects such as implementing a consent management system, moving our tag CDN to first party domains, and developing an automated tag backup process on our CI server using Node and Tealium's Authentication and Revisions APIs. Each project involved working with key stakeholders throughout the organization, which improved my communication skills.

For multiple jobs, Andrew has provided just the right solutions, responding promptly and getting work done efficiently. Also, in helping a non-technical person like me, he has a great bedside manner. I'm grateful for his work.

William Hale, Overland Park, KS

My role: I improved the design of and wrote new components for the client's existing website. I also added content to various pages as requested.

Challenges: The challenges with this project all stem from the archaic web builder environment provided by the client's host, web.com. The client did not have the resources fund a migration to another service. One challenge I overcame was when the client requested a student portal that would be hidden behind an access code. Since the web builder provided no such functionality, I solved the problem by adding onlick JavaScript code to a button which prompted users for their access code before redirecting them to a hidden student resources page. This was not a perfect solution, but it met the needs of the client while remaining within budget.

Thanks a million for all your help on the website and the donation platform. I was so pleased you reached out to help me during our campaign! It was inspiring!

Roseann Mikos, Moorpark, CA

My role: I was brought onto the Mikos for Moorpark Mayor campaign as a volunteer to manage the WordPress-based campaign site. I created video content, improved the website's frontend design, and assisted with any technical issues faced by the campaign.

Challenges: The WordPress site had already been set up by a non-tenchical volunteer from the campaign before I arrived. I had to audit their work to ensure the site followed best security practices.

Andrew designed and built my website. I can't wait to start advertising for clients through it. I would definitely recommend his services.

Angela Marvin, Long Beach, CA

My role: I built the WordPress backend for this client's website. Aside from setting up the the client's hosting and domain, I developed a custom must-use plugin which allowed her to quickly add her music tracks through the dashboard to be displayed on the frontend. They had another developer designing and building the frontend, which I contributed to by fixing some styling issues.

Challenges: I had to develop a must-use plugin to meet the client's need of being able to add her songs to the frontend by herself. It was an ideal use case for creating a custom plugin.

previous testimonial next testimonial

Contact Me

Hire me and we'll do great things together.

Currently seeking full-time employment opportunities.

Message received!

We'll be in touch soon.