Experienced full-stack Software Engineer with a focus on building maintainable and scalable software. I have worked on everything from data-heavy commercial applications to consumer-centric web applications, working on back end workflows, databases, dev ops deployments, and front end components.
Smash.gg is an e-sports tournament company focused on building a scalable consumer-centric web platform to find, host, and play in competitive tournaments. We’ve built out specialized tools catered to managing small to large-scale in-person or online tournaments, including competitive bracket structure, seeding, scheduling, and results reporting. We have shop integrations to provide additional streams of revenue for your tournament, and a social platform built around profiles to engage players in the space and foster community development.
### Technology
Our consumer-facing platform is a large React application tuned for speed and scale. We employ both server and client-side rendering techniques, utilizing Webpack code splitting and Apollo GraphQL.
This front-end is powered by PHP servers running in GKE, using a home-grown Redis-based caching system to provide extremely quick data lookups for over 80% of all incoming database calls, with a 99% cache hit ratio. Our primary database storage is MySQL though our data is also stored in Datastore (a NoSQL database primarily used for document and markdown storage), Elasticsearch (for search and aggregations), and BigQuery (for analytics and debugging).
Urjanet is a data service platform which aggregates disparate utility data into a common format for benchmarking and analysis. Customers looking to glean insight into their energy usage and expenditure, comply with government regulations, or use utility data for other means, such as alternative credit scoring, all seek Urjanet for the data to drive decisions.
### Technology
Urjanet is a large Java application composed of microservices to provide a data pipeline from customer-authorized credentials to one of many data export formats. Urjanet heavily relies on a number of AWS services to achieve these ends. Urjanet’s proprietary website navigation framework and source extraction library (ie. HTML and PDF) allows them to build declarative navigation and extraction “connectors” to thousands of utility data sources around the world. The data model is backed by a graph of data stored in MySQL for utility data, and a Cassandra database for smart meter interval data. Technical challenges include designing a storage layer to accommodate a wide variety of source formats, efficient and timely data acquisition, auditing, and transformation, and bin-packing solutions to reduce cost of such workloads.
### Scale
Urjanet provides global data for both small customers and Fortune 500 companies. Recurring data is provided under stringent SLA timeframes for millions of utility accounts, from over 6500 utilities.