Table Of Contents
Brief
I'm a full stack developer. I started out with the LAMP stack ~2003 in high school. Since then, I've used many different technologies, but the LEMP stack remains relevant. I do well with giant and complex codebases, novel and complex requirements, or high scaling requirements.
Work History
Contract Work
2025
Summary: Worked on PHP and Golang systems
Technologies Used: Golang, php, vscode, vue, javascript, mysql, gitlab
Accomplished
  • Rebuilt Golang social checker service using goroutines instead of mutex
  • Built autocomplete search and form fill for customer service responses using vue
  • Refactored PHP framework
  • Built Golang tools
  • Fixed bugs
Vacation
2023-2025
Summary: Took time off to work on personal projects, including a phaserjs game
Technologies Used: phaser.js, JSDoc, laravel, vue, javascript, PHP, forge, typescript, vite, vue, sqlite, node, mobx, solidjs
Senior Developer, Contract
TNMarketing (Remote)
2021-2023
Summary: I worked in an agile development team using JIRA and scrum, to update and improve the video learning product that spanned multiple sites, including craftsy.com, using various AWS services. I moved the code base from php 7 to php 8, developed automated front end and back end testing, and improved and refactored code base.
Reason For Leaving: Contract ended and company tech budget decreased when COVID online boom died in 2022
Technologies Used: PHP, virtualbox, ansible, wordpress, laravel, JIRA, aws, CI/CD, elastic search , git, json, apache, gulp, react, python, wordpress, ubuntu, curl, trellis, woocommerce, devops
Accomplished
  • Refactored and improved the core code:
    • Remade logging and debugging code
    • Remade the initialization and configuration code
    • Refactored various core code, moved code base from php 7 to php 8
    • Improved caching system
  • Built and improved automations
    • Built various ansible scripts for local and production deployment, including a script to create new sites
    • Built integration tests, using Ghost Inspector and later laravel
    • Built slack commands for running tests
    • Built testing base class for setting up test users and environment
    • Built out Postman API testing
    • Built and improved gulp scripts
    • Built AWS CLI script for setting up new sites (DNS, SSL, cloudflare)
    • Worked on AWS deployment pipeline and lambda functions
  • Worked on various features
    • Built back end and part of front end for front page carousels and search product card system
    • Worked on various API integrations
    • Fixed bugs
Senior Developer
ActionCOACH (Las Vegas, NV)
2016 - 2021
Summary: I built and maintained software related to the ActionCOACH brand, including a coach site system with ~1k sites, an event registration, ticket, and payment system, an award submission and judging system, and a lead system.
Reason For Leaving: I got tired of cleaning up the mess of rotating executives. After more than a year of trying to get them to hire a replacement for me, I quit. At actioncoach, it got to the point where I had built and fixed every thing they wanted. And, I had built automations to reduce my necessary involvement, so I worked on my own actioncoach projects. The company didn't want to be a software company, particularly because the jobs required to build the software wouldn't be needed to maintain it, so they hired out to build the replacement for their massive legacy software. At some point, the COO made a number of bad decisions (firm, system admin, coach sites, morris), which led me to lose motivation to work for them. I told them they needed to hire my replacement, and I renegotiated my contract to decrease my hours and increase my rate. After about a year, I had stopped working for them, but they hadn't hired my replacement. I did a little more work for them after moving to Louisiana and before taking a contract at TN Marketing, but I found they continued to make bad decisions. === I made multiple recommendations against a firm the COO chose to build the new actioncoach. The firm ultimately built nothing and caused a lot of damage. All the employees there and officers knew me as the best programmer the company ever had, so it wasn't that the COO thought I was incompetent. The firm caused tons of email spam issues, many email login hacks, worsenned coach site content, and wasted my time building contract APIs they never used, undid much of the google integration work that was done for no reason, created ungoing email delivery problems that took over a year to solve. To add insult to injury, the firm had taken over supporting the coach sites, on the coach site system I built, for $150/hr. They never followed my instructions for modifying things. The COO also didn't go with my system admin recommendation, which mean I spent a lot of time babying the incompetent admin they did hire. So, at some point, I told them they should hire someone to replace me because I didn't plan on staying with them. And, I renegotiated myh contract for them to pay me more and me to work less. Eventually I just stopped working on stuff, and I was free to work on whatever I wanted, but i just stopped working on stuff I found out later they made more poor technical decisions, and eventually the fired the COO.
Technologies Used: PHP, Zend 1, Laravel, meteor js, coffeescript, Bluebird, mongodb, rackspace, linode, git, json, jquery, apache, nginx, styl, gulp, stripe, paypal, authorize.net, wordpress, ubuntu, centos, curl
Accomplished
  • Built coach site system, an automated wordpress multisite
    • Built wordpress widgets, short codes, and themes for coach sites
    • Built automation for setting up apache virtualhosts, SSL certificates, wordpress subdomain sites, and filling new coach site pages with information
    • Transitioned previous coach sites (poorly built laravel system) into new system
  • Built payments system and api for handling recurring and one time payments across multiple other systems
  • Built a mail system service and api for use across multiple systems needing to send out mail to coaches and clients
  • Built lead system
    • Built API to receive leads
    • Built integrations to pull leads from various systems
    • Built integrations with legacy lead systems
    • Built lead marketplace for coaches and coach managers to buy leads and assign leads, with considerations to location preferences
  • Maintained and expanded a large Zend 1 franchise management framework (> 1 million lines of code)
    • Added new coach user types, creating additional levels of depth, which required re-architecting the entire reporting and KPI system
    • Built and expanded various KPI and financial reports
    • Rebuilt the new coach training system and onboarding system
  • Built various "microservice" apis (user data api, user login api, location data api, franchise information api) that extracted functionality from the central legacy monolith into externally available apis
  • Built an event ticketing and registration system
  • Built a system for awards submissions and judging
  • Extended and maintained Meteorjs (with Mongo db) project for training coaches (engage and grow)
  • Built system for handling complex franchise contract terms for use in royalty calculations
