Internal CRM*
* Real name obfuscated because of an NDA
Started in as a part of my work as Ruby developer, UI designer and tech lead for Speed & Function
Business role
An in-house document processing system that was successfully replacing a big part of manual work on “Franchise Disclosure Document” — legal documents necessary to open new franchises.
What it was about
A law firm based on the East coast, providing support for businesses in opening new franchises
An in-house document processing system and CRM, written fully with Rails, with no front-end framework. Data processing, access management, etc.
Challenges
- some chaos in view partials & CSS
- a little too complicated business logic in models
My responsibilities
I worked as a classic full-stack Ruby developer on this project
- Adding responsiveness to legacy pages
- Correcting web typography
- Creating & deploying Ruby on Rails web apps from scratch
- Creating service objects for performant filter search
- Developing a home-grown CMS / admin area
- Front-end develpment (HTML / CSS /JS)
- Generating upsell proposals for current clients
- Making heavy parts of web pages asyncronous via Ajax
- Refactoring legacy code
- Upgrading gems in legacy Rails projects
- Videocalls with client’s team
- Writing feature tests with Capybara
- Writing unit tests with RSpec
Interesting things I did on this project
- Mentoring junior developers
- Preparing solution engineering proposals for incoming projects
- Replacing Datatables with HotWire
- Rewriting clumsy legacy HTML into correct, consise, semantic HTML that looks beautiful even with no CSS
- Rewriting controllers to reduce the number of SQL queries & lower DB utilization
- Re-writing pages from ActionView partials to ViewComponent
- Upgrading Rails from previous versions
Technologies / skills
Main
- Capybara
- HTML
- JavaScript
- Ruby
- Sass
- Haml
- RSpec
- Bootstrap 3+
- Ruby on Rails
- CSS
- Circle CI
- jQuery
- Data Tables
- GitHub
- Docker
- Git
- HotWire
- Stimulus
- AWS S3
- Heroku dynos
- Sidekiq
- ViewComponent
- SQL
Secondary
Feedback I received
You could show my team, who are kind of more junior, where the bar is
NPS: 10 of 10
You guys are just so awesome and easy to work with
NPS: 10 of 10
You are crushing it
NPS: 10 of 10
We were able to get many big clients as a direct result of this system, they all see [project name] and love it
NPS: 10 of 10