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

Oakland, CA, United States

Toptal member since February 10, 2021

Bio

Todd's best fit is a client looking for an expert Ruby on Rails architect to help build a new solution or, conversely, someone to help rescue a codebase 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 implement best practices that will help guide the project through 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

  • Enterprise Application Design - 20 years
  • Best Practices - 10 years
  • Ruby - 10 years
  • Ruby on Rails (RoR) - 8 years
  • RSpec - 7 years
  • PostgreSQL - 6 years
  • Stimulus - 6 years
  • Docker - 5 years

Availability

Full-time

Preferred Environment

Ruby on Rails (RoR)

The most amazing...

...solution I've built is the gem Filterameter, which simplifies and speeds development of Rails controllers by making filter parameters declarative.

Work Experience

Technical Lead

2022 - 2024
Research Laboratory
  • Led a team of 6-8 remote developers, including contractors and employees.
  • 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.
  • Built a library to wrap the Artemis gem (GraphQL) and generate results with models, batching, and enumeration.
  • Introduced Turbo and Stimulus to the existing application.
  • Collaborated with scientists to help define and address software requirements.
  • Brought a non-running test suite back to life and increased test coverage.
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, GraphQL, Ruby on Rails 7, Ruby on Rails 6, Technical Leadership

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 (RoR), REST APIs, GraphQL

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, REST APIs

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. This effort helped 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, removing the need for a local installation. This 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 (RoR), REST APIs

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. It was built using 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, REST APIs

Ruby on Rails Engineer

2014 - 2017
E-tailer Startup
  • Designed and built a framework to publish data 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 drop ship and owned inventory availability.
  • 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, eCommerce

Filterameter: Declarative Filter Parameters for Rails Controllers

https://github.com/RockSolt/filterameter
Ruby on Rails applications often have boilerplate code around turning request parameters into filter criteria for the response. The controller allows the parameters, and the model includes scopes for simple attribute criteria, which the controller applies.

After writing lots of this code and seeing it written inconsistently, even within a single application, I built 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.
1989 - 1993

Bachelor's Degree in English

University of California, Berkeley - Berkeley, CA

Libraries/APIs

Ruby on Rails API, REST APIs, Graphiti

Tools

RSpec, RuboCop, Turbo, Docker Compose

Languages

Ruby, SQL, JavaScript, HTML, GraphQL, Java, CSS

Frameworks

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

Paradigms

Clean Code, Best Practices, Design Patterns, Agile

Platforms

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

Storage

PostgreSQL, MySQL, Redis, Elasticsearch

Other

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

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