Contractor
Level2Designs (Orange, Ca)
2014 - 2015
Summary: I worked on and built various projects including a Django medical site, a node js and react video checkout, a twitter integrated purchasing system, and a php based voice checkout.
Reason For Leaving: I got typhoid fever while vacationing in India and could not return to work in a reasonable time
Technologies Used: PHP, Laravel, Python, Django, Node.js, coffeescript, Bluebird, React.js, Backbone, mongodb, postgresql, redis, memcache, RabbitMQ, aws, voicevault, tropo, git, json, jquery, apache, nginx, SCSS, styl, grunt, gulp, stripe, paypal, wordpress, twilio, twitter api, ubuntu, centos
Accomplished
Senior Software Engineer
Scoop Interactive (Laguna Beach, CA)
2011 - 2014
The Company: An advertising company that handled thousands of daily insurance leads on many portal sites.
Summary: I worked with the CTO to improve and manage the base portal site system. Worked under the CEO to build new products, to build a reporting system, and to build automated sales scrubbing and fraud detection systems.
Reason For Leaving: The company downsized when the industry crashed, firing the CTO and other employees. I remained, but the work, which was primarily system maintenance work, did not interest me, so I quit.
Technologies Used: PHP, CURL, many APIs (xml, xml-rpc, RESTful apis, SOAP, JSON), MySQL, Apache, jquery, mod_rewrite, Postfix, Memcache, Bind, Codeigniter, my MVC framework, git, GIMP, Amazon web services (AWS: EC2, RDS, Route 53, SES, SNS, load balancer), Postfix, DKIM, Bootstrap, Selenium, Python, wordpress, ubuntu
Accomplished
  • Built mobileclick.com, a service for emailers allowing for targeted advertisements based on device and country. Used amazon load balancing, route 53, auto scaling, and SES for user notifications. Built web automation for pulling revenue data from dozens of vendor websites and apis. Built API access for clients to pull reports from the service. Misc images: Main Page, Campaign Edit, Client Campaign Report, API Doc, Admin Index
  • Built the reporting system for the millions of clicks and thousands of forms per day on the portal sites. Built many crawlers and integrated with many APIs to retrieve vendor revenue data. Additionally, built fraud detection and auto-scrubbing (automated payout adjustments based on profit calculations). Misc interface images: Basic report, Data fraud report, Index Page, Db table list,
  • Built mailing system : for sending out millions of emails on php and postfix (multiple postfix servers). Handled parsing email logs (bounce analysis), unsubscribing, feed back loops, templating, distributing to multiple postfix servers, and scheduling. Misc interface images Filters, Postfix Config, Send Page
  • Built various tools:   º   Rewrote the core system used by the various portal sites (Sites, Ex 1, Ex 2, Ex 3).
    • Created many portal (auto insurance, health insurance, home insurance, etc) sites.
    • Built a git deploy tool for using a GUI for deploying repos to servers.
    • Built multi-process site monitor for monitoring sites for load times, for availability, and for resource inclusions.
    • Built centralized management system for client form flow logic on portal sites.
    • Built many one off tools, api integrations, wordpress mods for Live Smarter Live Smarter.
    • Built an apache log parser that parsed and grouped errors across multiple servers into a single management interface
