Constructor de consultas SQL en rieles

Estamos tratando de construir un generador de consultas SQL que permita a los usuarios realizar consultas con ayuda visual.
Tenemos el front-end todo trabajado con el usuario pudiendo seleccionar tablas agregar condición, etc. Sin embargo, nuestro backend es un desastre, ya que estamos tratando de hacer estas consultas como una cadena que toma las condiciones del usuario y luego las cadenas SQL adecuadas en nuestros modelos.
Esto eventualmente se volvería muy defectuoso y difícil de mantener a medida que agregamos soporte para consultas cada vez más complejas. ¿Alguien está al tanto de un complemento de constructor de sql que podamos usar, o una mejor manera de abordar esto?