GR Logo Horizontal GR Logo Vertical
< Back To Expertise

Programming, testing, and delivering top-shelf software

Web-based software and analytic tools

Languages & Frameworks

Green River has been a Ruby on Rails shop for over 10 years. We enjoy working in Rails; it is a mature and battle-tested framework that allows us to develop and iterate rapidly. In addition, we have production experience in various JavaScript frameworks, Java, PHP, Python, C, Perl, Visual Basic, C#, and more. While Rails often serves our clients well, we review and embrace the appropriate technology for each project. Keeping our focus primarily on Rails (and React) has allowed us to become highly proficient, and enables us to leverage our staff across projects.

Storage

Solving problems with relational databases is a core area of our expertise (e.g. modeling business domains, reporting, warehouse design), and durable data storage is almost always a prerequisite to the projects we take on. As we choose languages, we evaluate storage solutions on a per-engagement basis. We have production experience running PostgreSQL, Microsoft SQL Server, MySQL, along with a handful of NoSQL alternatives such as Redis and DynamoDB.

Design

As a complement to our UX process, Green River’s design team utilizes a suite of prototyping tools for creating rich and interactive UI experiences that are used for client discovery, user testing, and guiding development processes. Our toolkit includes Figma and the Adobe Creative Suite (specifically XD) as well as ProtoPie, Condens, FlowMapp, and Hotjar.

Front-End

We love building richly interactive and robust interfaces for the web using a combination of React, TypeScript, and GraphQL. This stack is highly flexible and benefits from the strong communities surrounding these technologies. For UI libraries, we typically turn to MUI and Bootstrap, and when it’s time for data visualizations, we like Highcharts and D3.

We are also at home building interfaces with Ruby on Rails. Leveraging our deep knowledge of Rails, our team has built complex data entry forms, sophisticated workflows, and high-performance websites, all while keeping costs low.

With all of our interfaces we place a high value on accessibility. We strive to build interfaces that are not only beautiful, but usable to all audiences and meet current accessibility standards.

Software Quality

Great software is elegant, but not fragile. Our development process includes internal code reviews, quality assurance passes, and automated testing. We use a continuous integration pipeline to let our team move quickly while ensuring our code adheres to best practices and security standards. In production, our applications are closely monitored for runtime errors, performance problems, and emergent security vulnerabilities.

Hosting

We provide managed, high-availability hosting. Our typical stack involves Docker orchestration on top of Amazon Web Services (AWS). Amazon accounts are generally owned by our clients, and we're granted admin access for management. We also provide deployment support for clients who wish to host applications in-house, or use other hosting services.

Transitions

In cases where we provide "work-for-hire," we ensure all code is available on Github in either a private or public repository, depending on the engagement. We also believe software is successful if it gets used and grows, regardless of who ultimately maintains it, so we provide support, documentation, and transition assistance when it makes sense to move a project in-house or elsewhere.