Senior Software Engineer
NLL411/ePlatinumMD/ePlatinumSolutions (Tustin, CA)
2009 - 2011
The Companies: Two companies under the same CEO:
- ePlatinumMD: An EHR software licensing and development company (bought by SkyCare, which went out of business).
- NLL411/ePlatinumSolutions: An adwords reseller.
Summary: I built the call flow, lead management, and CRM software for NLL411 and I built the CRM and architected the EMR for ePlatinumMD.
Reason For Leaving: CTO started treating me poorly after I refused the role of VP of development (which was mostly just a nominal promotion to get me to work more).
Technologies Used: PHP, AJAX, MySQL, Apache, JSON, codeigniter, adwords, adwords api, jquery, mvc, my MVC framework, Authorize.net, mod_rewrite, BIND, Git, memcache
Accomplished
Senior Software Engineer
Crosspath/VirtualPoint (Irvine, CA)
2008 - 2009
The Company: A domainer company, handling 10K+ premium domains, that bought, sold, and monetized domains.
Summary: I worked with the CEO to build domainer tools for the purpose of automating both the buying of domains, and the handling of sales inquiries. I also developed projects for some of the domains
Reason For Leaving: Completed primary projects
Technologies Used: PHP, CURL, Lucene (through Zend), CMSs (drupal, joomla), Javascript, AJAX, MySQL, Apache, CentOS, Adsense, JSON, Jquery, mod_rewrite, BIND, ubuntu
Accomplished
  • Domain sales program : Built an automated system for handling email and form domain sales inquiries, including mail parsing, decision tree implementation, and the management interface for handling conversations.
  • Domain purchasing : Built scripts to automate auction bidding on auction sites and for handling various management functions on godaddy. Helped build scripts for parsing and analyzing recently expired domain lists for potential purchases.
  • Built a UDRP search site (udrpsearch.com udrpsearch.com) using lucene and later sphider. Built a crawler to extract udrp data from various sites.
  • Built jimmyfallon.com (fan site using drupal), and sonicgames.com sonicgames.com, using joomla.
Web Developer
Medmania (Anaheim, CA)
2006-2008
The Company: An education oriented social network startup that later bought an existing high traffic dating social network (crushspot.com).
Summary: I worked on a team of developers and designers, to build campusbug.com, a myspace like education focused site. I single handedly rebuilt crushspot.com, a dating forum with 500k+ users that was constantly crashing from load.
Reason For Leaving: Company ran out of money and went under after buying crushspot.com
Technologies Used: PHP, XML, Javascript, AJAX, Java, C++, Smarty, Templatelite, MVC, MySQL (InnoDB, MyISAM, master, slave), Apache, FreeBSD, Master-slave db relations (replication), Memcached, SVN, CVS, Adsense, phpaccelerator
Accomplished
  • Crushspot.com 2007-2008 : Added extensive caching. Optimized queries. Secured the session handling. Rewrote the profile and messaging code. After my improvements, the site ran fine with 4000-6000 signs ups per day, and with 500k users. Forum image: Crushspot Forum
  • Campusbug.com 2006-2007 : A social network centered on learning. Built dynamic, modular, single page javascript app without any libraries (no jquery). Built atom and rss feed parser. Built tinymce integrated grammar checker. Built photo and tagging sections. Built common libraries for the other developers. Misc images: Campusbug User Home, Campusbug Tag Section, Campusbug Picture Section, Campusbug Module Add
