---
title: "Team Qameta – Ruby on Rails Software Development"
description: "Team Qameta builds, maintains and upgrades Ruby on Rails B2B software for German and European companies."
url: "https://qameta.com/"
---

# Team Qameta

> Team Qameta builds, maintains and upgrades Ruby on Rails B2B software for German and European companies.

- We work with Ruby on Rails end to end: new web applications and APIs, mobile apps with Hotwire Native, Ruby and Rails version upgrades, database and asset-pipeline migrations, performance analysis, PostgreSQL/MySQL database optimization, automated test suites, security maintenance, quality audits and security audits based on ISO/IEC 27001, deployment, and ongoing maintenance and support.
- Our engineering practice is Test Driven Development, Continuous Integration and Continuous Delivery, code review, and keeping dependencies patched and current.
- We are an agile company based in Germany, working with B2B customers across Europe. We are native German speakers and fluent in English.
- We do not work for equity, do not work for free, and do not build social networks.
- To start a conversation about a project, write to info@qameta.com.

## Services

- [Automated Test Suites for Ruby on Rails](https://qameta.com/automated-test-suites/): A reliable automated test suite running in CI turns security updates into routine, makes major Rails upgrades plannable, and lets your team ship faster.
- [Continuous Delivery](https://qameta.com/continuous-delivery/): Continuous Delivery automates shipping ready code to staging and production. It also decouples deployment from developer systems by using merges in Git.
- [Continuous Integration](https://qameta.com/continuous-integration/): By building and testing software after every change, a Continuous Integration System supports our Software Team to build the best possible software.
- [Mobile Apps with Hotwire Native](https://qameta.com/mobile-apps-with-hotwire-native/): Hotwire Native is our mobile technology of first choice - build iOS and Android apps from your existing Rails web screens instead of a separate native codebase.
- [MySQL/MariaDB to PostgreSQL Migration](https://qameta.com/mysql-to-postgresql-migration/): We have moved several Ruby on Rails projects from MySQL/MariaDB to PostgreSQL and know how to do it with minimal downtime and no data loss.
- [PostgreSQL and MySQL Database Optimization](https://qameta.com/database-optimization/): We optimize PostgreSQL and MySQL/MariaDB databases behind Ruby on Rails applications - slow queries, indices, locking, schema changes and configuration.
- [Resque to Solid Queue Migration](https://qameta.com/resque-to-solid-queue-migration/): We have moved several Ruby on Rails projects from Resque to Solid Queue, including their scheduled (cron) jobs, dropping the Redis dependency.
- [Ruby on Rails Maintenance Retainer](https://qameta.com/ruby-on-rails-maintenance-retainer/): An ongoing monthly engagement where we look after the health of your Ruby on Rails application - upgrades, dependencies, security, CI/CD and code review - so your team can focus on features.
- [Ruby on Rails Performance Analysis](https://qameta.com/ruby-on-rails-performance-analysis/): We measure where your Ruby on Rails application spends its time, find the real bottlenecks and fix them - backed by numbers before and after.
- [Ruby on Rails Quality Audits](https://qameta.com/ruby-on-rails-quality-audits/): We review the codebase, tests, dependencies and delivery process of your Ruby on Rails application and give you a clear, prioritized picture of its health.
- [Ruby on Rails Security Maintenance](https://qameta.com/ruby-on-rails-security-maintenance/): We keep your Ruby on Rails application patched - Ruby, Rails, gems, JavaScript packages and the system underneath - and react quickly to security advisories.
- [Ruby on Rails Version Upgrades](https://qameta.com/ruby-on-rails-upgrades/): We have run Ruby on Rails since version 2.3 and know how to upgrade legacy projects to a current, supported version - safely and step by step.
- [Security Audits based on ISO/IEC 27001](https://qameta.com/security-audits-iso-27001/): We audit Ruby on Rails applications and their development and operations processes against ISO/IEC 27001 controls and help you get ready for certification.
- [Test Driven Development](https://qameta.com/test-driven-development/): Why Test Driven Development is important for Team Qameta and our customers.
- [Vendor-Independent Deployments with Kamal](https://qameta.com/vendor-independent-deployments-with-kamal/): We have deployed a lot of projects to Heroku and Dokku. With Kamal we build deployments that aren't tied to any single hosting provider.
- [Webpacker to jsbundling-rails/cssbundling-rails Migration](https://qameta.com/webpacker-to-jsbundling-cssbundling-migration/): Webpacker is no longer maintained. We migrate Ruby on Rails projects from Webpacker to jsbundling-rails and cssbundling-rails without breaking the frontend build.

## Blog

Notes from day-to-day Ruby on Rails work, most recent first.

- [Howto move from Resque to Solid Queue](https://qameta.com/posts/howto-move-from-resque-to-solid-queue/): Migrate a Ruby on Rails application from Resque to Solid Queue, including moving resque-scheduler cron jobs to Solid Queue's recurring tasks.
- [Control Resque through Capistrano using systemd](https://qameta.com/posts/control-resque-throuh-capistrano-using-systemd/): Run Resque background workers as a systemd user service and start, stop, and restart them straight from Capistrano deployments.
- [We Will Be Driving Autonomously Long Before Any AI Provider Is Liable for Generated Code](https://qameta.com/posts/ai-liability-vs-autonomous-driving/): Why autonomous vehicles will achieve full legal liability long before AI code generators ever will — and what that means for software developers.
- [Deploy Vaultwarden Password Manager to Dokku Micro PaaS](https://qameta.com/posts/deploy-vaultwarden-password-manager-to-dokku-micro-paas/): Deploy Vaultwarden Password Manager to Dokku Micro PaaS using a Dockerfile. Including DB setup, SSL and persistent storage for DB and attachments.
- [Identify unused Routes in Ruby on Rails](https://qameta.com/posts/identify-unused-routes-in-ruby-on-rails/): Identify unused routes in Ruby on Rails before 7.1 and after 7.1 with built-in tooling.
- [Use Geocoder and MaxMind DB to Geocode IP Addresses](https://qameta.com/posts/use-geocoder-and-maxmind-db-to-geocode-ip-addresses/): Geocoding IP Addresses in a Ruby on Rails project using geocoder gem and MaxMind GeoIP database to explore the world of networks.
- [Default URL Options in Ruby on Rails](https://qameta.com/posts/default-url-options-in-ruby-on-rails/): Understand default_url_options in Ruby on Rails and know where and how to use it. Tackle confusing things.
- [Working with Legacy Ruby on Rails: spring.gem fork() Crash](https://qameta.com/posts/working-with-legacy-ruby-on-rails-spring-fork-crash/): Working with Legacy Ruby on Rails projects is a challenge. Fixing a spring gem fork() crash is one step.
- [Analyzing SassC::SyntaxError in Ruby on Rails 7.0](https://qameta.com/posts/analyzing-sassc-syntax-error-in-ruby-on-rails-7-0/): Analyze and fix SassC::SyntaxError in a current Ruby on Rails 7.0 project.
- [Deploy Ruby on Rails 7.0 to Dokku micro PaaS](https://qameta.com/posts/deploy-rails-7-0-to-dokku-micro-paas/): Know how to deploy a Ruby Rails 7.0 application to the Dokku micro PaaS with database migrations, Let's Encrypt and more Rails related.
- [Fixing require LoadError as an example for the matrix gem](https://qameta.com/posts/fixing-require-loaderror-as-example-for-matrix-gem/): Some default gems like matrix may be removed from Ruby releases. How to handle this on project upgrades or usage?
- [Analyzing Geofeed Technology to improve IP networks](https://qameta.com/posts/analyzing-geofeed-technology-to-improve-ip-networks/): Analyzing Geofeed technology, the accuracy of published information and possible use cases for the provided data.
- [Fix Flaky Rails System Tests caused by slow scrolling or animations](https://qameta.com/posts/fix-flaky-rails-system-tests-caused-by-slow-scrolling-or-animations/): Fix failing browser tests caused by slow scrolling behavior or animations. Learn how to find then and understand how to fix them.
- [Howto migrate from Webpacker to jsbundling-rails in Ruby on Rails](https://qameta.com/posts/howto-migrate-from-webpacker-to-jsbundling-rails-in-ruby-on-rails/): Migrating an existing Ruby on Rails Application using webpacker to jsbundling-rails. Sunset webpacker now.
- [Howto migrate from Webpacker to cssbundling-rails in Ruby on Rails for CSS](https://qameta.com/posts/howto-migrate-from-webpacker-to-cssbundling-rails-in-ruby-on-rails/): Migrating an existing Ruby on Rails Application using webpacker to cssbundling-rails for CSS bundling.
- [Howto remove sprockets-rails from you Ruby on Rails project](https://qameta.com/posts/howto-remove-sprockets-rails-from-your-ruby-on-rails-project/): Removing sprockets-rails from you modern Ruby on Rails project may reduce dependencies and simplify setup for your project.
- [Copy Files Compressed with Tar via ssh from and to a Linux Server](https://qameta.com/posts/copy-files-compressed-with-tar-via-ssh-to-a-linux-server/): Copy files compressed with tar via ssh to another remote machine running Linux or Unix with different use cases.
- [New Alternative Search Engine: neeva and neevaAI](https://qameta.com/posts/new-alternative-search-engine-neeva-ai/): Presenting the new alternative search engine neeva and neevaAI related to their Product Hunt Launch.
- [To use or not to use assert_predicate with minitest in Ruby](https://qameta.com/posts/use-assert-predicate-with-minitest-ruby-by-rubocop/): Minitest extension in RuboCop recommends to use assert_predicate instead of a simple assert on boolean values. Let's have a look at it.
- [Target Alternative Search Engines through IndexNow](https://qameta.com/posts/target-alternative-search-engines-through-indexnow/): Target Alternative Search Engines using IndexNow Technology. Reach more diversification in you Marketing and open new markets.
- [Define Default URL for ActiveStorage to fix Mixed Content Error](https://qameta.com/posts/define-default-url-for-active-storage-to-fix-mixed-content-error/): Define default URL for ActiveStorage links and redirects to fix random Mixed Content Error in Ruby on Rails Projects.
- [Define Canonical URL in a Hugo Theme](https://qameta.com/posts/define-canonical-url-in-a-hugo-theme/): Define link rel canonical in a Hugo Template to make an URL canonical, which may have some optional GET parameters.

## Company

- [Contact](https://qameta.com/contact/): Get in touch with Team Qameta about your Ruby on Rails project.
- [Data Protection Policy](https://qameta.com/data-protection-policy/): Privacy Page of Team Qameta Website
- [Imprint](https://qameta.com/imprint/): Imprint of Team Qameta Website
- [Subscribe to our Newsletter](https://qameta.com/newsletter-subscribe/): Join us by subscribing to our newsletter and get tutorials, news and updates from Team Qameta

## Optional

- [All blog posts](https://qameta.com/posts/): paginated index of every post.
- [RSS feed](https://qameta.com/index.xml): full-site feed of new posts.
- [Tags](https://qameta.com/tags/): posts grouped by topic.
- [Full content](https://qameta.com/llms-full.txt): every service page, blog post and company page in full, as one Markdown file.

