Todd Kummer, Developer in Oakland, CA, United States
Todd is available for hire
Hire Todd

Todd Kummer

Verified Expert  in Engineering

Enterprise Application Design Developer

Location
Oakland, CA, United States
Toptal Member Since
February 10, 2021

Todd's best fit is a client looking for an expert Ruby on Rails architect to help build out a new solution, or conversely, someone to help rescue a code base that has gone astray. His long history of product development—for software companies, internal business applications, and consumer websites—helps him find the right balance between short-term and long-term requirements and put in place best practices that will help guide the project for its full lifecycle.

Portfolio

Research Laboratory
Ruby, Ruby on Rails (RoR), Turbo, minitest, Docker, Docker Compose, PostgreSQL...
SaaS HR Platform
Ruby, Ruby on Rails API, Ruby on Rails 5, RSpec, Elasticsearch...
Fortune 500 Retailer
Ruby, Ruby on Rails (RoR), PostgreSQL, Redis, Best Practices...

Experience

Availability

Part-time

Preferred Environment

Ruby on Rails (RoR)

The most amazing...

...solution I've built is a product catalog that ingested data from multiple sources and enabled business owners to configure role-based views.

Work Experience

Technical Lead

2022 - PRESENT
Research Laboratory
  • Led a team of six to eight remote developers, including contractors and employees.
  • Brought a non-running test suite back to life and increased test coverage.
  • Collaborated with scientists to help define and address software requirements.
  • Revamped the build and deploy process, deployed a single consistent image to all environments, and addressed security vulnerabilities by making it easy to upgrade libraries.
  • Introduced Turbo and Stimulus to the existing application.
Technologies: Ruby, Ruby on Rails (RoR), Turbo, minitest, Docker, Docker Compose, PostgreSQL, JavaScript, Stimulus, Mentorship & Coaching, Server-side Rendering (SSR), Amazon Web Services (AWS), RuboCop, Design Patterns, Clean Code, SQL, Best Practices, Data Modeling, Mentorship, Agile

Ruby on Rails Engineer

2021 - 2022
SaaS HR Platform
  • Rewrote a search index job to cut a 30-hour process to one hour, using parallel processing and batching calls to remote services.
  • Built a custom Elasticsearch adapter for the Graphiti library to enable JSON API-compliant endpoints to be backed by a search index.
  • Refactored legacy code to enable logic reuse during the transition from the Ember front end to React and retired unused code from the legacy application.
  • Reduced RSpec test time by more than 50% while increasing code coverage.
  • Mentored a small team of developers learning Ruby on Rails.
Technologies: Ruby, Ruby on Rails API, Ruby on Rails 5, RSpec, Elasticsearch, Amazon Web Services (AWS), PostgreSQL, SQL, Kubernetes, Mentorship & Coaching, Graphiti, RuboCop, Docker, Design Patterns, Docker Compose, Clean Code, Best Practices, Data Modeling, Agile

Ruby on Rails Engineer

2020 - 2020
Fortune 500 Retailer
  • Brought in best practices to a small group working in spreadsheets and reporting tools without much support from IT. Stressed the importance of automation and test environments in mitigating risk.
  • Designed an application to capture user requests (previously sent by email), enable approval workflow, and apply updates programmatically (previously done with manual SQL statements).
  • Built Ruby on Rails API for an application using a PostgreSQL database and a Redis Cache.
  • Wrote a Docker build file for deployment to Kubernetes.
Technologies: Ruby, Ruby on Rails (RoR), PostgreSQL, Redis, Best Practices, Enterprise Application Design, Docker, RSpec, RuboCop, Ruby on Rails API, Ruby on Rails 5, Design Patterns, Docker Compose, Clean Code, Data Modeling

Ruby on Rails Engineer

2019 - 2020
Agricultural Supply Chain Platform
  • Refactored code to standardize and encapsulate the generation of accounting entries.
  • Worked with the development team to focus on unit testing first. The effort helped to speed up tests by 30%.
  • Designed and built flexible contract templates to allow pricing to be defined at multiple levels across multiple harvests.
  • Created monthly farmer statements showing inventory and processing information.
  • Updated the developer setup to use Docker for the database to remove the need for local installation. Enabled development on Linux and made the database upgrade easy for the development team.
Technologies: Ruby, Ruby on Rails API, Clean Code, RSpec, Docker, RuboCop, Ruby on Rails 5, Design Patterns, Docker Compose, Best Practices, Data Modeling