Miscellaneous Work
Freelance And Personal Projects
(Las Vegas, NV)
2015 - present
Summary: Work I've done during and between primary jobs. I stopped accepting work in 2020 in favor of personal projects.
Technologies Used: PHP, selenium, Node.js, coffeescript, Bluebird, React.js, Backbone, mongodb, postgresql, containers, aws, rackspace, linode, git, json, jquery, apache, nginx, java, C#, SCSS, styl, grunt, gulp, ruby on rails, ruby, stripe, paypal, woocommerce, wordpress, ubuntu, curl, phantomjs, electron, angular
Accomplished
  • Built a service for matching amazon sellers and reviewers. Used node.js, hapi, redis, jwt, sequelize, react, vue.js, backbone. The amazon crawler used phantomjs. Misc Images: Seller Product Page Admin Language Translation Configuration Buyer Product Selection Page
  • Built a platform for buying/selling custom motors/engines and custom engine design services using laravel. Misc Images: Search Wishlist Wishlist Front Page Custom Services Custom Service
  • Built a platform for translation services using paypal, google maps, and ruby on rails. Misc images: Search Reservations
  • Built various phantom js automated web posting and data extraction tools
  • Built a moodle and angular site integration
  • Built distributed webscraper using many AWS servers to scrape ~300k pages information pages
  • Built binaural beat generator, first in python, then in java
  • Built electron based n-back game
Contractor
BeckerSolutions (Remote)
2009 - 2010
Summary: Built various sites, shopping cart check outs, payment integrations (while also working for nll411)
The Company: A PHP software contracting company
Technologies Used: PHP, CURL, Freshbooks, XML parsing, AJAX, MySQL, Apache, Authorize.net, Paypal, SOAP, Jquery, mod_rewrite, BIND
Accomplished
  • Built shopping carts from scratch. Integrated with Freshbooks api
  • Built automated billing system using authnet (authorize.net) CIM and paypal IPN for an accounting and secretarial service company
  • Fixed a lot of bad Indian made code
  • Built and modified various websites
Freelancing
2003-2007
Summary: Miscellaneous freelancing while doing other jobs and school
Accomplished
  • Jeremydiaz.com, a realtor site built with e107 and then Joomla
  • La Monte Academie website: a school of grades 8 to 12 for special needs children
  • Online chess store using zencart. Chess Exclusive Site
Education/Certifications
Zend Certified Engineer 2009 (PHP 5 : ZEND010201)
Bachelor of Science (Business) from Excelsior College, 2008
Self Study (2007) books on Algorithms, Computer Architecture, OS Design, Data Structures, etc
Personal Projects
Many of my coding projects are available at github.com/grithin.
QLParty.com 2013 - Quality of Life party. I had built a framework that did automated CRUD operations, including field validations across table joins and auto UI generation based on database structure. I used the framework to produce a site with a political party idea, focusing on improving the quality of life of citizens, but I found it cost too much to advertise for new political parties. Front Page, Volunteer Form, Activity Page
Humval.com 2006-2009 - Better version of craigslist. Included audio uploads, video uploads, image uploads. Included comment nesting, various ajax operations, chats, posting and comment likes and dislikes. Included tags and tag searches. Included an automated podcast with an automated text to voice dj. I used my PHP framework and various other tools. archives screentshot. Used CVS, MySQL, SQLite, PHP, python, memcache, JQuery, FCKeditor, Ubuntu, imagick (image magick), Icecast, FreeBSD, CURL
Thoughtpushacademy.com 2005-2006 - A modified learning management system allowing teachers to individually sell courses online. Built using a modified Moodle with paypal integration. Misc images: TPA Main Page, TPA Courses, TPA Admin
History Overview
  • I started tinkering in 1999 by modifying javascript games and tools within free site providers. In ~2003, during high school, I built a friend’s online store for his parents' chess shop, using Zencart.
  • 2005-2006 I built a customized moodle (LMS) to allow teachers to sign up and sell courses online, and to allow students to receive verifiable certificates. Unfortunately, I was too early by about 10 years, and online education hadn't caught on, especially if it wasn't backed by university credit.
  • 2006 I joined medmania, which had a learning oriented myspace like site. I built an SPA in vanilla javascript as the user home page, and a scaled backend allowing for hundreds of thousands of users. I also spent my free time reading through books on computer science.
  • 2008 I worked for a domainer building automating tools and websites for 10's of thousands of domains.
  • 2009 I joined nll411, a google adwords intermediary, and rebuilt their backend. With their success, they ventured into EMR software. I built a custom CRM and architected their EMR which they later sold.
  • 2011 I joined scoop interactive, a leads company. I built many tools for managing their many portals and lead flow, including reporting and fraud detection tools that helped the company survive in an industry that had been affected strongly by declining revenues due to fraud.
  • 2014 I worked for level2designs, a dev shop. I built projects in various technologies, including python django, node with react, and php with laravel.
  • 2015 Owing to typhoid fever after visiting India, I spent a long period of this year recovering and not taking on new jobs.
  • 2016 I joined actioncoach as the sole developer to manage their extensive legacy code and to develop new projects. I created a lead system, an automated wordpress multisite system; I transitioned away many legacy systems, and I built various microservices, including user, payment, lead, and location apis to help transition away from the primary legacy monolith.
  • 2021 I worked for TN Marketing to review and update their code base and infrastructure.
Side Topic Extracts

Front End

  • In 2023, I built a inventory management system using React on a phaser.js game
  • In 2022, I built a card system, built cancel-rescue user flow, fixed bugs within playlist code built using React
  • In 2021, I created React complex form handler using Mobx (like Formiks) on invoicing site
  • From 2016-2021, I built various UIs, often with Jquery. Maintained and expanded Meteor.js site.
  • In 2015,
    • I built an Amazon review and seller cooperation platform. Used React, then Vue
    • I built translator finder with integrated google maps
  • In 2014, I helped build a video checkout system using React and Flux, then React and Redux.
  • From 2010-2012, I built a salesforce clone (see images)
  • From 2006-2008
    • I built a dynamic home page. People could subscribe to widgets (like RSS feeds), that would load within a grid of movable widgets (I also built the backend and frontend of the widgets). All without libraries.
    • I built TinyMCE module to integrate a grammar checker program.

Agile development

  • From 2021-2023, I worked on a team using Scrum, Jira, Confluence, and Slack. Had test, dev, stage, and production environments, along with local virtualbox. Built tests that ran on the various environments via slack commands. Staging was pushed to production every scrum sprint. All code went through pull requests and code review.
  • 2015, I Deployed and test Jenkins
  • From 2006-2008, I worked at a start-up with Scrum-like activities, and testing, staging, and production environments.

DevOps

  • From 2021-2023, I worked on a project that used many ansible playbooks for various things such as setting up new EC2 instances in multiple different environments, including virtualbox. They used various monitoring tools, including new relic for the database, and papertrail for the logs. I built ansible playbooks for deploying new sites and various other things. I built slack integration scripts. I built an AWs script for adding new domains on multiple AWS services.
  • 2021, used github actions for side project
  • In 2018, I built a script for automatically setting up apache hosts, wp sites, and group SSL certs for new coach sites within a customized multi site wordpress.
  • In 2015 I deployed Jenkins, to try it out, but didn't have a use for it, and found it clunky.
  • In 2014, I started using ansible to manage my own servers and projects, but generally, I found AWS images and cloning to be more useful
  • In 2012, pre-modern tools, I built a lot of devop tools, including server and website monitorying software, logs monitoring software, and git repo version deployment to multiple servers (using a UI I also built)

AWS

If you are willing to spend the money to have complex, redudant, scalable infrastructure, I'm willing to build it
  • From 2021-2023, I worked with and modified a large aws infrastructure. Modified lamda scripts, modified code pipelines and ran ansible scripts, adminstered deployements, made a script for adding route53 and cloudfrount entries, used IAM roles.
  • In 2015, I built horizontally scaled crawler (many EC2 instances) for a site that rate limited client access.
  • In 2014, I built a twitter parser that pulled from the twitter api looking for a #twt2pay hashtag, allowing users to purchase products using tweets. Built to handle 1k purchases per minute using RabbitMQ, redis, php, and AWS.
  • In 2013, I built a SaaS mobileclick.com, that that received traffic and sent the user targeted ads based on their browser device (Eg. iphone, android, desktop). Used RDS and EC2 with auto scaling and load balancing. At the time, AWS only offered a new instance script that would run when the auto scaler loaded a new clone instance into the group.
  • In 2013, I built a mass email sender using AWS. I used postfix and that, at the time, capped at ~80k emails per hour, so had multiple instances.

Skills

Partially updated 2025

Key

  • Years: Active years. If I worked on a tech in 2010, then again in 2015, I would have 2 years experience in it.
  • Use
    • tried out, built something minor
    • used for a minor things or a major thing
    • used on multiple projects
    • regularly used extensively
  • Depth
    • novice: understand the fundamentals
    • advanced novice: versed with common functionalities
    • competent: desire to improve the technology
    • expert: major complaints about how it is designed
  • Degradation: after time passed with not using a technology, a degradation of the skill occurs
    • no or little degradation
    • what were the parameters for that function?
    • need a brief refresher
    • will take a few days to refresh while working with the technology
    • I only remember bits and pieces
Tags