Ruby on Rails Engineer

2017 - 2019
Fortune 500 Retailer
  • Architected a product catalog to support multiple roles, each defined by business users. The configuration was collected in a Ruby on Rails app that turned it into both serializers for the API and a contract for the SPA front end.
  • Crafted a Docker Compose file for developers to run the application with a Sinatra app, a database (PostgreSQL), a cache (Redis), a search index, and five Rails apps. Included proxy server so individual local services would automatically switch over.
  • Designed a custom ETL framework to capture data from disparate systems, including web services, flat files, and external databases. Built in Ruby on Rails, which enabled developers to map from source data to a consolidated data model quickly.
Technologies: Ruby, Ruby on Rails (RoR), Docker, Google Cloud Platform (GCP), Stimulus, Enterprise Application Design, Clean Code, RSpec, RuboCop, Server-side Rendering (SSR), Full-stack, Ruby on Rails API, APIs, Design Patterns, Docker Compose, Best Practices, Data Modeling, Agile

Ruby on Rails Engineer

2014 - 2017
E-tailer Startup
  • Designed and built a framework to enable data to be published to multiple external systems. Each of the 20+ endpoints could have different triggers, target types (file, SOAP, and web services), formats (JSON and XML), and size thresholds.
  • Developed an inventory management platform and enabled an e-tailer to manage the availability of both drop ship and owned inventory.
  • Converted and cleaned up redundant SKU data to enable double dropdowns (size, color, finish, etc.) on the product display page.
  • Built a Java-based service to find similar products. Implemented the related products feature on the consumer website.
Technologies: Ruby, Ruby on Rails (RoR), MySQL, Docker, RuboCop, RSpec, APIs, Java, Server-side Rendering (SSR), Full-stack, Ruby on Rails API, Design Patterns, Data Modeling

Filterameter: Declarative Filter Parameters for Rails Controllers

https://github.com/RockSolt/filterameter
Ruby on Rails applications often has boilerplate code around turning request parameters into filter criteria for the response. The controller allowlists the parameters; the model includes scopes for simple attribute criteria; then, the controller applies them.

After writing lots of this code and seeing it written inconsistently, even within a single application, I decided to build a gem to enable declarative filter parameters for Rails controllers.

A straightforward DSL allows developers to call out allowable filters, including validations, nested filters, and name overrides. There is no other code to write!

Connecting Controllers in Stimulus

https://github.com/toddkummer/stimulus/wiki/Related-Controllers-for-Stimulus
Stimulus is a popular open-source JavaScript library from the creators of Ruby on Rails. This fork enables controllers to be connected, making it easier to use composition with smaller, more focused controllers.

Next Page: Pagination for Rails Controllers

https://github.com/RockSolt/next_page
This open-source library is deliberately simple. It is a lightweight Ruby gem that enables developers to add pagination and sorting to Rails controllers. Out of the box, it provides bi-directional sorting on attributes, nested attributes, or scopes.

Run Time Settings: Persisted Key-value Pairs for App Settings

https://github.com/RockSolt/run_time_settings
Inevitable applications need a small number of flags. Maybe it is to turn jobs on and off, and maybe it is to set thresholds for processing. If the settings do not need to change between deployments, then environment variables are a good choice.

However, if users want to change a value more frequently or want someone without the ability to do a deployment to change a value, another solution is needed. This Ruby gem provides it, allowing developers to quickly add run time settings wherever they make the most sense: on a job, on a model, or even on a PORO.

Languages

Ruby, SQL, JavaScript, Java, HTML, CSS

Frameworks

Ruby on Rails (RoR), Ruby on Rails 5, Stimulus, minitest

Libraries/APIs

Ruby on Rails API, Graphiti

Tools

RSpec, RuboCop, Docker Compose, Turbo

Paradigms

Clean Code, Best Practices, Design Patterns, Agile

Other

Enterprise Application Design, Data Modeling, APIs, Server-side Rendering (SSR), Full-stack, Mentorship & Coaching, Communication, Mentorship

Platforms

Docker, Google Cloud Platform (GCP), Amazon Web Services (AWS), Kubernetes

Storage

PostgreSQL, Redis, MySQL, Elasticsearch

1989 - 1993

Bachelor's Degree in English

University of California, Berkeley - Berkeley, CA

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring