# BigBinary - Full Reference > BigBinary is a software consulting company specializing in Ruby on Rails, React, React Native, open source, and long-term product engineering. ## Company ### Expert Ruby on Rails consulting company URL: https://www.bigbinary.com/ BigBinary is a Ruby on Rails consulting company based in Miami, USA and Pune, India, building robust web applications with Ruby on Rails. #### Overview For over 14 years, we have been working with Ruby on Rails, and we love it. We have a track record of building high-quality software with proven results. #### Services ##### Ruby on Rails application development In our 14 years of experience, most projects fall in this category. To begin with clearly defined objectives, we then create simple wireframes to align the team on the project's direction, focusing on clarity over polish. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/end-to-end-rubyonrails-application-development) ##### Ruby on Rails upgrades Ruby on Rails moves fast and some projects struggle to keep up with the latest versions. BigBinary's expertise is here to assist, ensuring smooth transitions and preventing your projects from falling behind. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/upgrading-rubyonrails-application) ##### Performance Enhancements Improving performance requires deep understanding of the technology stack. At BigBinary we have done many performance enhacements to make the applciations run faster and smoother. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/performance-enhancements) ##### Code audit BigBinary excels in code audits, especially for Ruby on Rails. With our expertise, we review and analyse codebases, ensuring they meet best practices, scalable and ensuring speedy performance. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/code-audit) ##### Ruby on Rails maintenance We take care of your Ruby on Rails maintenance—routine upgrades, security fixes, performance improvements, and monitoring—so your application remains fast, secure and bug free. This lets your team stay focused on serving customers. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/ruby-on-rails-maintenance) ##### Team Augmentation BigBinary offers Ruby on Rails team augmentation so you can scale quickly without compromising quality. Our engineers plug into your existing workflows, bring deep Rails expertise, and help your team ship faster. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/team-augmentation) #### Experience - Year of Foundation: 2011 - Clients: 100+ - Projects: 400+ ### BigBinary Clients URL: https://www.bigbinary.com/clients BigBinary has worked with diverse companies from startups to enterprises across industries. #### Featured Clients ##### Gumroad Gumroad facilitates direct sales for creators, providing payment processing, file hosting, and marketing tools. Creators on Gumroad have earned hundreds of millions selling films, courses, books, and music. [Link](https://www.bigbinary.com/clients/case-studies/gumroad) ##### Lovewick Lovewick, the ultimate couples app, strengthens relationships with a vast library of fun questions, unique date ideas, and research-based advice. Trusted by over 250k couples globally for enhanced intimacy. [Link](https://www.bigbinary.com/clients/case-studies/lovewick) ##### numberF NumberF revolutionizes accessing and supporting the next wave of creativity, making cutting-edge art as accessible as streaming music or movies. Artists can upload, manage, gain followers, and earn income seamlessly. [Link](https://www.bigbinary.com/clients/case-studies/numberf) ##### Healthicity Healthicity's solutions simplify auditing, compliance, and analytics, enhancing operational performance for businesses. The intelligent tools streamline tasks for medical coders, auditors, and providers, improving efficiency in their work. [Link](https://www.bigbinary.com/clients/case-studies/healthicity) ##### CareGeneral CareGeneral is a streamlined home-based care platform for patients, caregivers, providers, payers, and employers, enhancing communication, coordination, and education to reduce costs effectively. [Link](https://www.bigbinary.com/clients/case-studies/caregeneral) ##### RaceHero RaceHero brings everything about racing to your pocket in a fun and social way. Whether it is race schedules, live timing, tracking, or analyzing the data, anyone can visualize the entire race using RaceHero. [Link](https://www.bigbinary.com/clients/case-studies/racehero) #### Industries - Healthcare - Ecommerce - Payments - Media #### Clients - rootly - AtoB - DataStax - Maxwell - PharmEasy - Bukukas - iheartJane - RESO - MLB - Vineti - Clearsense - Riya Collective - TrackerNetworks - Amber.ag - HarvestProfit - ActivateCare - icapital - E2open - Penny Finance - BeccasHome - Goodnation - Demoflow - Ticket Evolution - FBS - BlueRocket - MLS Aligned - AgentBright - Cognitive Genetics - Deako Inc - Melbourne Health Rooms - JackyWinter - EverBee - MarketStar - Pattern Consulting - Programa - PromoVet - Autobrain - CrowdPleaser - StoryEasel - Bright Software - AAPC - Cloud Logistics - Tweli - 4-H - Agent Inbox - Medigap Life - Promohunt - Bright Funds - Tint - AngelList - Huma.AI - CTO.ai - Gemini - Trtle - KiOS ### BigBinary Testimonials URL: https://www.bigbinary.com/testimonials Read what clients say about working with BigBinary. #### Testimonials ##### Sahil Lavingia BigBinary has been a huge asset for Gumroad. They've helped us ship features we wouldn't have been able to otherwise. If you’re looking for a ruby/rails-focused dev shop, they have my full endorsement! CEO, Gumroad ##### Harshita Arora We love working with BigBinary engineers - they've allowed us to ship faster. We will be working with BigBinary for years to come! Co-founder of AtoB and General Partner at Y Combinator ##### Dadi Akhavan As a tech company, you depend on solid engineering expertise with trust and confidence. The BigBinary team are not only very knowledgeable and come up with innovative solutions, but more importantly, are responsible and reliable. Tweli & Numberf ##### Jeff Young BigBinary team did a splendid job in understanding the business value of the old application and translated that into a better workflow with modern technology stack with richer UI. It overall resulted in better user experience all around. Vice President, Product Development AAPC ##### Dirk Peters We have worked with BigBinary for over six years. BigBinary team is a pleasure to work with. Besides strategic advice, they bring insights and ideas about product strategy and direction that we highly value. Founder, CareGeneral ##### Amy DuRoss Vineti has been working with BigBinary for over three years now. The BigBinary team has been a tremendous help in delivery software and the team has the technical expertise to get the work done. Co-founder & CEO, Vineti Inc. ##### Jack Collins We engaged with BigBinary with a fairly urgent need for a complex Rails/React service. Their developers quickly gathered context and began work. They operated as a seamless extension of our team and produced very high quality code. Our own developers got a lot of value from working with them. Ultimately, the project was completed on time with high test coverage and stability. We are consistently building on the foundation they laid, and are very pleased with the results. I am looking forward to future opportunities to work with BigBinary in the future. Co-founder & CTO, Demoflow ##### Brian Ghidinelli When looking for Rails and React developers, we discovered BigBinary from their open source contributions to Rails. They have delivered consistently strong work for the past 2 years, and we consider them part of our team. RaceHero ##### Michael Huneke BigBinary has talented ReactJS developers and working with them has been a great experience for me. They hit the ground running quickly and have been a great addition to our team. President and founder, Pattern Consulting ##### Josh Ettwein BigBinary has been pivotal in the early success of Gemini. We have been working with them for over a year, and not only is their development talent including React top-notch, but they also allow us to easily staff up and scale down as needed for surges around specific product features, which is extremely beneficial to us as a startup. I cannot recommend BigBinary highly enough! Head of Engineering and Product Development Blue Rocket/Gemini ### BigBinary Case Studies URL: https://www.bigbinary.com/case-studies Selected case studies from BigBinary client work. #### Case Studies ##### Gumroad An great platform built for new beginnings [Link](https://www.bigbinary.com/clients/case-studies/gumroad) ##### Lovewick A new couples app to play your way to lasting love [Link](https://www.bigbinary.com/clients/case-studies/lovewick) ##### CareGeneral A simple platform to coordinate and support home based care [Link](https://www.bigbinary.com/clients/case-studies/caregeneral) ##### Healthicity All-in-One Healthcare Compliance Software [Link](https://www.bigbinary.com/clients/case-studies/healthicity) ##### numberF Turn your TV into a new way to experience digital art like never before [Link](https://www.bigbinary.com/clients/case-studies/numberf) ##### RaceHero Track, Analyze, Share your racing on any device [Link](https://www.bigbinary.com/clients/case-studies/racehero) ### Contact BigBinary URL: https://www.bigbinary.com/contact Contact BigBinary for Ruby on Rails consulting. #### Miami 382 NE 191st St, PMB 98893, Miami, FL 33179, USA #### Pune Office #803, 8th Floor, Tower 2, World Trade Center, Kharadi, Pune, Maharashtra 411014, India ### How We Work URL: https://www.bigbinary.com/how-we-work How BigBinary works with clients and with each other. #### Writing At BigBinary, we care a lot about how we write. In a collaborative environment we need to communicate a lot and good writing is simply good communication. Imprecise and poorly written messages will be misunderstood. Clear and simple writing is not easy but with practice it gets better. First thing we tell everyone coming to BigBinary is that easiest thing you can do is write grammatically correct sentences. Not writing a sentence grammatically correct and taking shortcuts is not a sign of being speedy. It's a sign of mental laziness. If you are sloppy about writing English sentences, then I assume that you are going to be sloppy about other work too. Whatever is written should also be grammatically correct English sentences all the time. Even in our internal chat, BigBinary folks cannot write "**i will attend the call five minutes late.**". Here, "**i**" should have been spelled as "**I**". Similarly, writing "**u should work on billing issues today**" is wrong. Here "**u**" should have been written as "**You**". Once you have learned how to write grammatically correct English sentences then the next thing is to write like you are talking to someone. Use small sentences and revise the sentences before you send them. #### Reading We want BigBinary folks to have the capacity to read long articles without getting distracted. In this social media age, where people mostly consume short form videos, people are getting worse at reading long articles. We want BigBinary folks to be able to read in a concentrated manner. In many companies, a common excuse is that I didn't read the documents because they were too long. That will not fly here. You must be able to read articles, blogs, and comments with concentration. [Here is an example](https://blog.neeto.com/p/interest-rate-is-of-interest) of an article that is long, and you should be able to read it. #### Sense of urgency It's a known human trait that when we work with a sense of urgency, we not only get more done, but also get more satisfaction from the work that is done. Working with a "sense of urgency" doesn't mean working more hours. It means getting more done in those hours. It means working with deep concentration because there is an urgency to get things done. #### Asynchronous communication Let's say I have a small question about a billing feature I'm working on. This is not a pressing matter at the moment. If I get an answer to this question 4 hours late, then it's ok. In that case, I won't ping my co-worker to hop on a Zoom call. I'll make a video recording of my question using [NeetoRecord](https://neeto.com/neetorecord) for my team members. My team members will look at the message at their convenience and will reply accordingly. My team members can respond by posting a message or making a video and posting that video for me. #### Maximizing uninterrupted time Being constantly interrupted is terrible for producing high-quality work. We cannot stop the work and resume work anytime we want. When we are doing creative work, setting up the mind in the proper work zone and understanding the context of the problem itself takes quite some time. Whether you are writing code, writing a blog, performing QA or doing UI/UX work, we can do quality work if and only if we have uninterrupted time for a long stretch of time. There are many ways to spend time. One can spend 60 minutes in one of two ways. No disturbance for 60 minutes. Six interruptions in 60 minutes. If a person is interrupted six times in 60 minutes because of the pings from Whatsapp, Slack, imessages, email notifications, GitHub notifications, then on average, that person has only 10 minutes of uninterrupted time. That's too little to get any quality work done. Nothing gets done when we are constantly interrupted. The Worst part is that these interruptions are disguised as work itself. A ping on Slack, an email notification and a ping from GitHub seem like work. However, these interruptions do not let us do "focused work". To get work done, we need to have a long stretch of uninterrupted time for ourselves. So, how do we reconcile these two needs? A need to have "a long stretch of uninterrupted time," and then there is a need to "answer the questions others are asking". Asynchronous work and long stretches of uninterrupted time strike the right balance. We focus on getting work done, and then, after an hour or so, we need a break. For some, it could be a few hours before they need a break. When we are out of our "no interruption time zone," that's a good time to check Slack, email etc. The main point is that it is up to us to decide if we want to check Slack or if we want to do work. When this choice is taken away, then that's an interruption. I didn't want to be interrupted in the middle of my work but I had no choice in the matter. Those types of interruptions are really bad for work and those types of interruptions should be minimized. #### Handling Slack interruptions At BigBinary, we use Slack. However, we use it a bit differently. One of the common problems people run into with Slack is that there are too many notifications. If someone is using @channel, @everyone or sending DM messages, these notifications will appear on your laptop and mobile. We call these types of notifications _iping_. Here, "i" stands for "interruption". We call them _iping_ because these messages will appear without regard for your actions. In other words, these messages scream, "I don't care what you are doing; pay attention to this message". Typically, people get so many ipings that they need to put their notifications on snooze. Here, part of the problem is how Slack has designed communication. When I receive an email, whether I want to get interrupted or not is under my control. Slack takes this control away. If anyone sends a message to me in Slack, then by default it's a DM, and that's an interruption. That's the biggest flaw of Slack. We overcame this issue by banning DM altogether. For each person, we communicate, we create private channels. In those channels, we can post messages and the other person can read the message as and when they get time. This is how we overcame the interruption issue in Slack. #### Flexible Timing We embrace flexible timing, allowing BigBinary folks to work when they're most productive. Some may start early, others late. While we keep a few hours of overlap with clients, we want you to work at your best time and pace. #### BigBinary is not a family These days, companies are falling over each other to claim they are part of your family. Not at BigBinary. We are very clear about who we are. If we work together, then we are colleagues. Some of your colleagues will participate in your family function, and some won’t. And that’s OK. BigBinary is not a family. We are supporters of the family. #### No micro-management BigBinary doesn't do micro-management. We trust our team to take ownership and rise to the occasion. No one's sole job is to manage others—we believe in empowering people, not hovering over them. #### No monitoring software We don't use monitoring software, and we don't work with clients who require it. We trust our team to manage their work independently, reflecting our belief in autonomy and mutual respect. #### Handling conflicts When we work in a team, conflicts are bound to happen. In a way, conflicts are desirable. If there is no conflict ever and everyone agrees with everyone on everything, then that means people are not being sincere and not forthcoming with their ideas. We don't need to optimize to avoid conflict. The key here is to ensure that the conflict related to work, design, and engineering does not cross over and become a personal conflict. Don't do a personal attack on the other person just because that person pointed out design flaws. We need to handle conflicts professionally and never let them cause any disharmony at a personal level. The goal should be that at the end of the meeting, even if you disagree with someone, you are impressed by how cogently, thoughtfully, and respectfully the other party presented their point of view. #### Raising the bar BigBinary has many engineers, and the average of those engineers is called the "bar". Every new person joining BigBinary should raise the bar. That's possible only if we keep hiring folks who are better than the average. This is why most people are rejected at BigBinary. We don't want to compromise on our standards, and we will only hire those folks who raise the bar. #### No referral bonus Many companies offer referral bonuses to incentivize their employees to refer others to work at the company. At BigBinary, we do not have any referral bonuses. Let's look at some of the issues with this scheme to understand why we do not follow this practice. Let's say the new person leaves one week after joining the company. Should the person who was referred still get the "referral bonus"? Probably not. So now, HR will create a new rule stating that a new employee must work for at least six months for the person who referred to get a "referral bonus." The next issue is that someone needs to decide the referral amount. It's a challenging task. The amount might motivate a person earning less but might not be suitable for senior engineers earning more. We at BigBinary want to avoid these kinds of issues. We want to keep "HR work" to a minimum and follow a simple strategy. If you think you will enjoy working with a person or if that person will enjoy working at BigBinary, then you should refer that person without worrying about whether there will be any monetary compensation. ### Open Source URL: https://www.bigbinary.com/open-source BigBinary open source work and contributions. #### BigBinary has made tons of open-source contributions We use plenty of open-source software in all our projects, and we are very grateful to the contributors of those projects. At BigBinary, we try to give back to the open-source community. Here are some of the open-source projects our team members have contributed to. - Ruby on Rails - ReactJS - Arel - Spree - Connection Counter - Rake - BabelJS - mail_interceptor - react-rails - Chef - wheel - dalli - ActiveMerchant - CodeTriage - rack-protection - jQuery - HTTMultiparty - thor - devise - loofah - rack - racc - backbone-rails - globalid - BubbleWrap ### Neeto: BigBinary's Engineering Prowess URL: https://www.bigbinary.com/neeto-proof-of-bigbinarys-engineering-prowess How Neeto demonstrates BigBinary's engineering capabilities. [Neeto](https://neeto.com/) is what happens when strong engineering meets relentless curiosity. Neeto is our playground. It’s where we experiment, learn new technologies, and push our limits. We wanted to understand how Heroku works, so we built a Heroku alternative: NeetoDeploy. Today, every Neeto product runs on NeetoDeploy. As a fully remote company, we were heavy users of Loom. We loved everything about it—except the pricing. We couldn’t justify giving Loom to every engineer. So we built a quick proof of concept. It worked, we kept going, and NeetoRecord was born. Today, NeetoRecord is used by hundreds of companies worldwide. The same story repeated with Calendly. We used it for scheduling calls with clients and customers and loved the product—but not the cost. So we built NeetoCal, a Calendly alternative. It worked too. Now, every month, more than 50,000 bookings are scheduled through NeetoCal by customers across the world. As Neeto products gained more users, we needed better tools to support them. We built our own chat software, NeetoChat, and our own ticketing system, NeetoDesk, to manage customer conversations and support requests. Building 10+ products at the same time creates its own engineering challenges. The only way to maintain this many products is to ruthlessly prioritize code sharing. Anything used by more than one product is converted into an internal gem or engine so the code can be shared across the Neeto ecosystem. That led to a new challenge: what happens when one of these internal gems is upgraded? To handle that, we built our own internal compliance system to track and manage upgrades safely across all products. As we built more products, we opened more pull requests and ran more test suites. Running all those tests on GitHub Actions started to get expensive. So we asked ourselves: how hard would it be to build a CI system? We experimented, and NeetoCI was the result. Today, all our CI tests run on NeetoCI. We needed a FAQ system so customers wouldn’t have to ask the same questions again and again—so we built NeetoKB. To keep track of which customers requested which features, we built NeetoEngage. To have full control over the look, feel, and URLs of our blogs, we built NeetoPublish. At some point, we started using Cursor Bugbot to catch issues in pull requests. Cursor was great but again, too expensive, and Yedhin was passionate about building our own alternative. That spark became NeetoBugWatch. Varun had a similar spark for better visibility into Playwright tests, which led to NeetoPlaydash. For project management, we built NeetoPlanner. You can see the engineering pattern: it’s not a neat, carefully planned roadmap. It’s a series of sparks. When someone on the team is excited to build something, we give it space. We start with a proof-of-concept and see where it goes. We’re not afraid to bet on unfamiliar technologies. We had no idea how to build a Heroku alternative (NeetoDeploy), a Cursor bot alternative (NeetoBugWatch), a GitHub Actions alternative (NeetoCI), or a Loom alternative (NeetoRecord) when we started. We figured it out as we built. That bias toward building—backed by solid engineering—makes BigBinary an extraordinary place to work and an exceptional partner to build with. All Neeto products are built using Ruby on Rails, Redis, Sidekiq, React.js and PostgreSQL. ### BigBinary Videos URL: https://www.bigbinary.com/videos Screencast series on Ruby on Rails, JavaScript and related tools, recorded by the BigBinary team. #### Series ##### Ruby on Rails Videos [Ruby on Rails Videos](https://www.bigbinary.com/videos/learn-ruby-on-rails) - Episodes: 7 - Author: Neeraj Singh ##### Learn Ember.js [Learn Ember.js](https://www.bigbinary.com/videos/learn-ember-js) - Episodes: 3 - Author: Neeraj Singh ##### Learn jQuery [Learn jQuery](https://www.bigbinary.com/videos/learn-jquery) - Episodes: 10 - Author: Neeraj Singh ##### Learn JavaScript Videos [Learn JavaScript Videos](https://www.bigbinary.com/videos/learn-javascript) - Episodes: 14 - Author: Neeraj Singh ##### Misc videos [Misc videos](https://www.bigbinary.com/videos/misc) - Episodes: 2 - Author: Neeraj Singh ##### Learn making videos using screenflow [Learn making videos using screenflow](https://www.bigbinary.com/videos/learn-making-videos-using-screenflow) - Episodes: 3 - Author: Neeraj Singh ##### Learn RubyMotion [Learn RubyMotion](https://www.bigbinary.com/videos/learn-rubymotion) - Episodes: 19 - Author: Neeraj Singh ### Ruby on Rails Videos URL: https://www.bigbinary.com/videos/learn-ruby-on-rails 7 episodes by Neeraj Singh. #### Episodes ##### How autoloading works in Rails [How autoloading works in Rails](https://www.bigbinary.com/videos/learn-ruby-on-rails/how-autoloading-works-in-rails) - Episode: 1 - Duration: 21:25 ##### How Arel works [How Arel works](https://www.bigbinary.com/videos/learn-ruby-on-rails/how-arel-works) - Episode: 2 - Duration: 12:00 ##### How Rails boots [How Rails boots](https://www.bigbinary.com/videos/learn-ruby-on-rails/how-rails-boots) - Episode: 3 - Duration: 24:31 ##### How callbacks work in Rails [How callbacks work in Rails](https://www.bigbinary.com/videos/learn-ruby-on-rails/how-callbacks-work-in-rails) - Episode: 4 - Duration: 15:48 ##### Pjax on Rails [Pjax on Rails](https://www.bigbinary.com/videos/learn-ruby-on-rails/pjax-on-rails) - Episode: 5 - Duration: 08:37 ##### Using services to manage code [Using services to manage code](https://www.bigbinary.com/videos/learn-ruby-on-rails/using-services-to-manage-code) - Episode: 6 - Duration: 14:51 ##### Use uuid, X-Request-Id and tagged logging [Use uuid, X-Request-Id and tagged logging](https://www.bigbinary.com/videos/learn-ruby-on-rails/use-uuid-x-request-id-and-tagged-logging) - Episode: 7 - Duration: 07:51 ### How autoloading works in Rails URL: https://www.bigbinary.com/videos/learn-ruby-on-rails/how-autoloading-works-in-rails Episode 1 of Ruby on Rails, by Neeraj Singh. #### Details - Series: Ruby on Rails Videos - Duration: 21:25 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=NRIbgXUCnq0](https://www.youtube.com/watch?v=NRIbgXUCnq0) ### How Arel works URL: https://www.bigbinary.com/videos/learn-ruby-on-rails/how-arel-works Episode 2 of Ruby on Rails, by Neeraj Singh. #### Details - Series: Ruby on Rails Videos - Duration: 12:00 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=Y0hXXYuY0Yc](https://www.youtube.com/watch?v=Y0hXXYuY0Yc) ### How Rails boots URL: https://www.bigbinary.com/videos/learn-ruby-on-rails/how-rails-boots Episode 3 of Ruby on Rails, by Neeraj Singh. #### Details - Series: Ruby on Rails Videos - Duration: 24:31 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=ZjvPhmnHnrw](https://www.youtube.com/watch?v=ZjvPhmnHnrw) ### How callbacks work in Rails URL: https://www.bigbinary.com/videos/learn-ruby-on-rails/how-callbacks-work-in-rails Episode 4 of Ruby on Rails, by Neeraj Singh. #### Details - Series: Ruby on Rails Videos - Duration: 15:48 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=Z3O063tuwjg](https://www.youtube.com/watch?v=Z3O063tuwjg) ### Pjax on Rails URL: https://www.bigbinary.com/videos/learn-ruby-on-rails/pjax-on-rails Episode 5 of Ruby on Rails, by Neeraj Singh. #### Details - Series: Ruby on Rails Videos - Duration: 08:37 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=Fc9Eiu3ikto](https://www.youtube.com/watch?v=Fc9Eiu3ikto) #### Notes - Discusses how to use pjax technique in a Ruby on Rails application. - [Tweet from David](https://twitter.com/dhh/status/233981905069035521) - [Current state of pjax support in browsers](http://caniuse.com/#search=pushstate) - [jquery.pjax](https://github.com/defunkt/jquery-pjax/blob/master/jquery.pjax.js) - [rack-pjax](https://github.com/eval/rack-pjax/blob/master/lib/rack/pjax.rb) ### Using services to manage code URL: https://www.bigbinary.com/videos/learn-ruby-on-rails/using-services-to-manage-code Episode 6 of Ruby on Rails, by Neeraj Singh. #### Details - Series: Ruby on Rails Videos - Duration: 14:51 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=Mkx5qjFvQ_o](https://www.youtube.com/watch?v=Mkx5qjFvQ_o) #### Notes - In all our applications we have a directory called app/services. In this directory we put all kinds of services. Now what’s a service. - A service is anything that a model should not be concerned about. Like How to send SMS, how to deliver email, making call to external service, parsing CSV file. It all depends on the application what should be in the model and what should be in the services. - The additional job of services is to keep model thin and manageable by extracting certain business rule into a service in itself. - [7 Patterns to refactor fat Active Record models](http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/) ### Use uuid, X-Request-Id and tagged logging URL: https://www.bigbinary.com/videos/learn-ruby-on-rails/use-uuid-x-request-id-and-tagged-logging Episode 7 of Ruby on Rails, by Neeraj Singh. #### Details - Series: Ruby on Rails Videos - Duration: 07:51 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=SgOqdwPs6Yg](https://www.youtube.com/watch?v=SgOqdwPs6Yg) #### Notes - Use uuid and tagged logging to debug Rails application. - [Rails commit](https://github.com/rails/rails/commit/afde6fdd5ef3e6b0693a7e330777e85ef4cffddb) - #config/intializers/tagged_logging.rb Wheel::Application.config.log_tags = \[:subdomain,:uuid \] #app/controllers/application_controller.rb before_action:set_honeybadger_context def set_honeybadger_context hash = { uuid: request.uuid } if current_user hash.merge!({ user_id: current_user.id, user_email: current_user.email }) end Honeybadger.context hash end ### Learn Ember.js URL: https://www.bigbinary.com/videos/learn-ember-js 3 episodes by Neeraj Singh. #### Episodes ##### Getting started with Ember.js [Getting started with Ember.js](https://www.bigbinary.com/videos/learn-ember-js/getting-started-with-ember-js) - Episode: 1 - Duration: 07:04 ##### Validations in Ember.js application [Validations in Ember.js application](https://www.bigbinary.com/videos/learn-ember-js/validations-in-ember-js-application) - Episode: 2 - Duration: 11:57 ##### CRUD application in Ember.js [CRUD application in Ember.js](https://www.bigbinary.com/videos/learn-ember-js/crud-application-in-ember-js) - Episode: 3 - Duration: 20:00 ### Getting started with Ember.js URL: https://www.bigbinary.com/videos/learn-ember-js/getting-started-with-ember-js Episode 1 of Learn Ember.js, by Neeraj Singh. #### Details - Series: Learn Ember.js - Duration: 07:04 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=nxnjF0KSOL4](https://www.youtube.com/watch?v=nxnjF0KSOL4) #### Notes - Getting started with Ember.js is tough in these early days of Ember.js. This video helps you get started. - [Ember.js](http://emberjs.com/) - [ember-rails](https://github.com/emberjs/ember-rails) - [ember-payment](https://github.com/bigbinary/ember-payment) ### Validations in Ember.js application URL: https://www.bigbinary.com/videos/learn-ember-js/validations-in-ember-js-application Episode 2 of Learn Ember.js, by Neeraj Singh. #### Details - Series: Learn Ember.js - Duration: 11:57 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=govQkNGsYTw](https://www.youtube.com/watch?v=govQkNGsYTw) #### Notes - Building validation of forms in an Ember.js application. - [Getting started with emberjs](https://www.bigbinary.com/videos/learn-ember-js/getting-started-with-ember-js) - [ember-payment (use branch “validations” )](https://github.com/bigbinary/ember-payment) ### CRUD application in Ember.js URL: https://www.bigbinary.com/videos/learn-ember-js/crud-application-in-ember-js Episode 3 of Learn Ember.js, by Neeraj Singh. #### Details - Series: Learn Ember.js - Duration: 20:00 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=lGbDRgOtXCk](https://www.youtube.com/watch?v=lGbDRgOtXCk) #### Notes - Building a CRUD application in Ember.js. - [Getting started with emberjs](https://www.bigbinary.com/videos/learn-ember-js/getting-started-with-ember-js) - [Validations in emberjs application](http://www.bigbinary.com/videos/learn-ember-js/validations-in-ember-js-application) - [ember-payment (use branch “crud” )](https://github.com/bigbinary/ember-payment) ### Learn jQuery URL: https://www.bigbinary.com/videos/learn-jquery 10 episodes by Neeraj Singh. #### Episodes ##### jQuery introduction [jQuery introduction](https://www.bigbinary.com/videos/learn-jquery/jquery-introduction) - Episode: 1 - Duration: 10:15 ##### jQuery domready [jQuery domready](https://www.bigbinary.com/videos/learn-jquery/jquery-domready) - Episode: 2 - Duration: 04:21 ##### jQuery selectors [jQuery selectors](https://www.bigbinary.com/videos/learn-jquery/jquery-selectors) - Episode: 3 - Duration: 22:47 ##### DOM manipulation using jQuery [DOM manipulation using jQuery](https://www.bigbinary.com/videos/learn-jquery/dom-manipulation-using-jquery) - Episode: 4 - Duration: 15:11 ##### jQuery events [jQuery events](https://www.bigbinary.com/videos/learn-jquery/jquery-events) - Episode: 5 - Duration: 21:53 ##### Enhancing forms with jQuery [Enhancing forms with jQuery](https://www.bigbinary.com/videos/learn-jquery/enhancing-forms-with-jquery) - Episode: 6 - Duration: 09:29 ##### jQuery live [jQuery live](https://www.bigbinary.com/videos/learn-jquery/jquery-live) - Episode: 7 - Duration: 12:28 ##### jQuery delegate [jQuery delegate](https://www.bigbinary.com/videos/learn-jquery/jquery-delegate) - Episode: 8 - Duration: 08:09 ##### jQuery deferred [jQuery deferred](https://www.bigbinary.com/videos/learn-jquery/jquery-deferred) - Episode: 9 - Duration: 28:52 ##### Avoid domready when possible [Avoid domready when possible](https://www.bigbinary.com/videos/learn-jquery/avoid-domready-when-possible) - Episode: 10 - Duration: 06:17 ### jQuery introduction URL: https://www.bigbinary.com/videos/learn-jquery/jquery-introduction Episode 1 of Learn jQuery, by Neeraj Singh. #### Details - Series: Learn jQuery - Duration: 10:15 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=lqzGr9ngbLM](https://www.youtube.com/watch?v=lqzGr9ngbLM) #### Notes - Why use jQuery - What is minified jQuery - [jsfiddle.net](http://jsfiddle.net/) ### jQuery domready URL: https://www.bigbinary.com/videos/learn-jquery/jquery-domready Episode 2 of Learn jQuery, by Neeraj Singh. #### Details - Series: Learn jQuery - Duration: 04:21 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=UL6doF3HaK0](https://www.youtube.com/watch?v=UL6doF3HaK0) #### Notes - What is domready. - How to use it. ### jQuery selectors URL: https://www.bigbinary.com/videos/learn-jquery/jquery-selectors Episode 3 of Learn jQuery, by Neeraj Singh. #### Details - Series: Learn jQuery - Duration: 22:47 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=6E0EgEfZDjU](https://www.youtube.com/watch?v=6E0EgEfZDjU) #### Notes - Basic selectors. - Find vs filter. - pseudo selectors. - Filter with a function. ### DOM manipulation using jQuery URL: https://www.bigbinary.com/videos/learn-jquery/dom-manipulation-using-jquery Episode 4 of Learn jQuery, by Neeraj Singh. #### Details - Series: Learn jQuery - Duration: 15:11 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=SeH-iyKLnlA](https://www.youtube.com/watch?v=SeH-iyKLnlA) #### Notes - append, appendTo - insertBefore, insertAfter - remove vs empty - remove vs detach - wrap - [http://jsfiddle.net/neerajdotname/sqDRd/19](http://jsfiddle.net/neerajdotname/sqDRd/19) - [http://jsfiddle.net/neerajdotname/sqDRd/20](http://jsfiddle.net/neerajdotname/sqDRd/20) - [http://jsfiddle.net/neerajdotname/sqDRd/21](http://jsfiddle.net/neerajdotname/sqDRd/21) - [http://jsfiddle.net/neerajdotname/sqDRd/18](http://jsfiddle.net/neerajdotname/sqDRd/18) - [http://jsfiddle.net/neerajdotname/sqDRd/22](http://jsfiddle.net/neerajdotname/sqDRd/22) - [http://jsfiddle.net/neerajdotname/sqDRd/23](http://jsfiddle.net/neerajdotname/sqDRd/23) - [http://jsfiddle.net/neerajdotname/sqDRd/24](http://jsfiddle.net/neerajdotname/sqDRd/24) - [http://jsfiddle.net/neerajdotname/sqDRd/25](http://jsfiddle.net/neerajdotname/sqDRd/25) - [http://jsfiddle.net/neerajdotname/sqDRd/26](http://jsfiddle.net/neerajdotname/sqDRd/26) - [http://jsfiddle.net/neerajdotname/sqDRd/27](http://jsfiddle.net/neerajdotname/sqDRd/27) - [http://jsfiddle.net/neerajdotname/sqDRd/28](http://jsfiddle.net/neerajdotname/sqDRd/28) - [http://jsfiddle.net/neerajdotname/sqDRd/29](http://jsfiddle.net/neerajdotname/sqDRd/29) - [http://jsfiddle.net/neerajdotname/sqDRd/30](http://jsfiddle.net/neerajdotname/sqDRd/30) - [http://jsfiddle.net/neerajdotname/sqDRd/31](http://jsfiddle.net/neerajdotname/sqDRd/31) ### jQuery events URL: https://www.bigbinary.com/videos/learn-jquery/jquery-events Episode 5 of Learn jQuery, by Neeraj Singh. #### Details - Series: Learn jQuery - Duration: 21:53 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=EMAvTDoQv8U](https://www.youtube.com/watch?v=EMAvTDoQv8U) #### Notes - How events bubble - How to intercept bubbling event - Event handlers - e.stopPropagation() - e.stopImmediatePropagation() - returning false - Making use of event bubbling - [http://jsfiddle.net/neerajdotname/nf4GG/1](http://jsfiddle.net/neerajdotname/nf4GG/1) - [http://jsfiddle.net/neerajdotname/nf4GG/2](http://jsfiddle.net/neerajdotname/nf4GG/2) - [http://jsfiddle.net/neerajdotname/nf4GG/3](http://jsfiddle.net/neerajdotname/nf4GG/3) - [http://jsfiddle.net/neerajdotname/nf4GG/5](http://jsfiddle.net/neerajdotname/nf4GG/5) - [http://jsfiddle.net/neerajdotname/nf4GG/6](http://jsfiddle.net/neerajdotname/nf4GG/6) - [http://jsfiddle.net/neerajdotname/nf4GG/7](http://jsfiddle.net/neerajdotname/nf4GG/7) - [http://jsfiddle.net/neerajdotname/nf4GG/8](http://jsfiddle.net/neerajdotname/nf4GG/8) - [http://jsfiddle.net/neerajdotname/nf4GG/9](http://jsfiddle.net/neerajdotname/nf4GG/9) - [http://jsfiddle.net/neerajdotname/nf4GG/10](http://jsfiddle.net/neerajdotname/nf4GG/10) - [http://jsfiddle.net/neerajdotname/nf4GG/11](http://jsfiddle.net/neerajdotname/nf4GG/11) - [http://jsfiddle.net/neerajdotname/nf4GG/12](http://jsfiddle.net/neerajdotname/nf4GG/12) - [http://jsfiddle.net/neerajdotname/nf4GG/13](http://jsfiddle.net/neerajdotname/nf4GG/13) ### Enhancing forms with jQuery URL: https://www.bigbinary.com/videos/learn-jquery/enhancing-forms-with-jquery Episode 6 of Learn jQuery, by Neeraj Singh. #### Details - Series: Learn jQuery - Duration: 09:29 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=nkvFss2vBKg](https://www.youtube.com/watch?v=nkvFss2vBKg) #### Notes - Change the color of asterisk - Replace asterisk with text - Toggle student id field - [http://jsfiddle.net/neerajdotname/FcHyp/7](http://jsfiddle.net/neerajdotname/FcHyp/7) - [http://jsfiddle.net/neerajdotname/FcHyp/12](http://jsfiddle.net/neerajdotname/FcHyp/12) - [http://jsfiddle.net/neerajdotname/FcHyp/13](http://jsfiddle.net/neerajdotname/FcHyp/13) - [http://jsfiddle.net/neerajdotname/FcHyp/14](http://jsfiddle.net/neerajdotname/FcHyp/14) - [http://jsfiddle.net/neerajdotname/FcHyp/15](http://jsfiddle.net/neerajdotname/FcHyp/15) - [http://jsfiddle.net/neerajdotname/FcHyp/16](http://jsfiddle.net/neerajdotname/FcHyp/16) ### jQuery live URL: https://www.bigbinary.com/videos/learn-jquery/jquery-live Episode 7 of Learn jQuery, by Neeraj Singh. #### Details - Series: Learn jQuery - Duration: 12:28 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=JeOzv6UmT8k](https://www.youtube.com/watch?v=JeOzv6UmT8k) #### Notes - Why use live - How it works - Things to watch out for - [http://jsfiddle.net/neerajdotname/hENsw/8](http://jsfiddle.net/neerajdotname/hENsw/8) - [http://jsfiddle.net/neerajdotname/hENsw/5](http://jsfiddle.net/neerajdotname/hENsw/5) - [http://jsfiddle.net/neerajdotname/hENsw/6](http://jsfiddle.net/neerajdotname/hENsw/6) - [http://jsfiddle.net/neerajdotname/hENsw/7](http://jsfiddle.net/neerajdotname/hENsw/7) ### jQuery delegate URL: https://www.bigbinary.com/videos/learn-jquery/jquery-delegate Episode 8 of Learn jQuery, by Neeraj Singh. #### Details - Series: Learn jQuery - Duration: 08:09 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=qfJqbJdM_Z4](https://www.youtube.com/watch?v=qfJqbJdM_Z4) #### Notes - Delegates solves live problems - Delegate preferred over live - [http://jsfiddle.net/neerajdotname/hENsw/7](http://jsfiddle.net/neerajdotname/hENsw/7) - [http://jsfiddle.net/neerajdotname/hENsw/14](http://jsfiddle.net/neerajdotname/hENsw/14) - [http://jsfiddle.net/neerajdotname/hENsw/15](http://jsfiddle.net/neerajdotname/hENsw/15) - [http://jsfiddle.net/neerajdotname/hENsw/16](http://jsfiddle.net/neerajdotname/hENsw/16) ### jQuery deferred URL: https://www.bigbinary.com/videos/learn-jquery/jquery-deferred Episode 9 of Learn jQuery, by Neeraj Singh. #### Details - Series: Learn jQuery - Duration: 28:52 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=ay_qbDuIHNk](https://www.youtube.com/watch?v=ay_qbDuIHNk) #### Notes - Usage of Deferred in Ajax call - Non ajax usage of Deferred - Resolve and fail method - Practical usage of Deferred with caching example - [http://jsfiddle.net/neerajdotname/k2Q9b/4](http://jsfiddle.net/neerajdotname/k2Q9b/4) - [http://jsfiddle.net/neerajdotname/k2Q9b/7](http://jsfiddle.net/neerajdotname/k2Q9b/7) - [http://jsfiddle.net/neerajdotname/k2Q9b/8](http://jsfiddle.net/neerajdotname/k2Q9b/8) - [http://jsfiddle.net/neerajdotname/k2Q9b/9](http://jsfiddle.net/neerajdotname/k2Q9b/9) - [http://jsfiddle.net/neerajdotname/k2Q9b/10](http://jsfiddle.net/neerajdotname/k2Q9b/10) - [http://jsfiddle.net/neerajdotname/k2Q9b/11](http://jsfiddle.net/neerajdotname/k2Q9b/11) - [http://jsfiddle.net/neerajdotname/k2Q9b/13](http://jsfiddle.net/neerajdotname/k2Q9b/13) - [http://jsfiddle.net/neerajdotname/k2Q9b/19](http://jsfiddle.net/neerajdotname/k2Q9b/19) - [http://jsfiddle.net/neerajdotname/k2Q9b/16](http://jsfiddle.net/neerajdotname/k2Q9b/16) - [http://jsfiddle.net/neerajdotname/k2Q9b/18](http://jsfiddle.net/neerajdotname/k2Q9b/18) ### Avoid domready when possible URL: https://www.bigbinary.com/videos/learn-jquery/avoid-domready-when-possible Episode 10 of Learn jQuery, by Neeraj Singh. #### Details - Series: Learn jQuery - Duration: 06:17 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=IzOPUrhEkOg](https://www.youtube.com/watch?v=IzOPUrhEkOg) #### Notes - [jQuery method on](http://api.jquery.com/on/) - [data-behaviour for developers](https://blog.bigbinary.com/2012/10/10/data-behavior.html) ### Learn JavaScript Videos URL: https://www.bigbinary.com/videos/learn-javascript 14 episodes by Neeraj Singh. #### Episodes ##### Hoisting is not a real thing [Hoisting is not a real thing](https://www.bigbinary.com/videos/learn-javascript/hoisting-is-not-a-real-thing) - Episode: 1 - Duration: 04:12 ##### Scope of a variable in JavaScript [Scope of a variable in JavaScript](https://www.bigbinary.com/videos/learn-javascript/scope-of-a-variable-in-javascript) - Episode: 2 - Duration: 09:06 ##### Lexical scoping in JavaScript [Lexical scoping in JavaScript](https://www.bigbinary.com/videos/learn-javascript/lexical-scoping-in-javascript) - Episode: 3 - Duration: 06:24 ##### Cheating Lexical scoping in JavaScript [Cheating Lexical scoping in JavaScript](https://www.bigbinary.com/videos/learn-javascript/cheating-lexical-scoping-in-javascript) - Episode: 4 - Duration: 05:17 ##### Immediately invoked function expression [Immediately invoked function expression](https://www.bigbinary.com/videos/learn-javascript/immediately-invoked-function-expression) - Episode: 5 - Duration: 08:04 ##### Understanding this in JavaScript [Understanding this in JavaScript](https://www.bigbinary.com/videos/learn-javascript/understanding-this-in-javascript) - Episode: 6 - Duration: 11:13 ##### Understanding (this) part II [Understanding (this) part II](https://www.bigbinary.com/videos/learn-javascript/understanding-this-part-ii) - Episode: 7 - Duration: 06:20 ##### Understanding (this) part III [Understanding (this) part III](https://www.bigbinary.com/videos/learn-javascript/understanding-this-part-iii) - Episode: 8 - Duration: 07:29 ##### Understanding (this) part IV [Understanding (this) part IV](https://www.bigbinary.com/videos/learn-javascript/understanding-this-part-iv) - Episode: 9 - Duration: 08:22 ##### How closure works in JavaScript Part I [How closure works in JavaScript Part I](https://www.bigbinary.com/videos/learn-javascript/how-closure-works-in-javascript-part-i) - Episode: 10 - Duration: 06:38 ##### How closure works in JavaScript Part II [How closure works in JavaScript Part II](https://www.bigbinary.com/videos/learn-javascript/how-closure-works-in-javascript-part-ii) - Episode: 11 - Duration: 06:50 ##### Module pattern in JavaScript [Module pattern in JavaScript](https://www.bigbinary.com/videos/learn-javascript/module-pattern-in-javascript) - Episode: 12 - Duration: 05:46 ##### Refactor code using module pattern [Refactor code using module pattern](https://www.bigbinary.com/videos/learn-javascript/refactor-code-using-module-pattern) - Episode: 13 - Duration: 21:19 ##### A review of tools to test ES6 [A review of tools to test ES6](https://www.bigbinary.com/videos/learn-javascript/a-review-of-tools-to-test-es6) - Episode: 14 - Duration: 04:51 ### Hoisting is not a real thing URL: https://www.bigbinary.com/videos/learn-javascript/hoisting-is-not-a-real-thing Episode 1 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 04:12 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=AcpyCCNgB9E](https://www.youtube.com/watch?v=AcpyCCNgB9E) #### Notes - In JavaScript “function declaration” behaves differently from “function expression”. - Hoisting is not declared in ECMAScript. - Hoisting is a mental model. - [http://jsbin.com/hamige/6/edit?html,js,console,output](http://jsbin.com/hamige/6/edit?html,js,console,output) - [http://jsbin.com/hamige/7/edit?html,js,console,output](http://jsbin.com/hamige/7/edit?html,js,console,output) ### Scope of a variable in JavaScript URL: https://www.bigbinary.com/videos/learn-javascript/scope-of-a-variable-in-javascript Episode 2 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 09:06 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=XplUoz1lJcU](https://www.youtube.com/watch?v=XplUoz1lJcU) #### Notes - [http://jsbin.com/mahalaqupu/3/edit?html,js,console,output](http://jsbin.com/mahalaqupu/3/edit?html,js,console,output) - [http://jsbin.com/teqamulaxi/1/edit?html,js,console,output](http://jsbin.com/teqamulaxi/1/edit?html,js,console,output) - [http://jsbin.com/litisiqezo/1/edit?html,js,console,output](http://jsbin.com/litisiqezo/1/edit?html,js,console,output) ### Lexical scoping in JavaScript URL: https://www.bigbinary.com/videos/learn-javascript/lexical-scoping-in-javascript Episode 3 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 06:24 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=9OmFYM2Xw5Y](https://www.youtube.com/watch?v=9OmFYM2Xw5Y) #### Notes - [http://jsbin.com/mahalaqupu/3/edit?html,js,console,output](http://jsbin.com/mahalaqupu/3/edit?html,js,console,output) ### Cheating Lexical scoping in JavaScript URL: https://www.bigbinary.com/videos/learn-javascript/cheating-lexical-scoping-in-javascript Episode 4 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 05:17 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=W_StzOwiKXk](https://www.youtube.com/watch?v=W_StzOwiKXk) ### Immediately invoked function expression URL: https://www.bigbinary.com/videos/learn-javascript/immediately-invoked-function-expression Episode 5 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 08:04 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=27wp8BX6c0Q](https://www.youtube.com/watch?v=27wp8BX6c0Q) #### Notes - [http://jsbin.com/silorahisa/3/edit?html,js,console,output](http://jsbin.com/silorahisa/3/edit?html,js,console,output) - [http://jsbin.com/hemezipive/1/edit?html,js,console,output](http://jsbin.com/hemezipive/1/edit?html,js,console,output) - [Immediately-Invoked Function Expression (IIFE)](http://benalman.com/news/2010/11/immediately-invoked-function-expression/) ### Understanding this in JavaScript URL: https://www.bigbinary.com/videos/learn-javascript/understanding-this-in-javascript Episode 6 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 11:13 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=DjkS6kZACbA](https://www.youtube.com/watch?v=DjkS6kZACbA) #### Notes - [http://jsbin.com/dutuxirazi/1/edit?html,js,console,output](http://jsbin.com/dutuxirazi/1/edit?html,js,console,output) - [http://jsbin.com/munofehuhe/1/edit?html,js,console,output](http://jsbin.com/munofehuhe/1/edit?html,js,console,output) - [http://jsbin.com/munofehuhe/2/edit?html,js,console,output](http://jsbin.com/munofehuhe/2/edit?html,js,console,output) - [http://jsbin.com/munofehuhe/3/edit?html,js,console,output](http://jsbin.com/munofehuhe/3/edit?html,js,console,output) ### Understanding (this) part II URL: https://www.bigbinary.com/videos/learn-javascript/understanding-this-part-ii Episode 7 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 06:20 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=TkN-1dkMfrk](https://www.youtube.com/watch?v=TkN-1dkMfrk) #### Notes - [http://jsbin.com/xatayiyoku/1/edit?html,js,console,output](http://jsbin.com/xatayiyoku/1/edit?html,js,console,output) - [http://jsbin.com/lizewukini/2/edit?html,js,console,output](http://jsbin.com/lizewukini/2/edit?html,js,console,output) - [http://jsbin.com/lizewukini/3/edit?html,js,console,output](http://jsbin.com/lizewukini/3/edit?html,js,console,output) - [http://jsbin.com/lizewukini/4/edit?html,js,console,output](http://jsbin.com/lizewukini/4/edit?html,js,console,output) ### Understanding (this) part III URL: https://www.bigbinary.com/videos/learn-javascript/understanding-this-part-iii Episode 8 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 07:29 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=7j9CtSFcTIA](https://www.youtube.com/watch?v=7j9CtSFcTIA) #### Notes - [http://jsbin.com/nixidejote/1/edit?html,js,console,output](http://jsbin.com/nixidejote/1/edit?html,js,console,output) - [http://jsbin.com/nuxedosoge/1/edit?html,js,console,output](http://jsbin.com/nuxedosoge/1/edit?html,js,console,output) - [http://jsbin.com/zarocecese/1/edit?html,js,console,output](http://jsbin.com/zarocecese/1/edit?html,js,console,output) ### Understanding (this) part IV URL: https://www.bigbinary.com/videos/learn-javascript/understanding-this-part-iv Episode 9 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 08:22 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=GmDKrx5S4RA](https://www.youtube.com/watch?v=GmDKrx5S4RA) #### Notes - [http://jsbin.com/saleyobiku/2/edit?html,js,console,output](http://jsbin.com/saleyobiku/2/edit?html,js,console,output) - [http://jsbin.com/saleyobiku/3/edit?html,js,console,output](http://jsbin.com/saleyobiku/3/edit?html,js,console,output) - [http://jsbin.com/saleyobiku/4/edit?html,js,console,output](http://jsbin.com/saleyobiku/4/edit?html,js,console,output) - [http://jsbin.com/saleyobiku/5/edit?html,js,console,output](http://jsbin.com/saleyobiku/5/edit?html,js,console,output) - [bind support in browsers](http://kangax.github.io/compat-table/es5/#Function.prototype.bind) - [Polyfill for bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind) ### How closure works in JavaScript Part I URL: https://www.bigbinary.com/videos/learn-javascript/how-closure-works-in-javascript-part-i Episode 10 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 06:38 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=i99JIPQxVYk](https://www.youtube.com/watch?v=i99JIPQxVYk) #### Notes - [http://jsbin.com/deyeniveto/1/edit?html,js,console,output](http://jsbin.com/deyeniveto/1/edit?html,js,console,output) ### How closure works in JavaScript Part II URL: https://www.bigbinary.com/videos/learn-javascript/how-closure-works-in-javascript-part-ii Episode 11 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 06:50 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=AhYXtPGMBlU](https://www.youtube.com/watch?v=AhYXtPGMBlU) #### Notes - [http://jsbin.com/soyefomuxe/1/edit?html,js,console,output](http://jsbin.com/soyefomuxe/1/edit?html,js,console,output) - [http://jsbin.com/soyefomuxe/2/edit?html,js,console,output](http://jsbin.com/soyefomuxe/2/edit?html,js,console,output) - [http://jsbin.com/soyefomuxe/3/edit?html,js,console,output](http://jsbin.com/soyefomuxe/3/edit?html,js,console,output) - [Mozilla guide on closure](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Closures) ### Module pattern in JavaScript URL: https://www.bigbinary.com/videos/learn-javascript/module-pattern-in-javascript Episode 12 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 05:46 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=IIOwdkOnrmM](https://www.youtube.com/watch?v=IIOwdkOnrmM) #### Notes - [http://jsbin.com/ziqevoqedi/1/edit?html,js,console,output](http://jsbin.com/ziqevoqedi/1/edit?html,js,console,output) - [Mozilla guide on closure](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Closures) ### Refactor code using module pattern URL: https://www.bigbinary.com/videos/learn-javascript/refactor-code-using-module-pattern Episode 13 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 21:19 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=ATm3S4Di4Yo](https://www.youtube.com/watch?v=ATm3S4Di4Yo) #### Notes - [Avoid domready when possible](https://www.bigbinary.com/videos/learn-jquery/avoid-domready-when-possible) - [Immediately invoked function expression](https://www.bigbinary.com/videos/learn-javascript/immediately-invoked-function-expression) - [Module pattern in JavaScript](https://www.bigbinary.com/videos/learn-javascript/module-pattern-in-javascript) - [Mastering the Module Pattern](http://toddmotto.com/mastering-the-module-pattern/) ### A review of tools to test ES6 URL: https://www.bigbinary.com/videos/learn-javascript/a-review-of-tools-to-test-es6 Episode 14 of Learn JavaScript, by Neeraj Singh. #### Details - Series: Learn JavaScript Videos - Duration: 04:51 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=x3_7zBUOlkg](https://www.youtube.com/watch?v=x3_7zBUOlkg) #### Notes - [Babel Try it out](https://babeljs.io/repl/) - [TypeScript Playground](http://www.typescriptlang.org/Playground) - [Traceur](http://google.github.io/traceur-compiler/demo/repl.html#) - [Scratch-JS](https://github.com/richgilbank/Scratch-JS) ### Misc videos URL: https://www.bigbinary.com/videos/misc 2 episodes by Neeraj Singh. #### Episodes ##### Git - Squashing multiple commits to a single one [Git - Squashing multiple commits to a single one](https://www.bigbinary.com/videos/misc/git-squashing-multiple-commits-to-a-single-one) - Episode: 1 - Duration: 04:34 ##### Git - How to rebase without complications [Git - How to rebase without complications](https://www.bigbinary.com/videos/misc/git-how-to-rebase-without-complications) - Episode: 2 - Duration: 03:49 ### Git - Squashing multiple commits to a single one URL: https://www.bigbinary.com/videos/misc/git-squashing-multiple-commits-to-a-single-one Episode 1 of Misc, by Neeraj Singh. #### Details - Series: Misc videos - Duration: 04:34 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=gXCkYkLQ3To](https://www.youtube.com/watch?v=gXCkYkLQ3To) #### Notes - Merging multiple commits into a single commit. - [Git-Rebase](http://git-scm.com/docs/git-rebase) - $ git checkout topic-branch-name $ git rebase -i HEAD~n # n is the number of commits you want to merge. $ git push -f # because git push will get rejected ### Git - How to rebase without complications URL: https://www.bigbinary.com/videos/misc/git-how-to-rebase-without-complications Episode 2 of Misc, by Neeraj Singh. #### Details - Series: Misc videos - Duration: 03:49 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=pNm0apFmI3A](https://www.youtube.com/watch?v=pNm0apFmI3A) ### Learn making videos using screenflow URL: https://www.bigbinary.com/videos/learn-making-videos-using-screenflow 3 episodes by Neeraj Singh. #### Episodes ##### Watermarking videos [Watermarking videos](https://www.bigbinary.com/videos/learn-making-videos-using-screenflow/watermarking-videos) - Episode: 1 - Duration: 02:34 ##### Recording videos on mac [Recording videos on mac](https://www.bigbinary.com/videos/learn-making-videos-using-screenflow/recording-videos-on-mac) - Episode: 2 - Duration: 10:40 ##### How we make videos for our clients [How we make videos for our clients](https://www.bigbinary.com/videos/learn-making-videos-using-screenflow/how-we-make-videos-for-our-clients) - Episode: 3 - Duration: 05:59 ### Watermarking videos URL: https://www.bigbinary.com/videos/learn-making-videos-using-screenflow/watermarking-videos Episode 1 of Learn making videos using screenflow, by Neeraj Singh. #### Details - Series: Learn making videos using screenflow - Duration: 02:34 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=3vsobybKP_E](https://www.youtube.com/watch?v=3vsobybKP_E) #### Notes - A short walkthrough of how to add watermark to Screenflow videos. ### Recording videos on mac URL: https://www.bigbinary.com/videos/learn-making-videos-using-screenflow/recording-videos-on-mac Episode 2 of Learn making videos using screenflow, by Neeraj Singh. #### Details - Series: Learn making videos using screenflow - Duration: 10:40 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=X_kSDakI5JE](https://www.youtube.com/watch?v=X_kSDakI5JE) #### Notes - [Creating videos on mac using screenflow.](http://www.telestream.net/Screenflow) - [Blue Microphones Yeti USB Microphone.](http://www.amazon.com/Blue-Microphones-Yeti-USB-Microphone/dp/B002VA464S) ### How we make videos for our clients URL: https://www.bigbinary.com/videos/learn-making-videos-using-screenflow/how-we-make-videos-for-our-clients Episode 3 of Learn making videos using screenflow, by Neeraj Singh. #### Details - Series: Learn making videos using screenflow - Duration: 05:59 - Published: February 5, 2016 - [Watch on YouTube: https://www.youtube.com/watch?v=jxNDFHQL5BM](https://www.youtube.com/watch?v=jxNDFHQL5BM) #### Notes - How we record videos for our clients. ### Learn RubyMotion URL: https://www.bigbinary.com/videos/learn-rubymotion 19 episodes by Neeraj Singh. #### Episodes ##### Ep. 1 - Table basics [Ep. 1 - Table basics](https://www.bigbinary.com/videos/learn-rubymotion/ep-1-table-basics) - Episode: 1 - Duration: 06:49 ##### Ep. 2 - Caching of table cells [Ep. 2 - Caching of table cells](https://www.bigbinary.com/videos/learn-rubymotion/ep-2-caching-of-table-cells) - Episode: 2 - Duration: 07:54 ##### Ep. 3 - Building login screen using RMQ part I [Ep. 3 - Building login screen using RMQ part I](https://www.bigbinary.com/videos/learn-rubymotion/ep-3-building-login-screen-using-rmq-part-i) - Episode: 3 - Duration: 07:58 ##### Ep. 4 - Building login screen using RMQ part II [Ep. 4 - Building login screen using RMQ part II](https://www.bigbinary.com/videos/learn-rubymotion/ep-4-building-login-screen-using-rmq-part-ii) - Episode: 4 - Duration: 06:43 ##### Ep. 5 - Making form interact with user [Ep. 5 - Making form interact with user](https://www.bigbinary.com/videos/learn-rubymotion/ep-5-making-form-interact-with-user) - Episode: 5 - Duration: 04:03 ##### Ep. 6 - Authentication with server [Ep. 6 - Authentication with server](https://www.bigbinary.com/videos/learn-rubymotion/ep-6-authentication-with-server) - Episode: 6 - Duration: 05:05 ##### Ep. 7 - Help and view for reset password [Ep. 7 - Help and view for reset password](https://www.bigbinary.com/videos/learn-rubymotion/ep-7-help-and-view-for-reset-password) - Episode: 7 - Duration: 04:19 ##### Ep. 8 - Reset Password by invoking API [Ep. 8 - Reset Password by invoking API](https://www.bigbinary.com/videos/learn-rubymotion/ep-8-reset-password-by-invoking-api) - Episode: 8 - Duration: 03:10 ##### Ep. 9 - Send email from help screen [Ep. 9 - Send email from help screen](https://www.bigbinary.com/videos/learn-rubymotion/ep-9-send-email-from-help-screen) - Episode: 9 - Duration: 07:40 ##### Ep. 10 - Show spinner [Ep. 10 - Show spinner](https://www.bigbinary.com/videos/learn-rubymotion/ep-10-show-spinner) - Episode: 10 - Duration: 03:42 ##### Ep. 11 - MotionModel & UITableViewCellStyleValue [Ep. 11 - MotionModel & UITableViewCellStyleValue](https://www.bigbinary.com/videos/learn-rubymotion/ep-11-motionmodel-uitableviewcellstylevalue) - Episode: 11 - Duration: 03:08 ##### Ep. 12 - UITabBar [Ep. 12 - UITabBar](https://www.bigbinary.com/videos/learn-rubymotion/ep-12-uitabbar) - Episode: 12 - Duration: 05:17 ##### Ep. 13 - Grouped UITableView [Ep. 13 - Grouped UITableView](https://www.bigbinary.com/videos/learn-rubymotion/ep-13-grouped-uitableview) - Episode: 13 - Duration: 06:06 ##### Ep. 14 - Lock code functionality [Ep. 14 - Lock code functionality](https://www.bigbinary.com/videos/learn-rubymotion/ep-14-lock-code-functionality) - Episode: 14 - Duration: 06:12 ##### Ep. 15 - Backspace and auto forward feature [Ep. 15 - Backspace and auto forward feature](https://www.bigbinary.com/videos/learn-rubymotion/ep-15-backspace-and-auto-forward-feature) - Episode: 15 - Duration: 02:52 ##### Ep. 16 - Confirmation of lock code [Ep. 16 - Confirmation of lock code](https://www.bigbinary.com/videos/learn-rubymotion/ep-16-confirmation-of-lock-code) - Episode: 16 - Duration: 03:19 ##### Ep. 17 - Change lock code [Ep. 17 - Change lock code](https://www.bigbinary.com/videos/learn-rubymotion/ep-17-change-lock-code) - Episode: 17 - Duration: 01:28 ##### Ep. 18 - Using lock code when app opens [Ep. 18 - Using lock code when app opens](https://www.bigbinary.com/videos/learn-rubymotion/ep-18-using-lock-code-when-app-opens) - Episode: 18 - Duration: 01:26 ##### Ep. 19 - Using lock code when app is idle [Ep. 19 - Using lock code when app is idle](https://www.bigbinary.com/videos/learn-rubymotion/ep-19-using-lock-code-when-app-is-idle) - Episode: 19 - Duration: 01:43 ### Ep. 1 - Table basics URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-1-table-basics Episode 1 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 06:49 - Published: September 28, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=1FRUMCsccBU](https://www.youtube.com/watch?v=1FRUMCsccBU) #### Notes - Discussed basics of table view and how a view is connected to a controller. - [UITableView](https://developer.apple.com/Library/ios/documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html) - [Todd Werth](https://twitter.com/twerth) - [RubyMotion Dispatch](http://rubymotiondispatch.com) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-1 bundle exec rake ### Ep. 2 - Caching of table cells URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-2-caching-of-table-cells Episode 2 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 07:54 - Published: September 28, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=jDs-wEF0SpI](https://www.youtube.com/watch?v=jDs-wEF0SpI) #### Notes - How ios table caches cells so that a new cell is not created for every single record. - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-2 bundle exec rake ### Ep. 3 - Building login screen using RMQ part I URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-3-building-login-screen-using-rmq-part-i Episode 3 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 07:58 - Published: September 28, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=BHGVT6SY6hI](https://www.youtube.com/watch?v=BHGVT6SY6hI) #### Notes - Added login screen using rmq. - [RMQ](https://github.com/infinitered/rmq) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-3 PART=1 rak rmq.log:tree rmq(157498448).style{ |s| s.frame = {l: 100, t: 80, w: 100, h: 30} } rmq(157498448).style{|s| s.background_color = rmq.color.white} rmq(157498448).move({t: 50}) rmq(157498448).move({t: 250}) ### Ep. 4 - Building login screen using RMQ part II URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-4-building-login-screen-using-rmq-part-ii Episode 4 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 06:43 - Published: September 28, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=R5cgklz5MrM](https://www.youtube.com/watch?v=R5cgklz5MrM) #### Notes - Second part of the two parts episode of how to build login screen using RMQ. - [RMQ](https://github.com/infinitered/rmq) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-3 PART=2 rake ### Ep. 5 - Making form interact with user URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-5-making-form-interact-with-user Episode 5 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 04:03 - Published: September 28, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=5kfj-Kf_lQY](https://www.youtube.com/watch?v=5kfj-Kf_lQY) #### Notes - Discusses how to handle user interaction in a form. - [motion-support](https://github.com/tkadauke/motion-support) - [bubble-wrap](http://bubblewrap.io/) - [RMQ](https://github.com/infinitered/rmq) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-3 PART=4 rake ### Ep. 6 - Authentication with server URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-6-authentication-with-server Episode 6 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 05:05 - Published: September 28, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=hfE5tnowEyE](https://www.youtube.com/watch?v=hfE5tnowEyE) #### Notes - The app makes real authentication call to authentication server developed using Ruby on Rails and hosted on heroku. - [lrm-authentication](https://github.com/bigbinary/lrm-authentication) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-3 PART=5 rake ### Ep. 7 - Help and view for reset password URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-7-help-and-view-for-reset-password Episode 7 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 04:19 - Published: September 28, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=b_8KD5r3Rl0](https://www.youtube.com/watch?v=b_8KD5r3Rl0) #### Notes - Added help view for login screen. - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-3 PART=6 rake ### Ep. 8 - Reset Password by invoking API URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-8-reset-password-by-invoking-api Episode 8 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 03:10 - Published: September 28, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=9cI3meWSYxM](https://www.youtube.com/watch?v=9cI3meWSYxM) #### Notes - Added real call to a server to handle “Reset Password Request”. - [RMQ](https://github.com/infinitered/rmq) - [lrm-authentication](https://github.com/bigbinary/lrm-authentication) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-3 bundle exec rake ### Ep. 9 - Send email from help screen URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-9-send-email-from-help-screen Episode 9 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 07:40 - Published: September 28, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=QmzSIptZMyI](https://www.youtube.com/watch?v=QmzSIptZMyI) #### Notes - Sending emails from the application. - [MFMailComposeViewController](https://developer.apple.com/library/ios/documentation/MessageUI/Reference/MFMailComposeViewController_class/Reference/Reference.html) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-3 bundle exec rake ### Ep. 10 - Show spinner URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-10-show-spinner Episode 10 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 03:42 - Published: September 28, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=fStiu02fUwA](https://www.youtube.com/watch?v=fStiu02fUwA) #### Notes - Show spinner when a call to external API is made. Hide the spinner when response is received. - [SVProgressHUD](https://github.com/samvermette/SVProgressHUD) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-10 bundle exec rake ### Ep. 11 - MotionModel & UITableViewCellStyleValue URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-11-motionmodel-uitableviewcellstylevalue Episode 11 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 03:08 - Published: September 29, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=BUTRpAnIJwM](https://www.youtube.com/watch?v=BUTRpAnIJwM) #### Notes - Use MotionModel to have ActiveRecord like queries capabilities to Language model. - [MotionModel](https://github.com/sxross/MotionModel) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-11 bundle exec rake ### Ep. 12 - UITabBar URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-12-uitabbar Episode 12 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 05:17 - Published: September 29, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=UxKhCTSfrW8](https://www.youtube.com/watch?v=UxKhCTSfrW8) #### Notes - Show tabs at the bottom bar. - Added queries to the Language Model using MotionModel. - [MotionModel](https://github.com/sxross/MotionModel) - [UITabBar](https://developer.apple.com/library/ios/documentation/uikit/reference/UITabBar_Class/Reference/Reference.html) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-12 bundle exec rake ### Ep. 13 - Grouped UITableView URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-13-grouped-uitableview Episode 13 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 06:06 - Published: September 29, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=3RsgdHBMVfw](https://www.youtube.com/watch?v=3RsgdHBMVfw) #### Notes - Use grouped table feature to show Security and “App Version” information. - [UITableViewStyleGrouped](https://developer.apple.com/Library/ios/documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html#//apple_ref/c/econst/UITableViewStyleGrouped) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-13 bundle exec rake ### Ep. 14 - Lock code functionality URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-14-lock-code-functionality Episode 14 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 06:12 - Published: September 29, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=mi1pvSTMg8I](https://www.youtube.com/watch?v=mi1pvSTMg8I) #### Notes - Building lock code functionality by starting with “Enter your code screen”. - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-14 bundle exec rake ### Ep. 15 - Backspace and auto forward feature URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-15-backspace-and-auto-forward-feature Episode 15 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 02:52 - Published: September 29, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=vObDnjTKLz8](https://www.youtube.com/watch?v=vObDnjTKLz8) #### Notes - Added “auto forward” and “backspace” feature in “Enter your code” screen. - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-15 bundle exec rake ### Ep. 16 - Confirmation of lock code URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-16-confirmation-of-lock-code Episode 16 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 03:19 - Published: September 29, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=KG79PTuUuaE](https://www.youtube.com/watch?v=KG79PTuUuaE) #### Notes - If lock code was properly entered in “Enter you code” screen then the screen should automatically advance to “Confirm your code” screen. - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-16 bundle exec rake ### Ep. 17 - Change lock code URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-17-change-lock-code Episode 17 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 01:28 - Published: September 29, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=RtjspzZUQJY](https://www.youtube.com/watch?v=RtjspzZUQJY) #### Notes - Ability to change lock code. - [commit 1](https://github.com/bigbinary/lrm/commit/13cc26e5a536f2d0aab03604413249fbf0e87a7c) - [commit 2](https://github.com/bigbinary/lrm/commit/854b52aca36d487eb3a1465368de84c8c5c9c0be) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-17 bundle exec rake ### Ep. 18 - Using lock code when app opens URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-18-using-lock-code-when-app-opens Episode 18 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 01:26 - Published: September 29, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=ly3jLdEGlDw](https://www.youtube.com/watch?v=ly3jLdEGlDw) #### Notes - Show lock screen when application comes to foreground from background. - [commit 1](https://github.com/bigbinary/lrm/commit/16f5ca803eef10c9759d5d20a430e05d4028faf0) - [commit 2](https://github.com/bigbinary/lrm/commit/d11b0688d552ef225161b44929d0cb638b17bfd4) - [commit 2](https://github.com/bigbinary/lrm/commit/a4fdde24ee2fe49895fb43898e0976264afbfa91) - [commit 3](https://github.com/bigbinary/lrm/commit/a4fdde24ee2fe49895fb43898e0976264afbfa91) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-18 bundle exec rake ### Ep. 19 - Using lock code when app is idle URL: https://www.bigbinary.com/videos/learn-rubymotion/ep-19-using-lock-code-when-app-is-idle Episode 19 of Learn RubyMotion, by Neeraj Singh. #### Details - Series: Learn RubyMotion - Duration: 01:43 - Published: September 29, 2017 - [Watch on YouTube: https://www.youtube.com/watch?v=MMnOBvcxStM](https://www.youtube.com/watch?v=MMnOBvcxStM) #### Notes - Show lock screen when application comes to foreground from background. - [commit 1](https://github.com/bigbinary/lrm/commit/941d7b424ba79f046066f46109f97ee3af1b63df) - [commit 2](https://github.com/bigbinary/lrm/commit/62e6631270d10d17789cc94c6c450094fe1218a8) - [commit 3](https://github.com/bigbinary/lrm/commit/6b877e2964005c478a357cab8a038c41f54bcc26) - [commit 4](https://github.com/bigbinary/lrm/commit/da7fc546aa4a348347beec99b4c73a06464c88ad) - [sendEvent in UiWindow](https://developer.apple.com/library/ios/documentation/uikit/reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html#//apple_ref/occ/instm/UIWindow/sendEvent:) - [Source code](https://github.com/bigbinary/lrm) - git clone https://github.com/bigbinary/lrm.git cd episode-19 bundle exec rake ## Services ### Ruby on Rails Consulting Services URL: https://www.bigbinary.com/services/ruby-on-rails-consulting Expert Ruby on Rails development for building scalable, secure web applications. Our team creates fast, reliable solutions for your business. #### Overview We have the right combination of skills and experience to deliver high-quality software that actually works with proven results. BigBinary has 14+ years of experience working with Ruby on Rails. We were early adopters of Ruby on Rails after realising its exceptional productivity compared to other technologies. We worked with Ruby on Rails and started contributing towards it, leading to our in-depth understanding of the framework's intricacies. Through these contributions, we not only enhanced our skills but also shared our knowledge by writing blogs. #### Services ##### Ruby on Rails application development From concept to deployment, trust our expertise in building Ruby on Rails applications that meet your business requirements. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/end-to-end-rubyonrails-application-development) ##### Ruby on Rails upgrades Ensure your application stays ahead with our Ruby on Rails upgrade services, keeping your technology stack current and optimized. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/upgrading-rubyonrails-application) ##### Ruby on Rails Performance Enhancements Boost your application's speed and efficiency with our performance enhancement solutions, fine-tuning every aspect for better user experience. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/performance-enhancements) ##### Ruby on Rails Code Audit Secure and optimize your codebase with our code audit service, identifying vulnerabilities and improving the overall health of your application. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/code-audit) ##### Ruby on Rails Maintenance BigBinary offers ongoing Ruby on Rails maintenance so your application stays fast, secure, and up to date. From upgrades and security patches to performance tuning and error monitoring, we keep your Rails application healthy. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/ruby-on-rails-maintenance) ##### Team Augmentation BigBinary helps you grow your engineering capacity with senior Ruby on Rails developers who are battle-tested in production. We join your team, adapt to your processes, and focus on delivering features, performance, and maintainability from day one. [Link](https://www.bigbinary.com/services/ruby-on-rails-consulting/team-augmentation) ### Ruby on Rails application development URL: https://www.bigbinary.com/services/ruby-on-rails-consulting/end-to-end-rubyonrails-application-development From concept to deployment, trust our expertise in building Ruby on Rails applications that meet your business requirements. #### Service Details Most of our projects in the last 14 years fall in this category. We begin with the project's objectives. What problem are we solving, for whom, and what does “success” look like in plain terms? The next step is to understand the user flows and wireframes. The wireframes do not need to be fancy or very polished. It should convey what we are building so that all the team members are on the same page. We have worked with hand-drawn wireframes on paper to very polished wireframes in Figma. After the wireframes are done, we jump into development with a focus on short feedback loops. We break the work into small, reviewable pieces, and keep progress easy to follow. For lightweight projects, GitHub issues are often enough. For teams that already have an established workflow, we’re comfortable fitting into whatever you use. We have worked with Trello, Asana, Linear, JIRA and more. On the project's first day, we set up a staging environment. We continuously deploy the application to this staging application. It means stakeholders can see a real working application rather than guessing what has been done and what hasn't. We also set expectations early on how decisions get made. Which parts are “must-have” vs “nice-to-have”? Where do we want to be opinionated, and where should we stay flexible? A little alignment up front prevents weeks of rework later. As features land, we ensure that we have unit tests, consistent code review, and a steady focus on readability. The goal isn’t clever code; it’s code that developers can understand six months from now without needing an archeologist. Performance and reliability aren’t postponed until “later.” We monitor the most common hotspots as the app grows: slow queries, N+1 issues, background jobs, caching, and error rates. Minor fixes applied continuously beat a painful “performance project” right before launch. Finally, we treat delivery as part of the product. Clear release notes, predictable deployments, and a steady cadence of improvements mean you’re not just shipping features but you’re building a good habit. By the time you’re ready for production, the process should already feel routine. ### Ruby on Rails upgrades URL: https://www.bigbinary.com/services/ruby-on-rails-consulting/upgrading-rubyonrails-application Ensure your application stays ahead with our Ruby on Rails upgrade services, keeping your technology stack current and optimized. #### Service Details Ruby on Rails moves fast. We understand that some projects are not able to upgrade to the latest Ruby on Rails version immediately. And as time passes, these projects fall further and further behind in the Rails version, and catching up with the latest Ruby on Rails version becomes very daunting. This is where BigBinary’s expertise can help. Over the last 14 years, we have upgraded many Rails applications and have made those projects up to date with the latest version of Ruby on Rails. The cost of not having the latest Ruby on Rails version is hidden. You pay this cost very slowly in terms of lost productivity. Every new version of Ruby on Rails brings more good stuff. The new gems make themselves compatible with the latest version of Ruby on Rails. If you are using an older version of Ruby on Rails, you will spend more time finding the gem that works with the older version of Rails. You will constantly look at the API of an older version of Rails. If a new team member joins the project, it will take much longer to get up-to-date because that person might want to use a method introduced in the latest version of Ruby on Rails. Since the project is not using the latest version of Ruby on Rails, the newcomer would have to find an alternative way. Finally, there is the issue of security. The Ruby on Rails core team maintains security of only certain versions of Ruby on Rails as per their \[Official Security Policy\](https://guides.rubyonrails.org/maintenance\_policy.html#security-issues). We all should take security seriously, and we should try to have our projects in the latest version of Ruby on Rails. ### Ruby on Rails Performance Enhancements URL: https://www.bigbinary.com/services/ruby-on-rails-consulting/performance-enhancements Boost your application's speed and efficiency with our performance enhancement solutions, fine-tuning every aspect for better user experience. #### Service Details These days, customers expect applications to feel instant. It doesn’t matter whether they’re working with thousands of records or millions. They expect graphs to load quickly, chat to feel real-time, and attachments to appear without hesitation. Ruby on Rails is fast out of the box, but as an application grows, small design decisions start to compound. A few extra queries here, an unbounded background job there, and before you know it, the app slows down. BigBinary has been working with Ruby on Rails for over 14 years, and performance work has been a constant theme. Sometimes it’s a classic N+1 query. Sometimes Sidekiq is configured in a way that creates bottlenecks instead of throughput. Sometimes Redis caching is doing more harm than good—causing thundering herds, stale data problems, or wasted memory without improving real-world speed. We’ve also seen many teams try to “buy” their way out of performance problems by throwing more compute at them. That can mask symptoms for a while, but it usually turns into an expensive habit. You end up paying more each month while the underlying inefficiencies continue to grow— and eventually the same problems show up again at a higher scale. Our approach starts with measurement, not guesswork. We profile the application in production-like conditions, look at real request traces, and identify what’s actually slow: database queries, view rendering, external API calls, background jobs, or asset delivery. From there, we focus on changes that move the needle for end users, not micro-optimizations that only look good on paper. A lot of performance wins come from improving data access patterns. We tune queries, add the right indexes, remove unnecessary joins, and reduce repeated work through eager loading and smarter caching. We also pay attention to how data flows through the system—because the fastest query is the one you never run. Background processing is another common source of “why is the app slow?” pain. We help teams make jobs predictable and safe: right-sized concurrency, sensible queues, idempotent retries, and visibility into failures and latency. Done well, Sidekiq becomes a lever for speed and reliability rather than a mysterious box that occasionally catches fire. We also look beyond code. Caching strategy, CDN configuration, file storage patterns, and observability setup can make or break performance at scale. The goal is to create a system that stays fast as the product evolves—where you can spot regressions early, understand what changed, and fix issues before customers feel them. Performance work shouldn’t be a one-time rescue mission. We aim to leave you with a faster application and a clearer toolkit: dashboards, alerts, and practical guidelines so future features don’t quietly undo the gains. The result is an app that feels snappy to users, costs less to run, and gives your team confidence as you grow. Please checkout our scaling Rails series of blogs where we have discussed in depth all the parameters that can be tuned to make an application perform and scale. ### Code Audit for Ruby on Rails Applications URL: https://www.bigbinary.com/services/ruby-on-rails-consulting/code-audit Secure and optimize your codebase with our code audit service, identifying vulnerabilities and improving the overall health of your application. #### Service Details Ruby on Rails is a sharp tool. That’s why we love it. However, it also means it’s easy to write code that “works today” but becomes hard to maintain over time. We’ve seen codebases where core classes were opened for small reasons and custom methods were added. In some cases, existing methods were overridden. These and similar practices can make a codebase harder to understand, harder to test, and riskier to change. Rails usually provides cleaner, more idiomatic ways to solve the same problems. A code audit typically takes 2 to 5 days, depending on the size and complexity of the project. The audit starts with understanding your application’s shape: the domain model, major workflows, and where the team feels friction today. We then review the code for maintainability, readability, and correctness. We look for “surprises” in the system—hidden monkey patches, implicit callbacks, confusing metaprogramming, and behavior that changes based on load order or environment. We also examine architectural choices that quietly accumulate cost. Overgrown models, tangled service objects, duplicated business rules, and controllers doing too much work are common culprits. We pay special attention to boundaries: where business logic lives, how data flows, and whether the design makes future changes easier or harder. A good audit isn’t only about style. We flag correctness and safety issues too: inconsistent validations, missing database constraints, unsafe background job patterns, weak error handling, and places where a small bug could become a big incident. If security or performance issues are obvious during the review, we’ll call them out as well—even if the audit is primarily about code quality. At the end, you get a detailed report with what we found, why it matters, and concrete recommendations. We also prioritize the fixes: quick wins you can apply immediately, medium-term refactors, and longer structural improvements. The goal is to give your team a clear, practical path to a calmer, more maintainable Rails codebase. ### Ruby on Rails Maintenance URL: https://www.bigbinary.com/services/ruby-on-rails-consulting/ruby-on-rails-maintenance BigBinary offers ongoing Ruby on Rails maintenance so your application stays fast, secure, and up to date. From upgrades and security patches to performance tuning and error monitoring, we keep your Rails application healthy. #### Service Details Ruby on Rails applications age quietly. New Rails and Ruby releases come out, security advisories are published, dependencies move on, and before you know it, your app is running on a fragile stack that nobody wants to touch. Our Rails maintenance service is designed to stop that slow drift into “legacy mode” and keep your application modern, secure, and dependable. BigBinary focuses exclusively on Ruby on Rails, and we’ve been doing it for years. We’ve upgraded apps across multiple major Rails and Ruby versions, untangled complex dependency trees, and dealt with all the little edge cases that never show up in tutorials but always show up in real production systems. That experience lets us move quickly and safely, without breaking your existing business workflows. A typical maintenance engagement includes regular Rails and Ruby upgrades, systematic dependency updates, and prompt application of security patches. We review deprecation warnings, clean up old code paths, and keep your app compatible with current versions of libraries and services. Instead of a large, painful upgrade every few years, you get small, controlled changes on a predictable schedule. Maintenance isn’t just about versions and gems. We also keep an eye on performance and reliability. We monitor slow queries, memory usage, and background jobs, and we address issues before they become outages. Over time, we reduce technical debt in the areas that matter most—places where small fixes can yield big wins in speed and stability. We understand that production systems cannot afford surprises. Our process emphasizes clear communication, staging environments, automated test suites, and rollback plans. You get visibility into what’s changing and why, along with a team that treats your application with the same care and caution as you do. With BigBinary handling your Rails maintenance, your team is free to focus on features, product decisions, and customer experience instead of chasing warnings or firefighting production issues. Your app stays healthy, your stack stays current, and Rails remains an asset—not a risk—at the core of your business. ### Team Augmentation URL: https://www.bigbinary.com/services/ruby-on-rails-consulting/team-augmentation BigBinary helps you grow your engineering capacity with senior Ruby on Rails developers who are battle-tested in production. We join your team, adapt to your processes, and focus on delivering features, performance, and maintainability from day one. #### Service Details Team augmentation with BigBinary is about adding experienced Ruby on Rails engineers to your team without the long hiring cycle or onboarding headache. When deadlines are tight, priorities are shifting, or your roadmap is bigger than your current capacity, we step in as an extension of your existing team—not as a separate agency off to the side. Our engineers bring years of hands-on experience building and maintaining real-world Rails applications. We’re comfortable working in complex codebases, dealing with legacy decisions, and navigating the trade-offs between speed and long-term maintainability. Whether you need help building new features, improving performance, or paying down technical debt, we slot in where the impact is highest. From day one, we adopt your tools, rituals, and processes. We join your standups, participate in code reviews, follow your coding standards, and communicate in the same channels your team already uses. The goal is to feel like “more of your team,” not “some external vendor.” That tight alignment keeps context-switching low and output high. Engagements are flexible. You can bring in one engineer or a small group, for short-term support or long-term collaboration. As your needs change, you can scale the team up or down without worrying about recruiting, onboarding, or offboarding full-time employees. You get senior-level productivity with far less operational overhead. Code quality and knowledge sharing are core to how we work. We leave your codebase better than we found it—cleaner abstractions, fewer surprises, stronger test coverage, and clearer documentation. Along the way, we share patterns, practices, and insights so your in-house team gets stronger, too. With BigBinary augmenting your team, you can move faster on your roadmap while keeping quality and stability under control. You stay focused on product and business priorities, while we focus on writing solid Rails code that supports those goals. ## Case Studies ### HIPAA compliant application for CareGeneral URL: https://www.bigbinary.com/clients/case-studies/caregeneral A case study on how BigBinary built the HIPAA compliant application for CareGeneral on the web using Ruby on Rails and on mobile using React Native. #### Project A simple platform to coordinate and support home based care Client: CareGeneral Role: Software Development Year: Nov 2014 - Dec 2022 #### About the project CareGeneral provides a platform to efficiently coordinate, communicate, educate, and support all participants across the care continuum, empowering caregivers and their care recipients to contribute to healthy outcomes more effectively. #### Features ##### We know how to facilitate a personalized patient experience Health is the most significant form of wealth, so we thrive. But it is time to realize that one size does not fit all. CareGeneral determines patients' needs by analyzing their abilities, needs, preferences, and support circle to offer the best healthcare services. ##### We give the gift of healthy and stress-free life to our employees Employees are the most important part of your company. Give them the wealth of health without loss of work opportunities. Reduce the stress, depression, and isolation brought on by a complex, challenging career. Caregivers will thus feel more confident and in control of their time. ##### We work with Patients & Family as one unified group Create an environment where patients & families, and caregivers work as partners to improve the care's quality and service. #### Testimonial We have worked with BigBinary for over six years. BigBinary team is a pleasure to work with. Besides strategic advice, they bring insights and ideas about product strategy and direction that we highly value. Dirk Peters ### How BigBinary Built Gumroad URL: https://www.bigbinary.com/clients/case-studies/gumroad A case study on how BigBinary built Gumroad. Learn about the approaches, development, and success behind this impactful project. #### Project A great platform built for new beginnings Client: Gumroad Role: Software Development Year: Feb 2017 - Aug 2021 #### About the project Gumroad is a leading e-commerce platform that allows creators to sell products directly to their audience. Gumroad is used by creators and entrepreneurs to setup their own landing pages and sell their products. In Feb 2017 Sahil contacted BigBinary to allow creators to put in their own Stripe and paypal accounts. In this way Gumroad would become a pure SaaS. #### Approach When Sahil contacted BigBinary then Sahil was the only person working on the product. Through various calls we understood what needed to be done and we started working on the payment integrations. #### Features ##### Payment Integration Working with Stripe was pretty straight forward. However working with Paypal was tricky. They had just released a new version of their software and it had some edge cases. The documentation was also not fully updated. We had to get on calls with paypal folks multiple times to sort things out. ##### Web development Besides the payment integrations BigBinary worked on a number of code improvements and new features. Webpack was the new kid on the block but it was gaining both popularity and maturity very quickly. We worked on switching Gumroad from RequireJS to webpack. During this period we published following two blogs which came out of our engagement with Gumroad. \[Deploying feature branches to have a review app\](https://www.bigbinary.com/blog/deploying-feature-branches-to-have-a-review-app) \[Migrating Gumroad from RequireJS to webpack\](https://www.bigbinary.com/blog/migrating-gumroad-from-requirejs-to-webpack) ##### Praise for BigBinary on Jan 7, 2021 Sahil Lavingia \[wrote a blog\](https://sahillavingia.com/work) about how he runs Gumroad without any meeting, deadlines or any full-time employees. In this blog Sahil mentions the following. #### Testimonial BigBinary has been a huge asset for Gumroad. They've helped us ship features we wouldn't have been able to otherwise. If you’re looking for a ruby/rails-focused dev shop, they have my full endorsement! Sahil Lavingia ### Healthicity Compliance Manager URL: https://www.bigbinary.com/clients/case-studies/healthicity Discover how BigBinary built Healthicity, a compliance and auditing software. Explore the challenges, development, and success behind the project. #### Project All-in-One Healthcare Compliance Software Client: Healthicity Role: Software Development Year: Nov 2014 - Present #### The Challenge and Process The old application had buried the data under multiple clicks. Compliance software data needs to be front and center, and that's what we did. We made the dashboard have all the information a compliance officer might need. We created cards for each section, and each card is color-coded for easy understanding. If a card is green, then it's all good. A red card means it needs attention. #### From Scattered Data to Useful Insights Reports are all about getting to the correct data without too many clicks. Whether looking for one week of data or one month, it's a click away. Reports can be further drilled down by category and other risk factors. All the information can be exported in Excel or CSV format. #### Features ##### Whole new Document Control Center The old document control center looked like a regular file system on a laptop. Getting to the correct document was often confusing. The new document control center has all the data in the Dashboard, making it easy to get to the accurate record. ##### Responsive Design This application is used via many different devices, and thus, the application needed to be fully responsive. We ensured the application worked fine on all screen sizes and resolutions. #### Testimonial BigBinary team did a splendid job in understanding the business value of the old application and translated that into a better workflow with modern technology stack with richer UI. It overall resulted in better user experience all around. Jeff Young ### How BigBinary Built Lovewick URL: https://www.bigbinary.com/clients/case-studies/lovewick A case study on how BigBinary built Lovewick on the web using Ruby on Rails and on mobile using React Native. #### Project A new couples app to play your way to lasting love Client: Lovewick Role: Software Development Year: May 2020 - Present #### About the project Lovewick is a free relationship app for couples that helps partners feel even closer with the internet's most extensive library of fun couple questions, fresh date ideas, & research-inspired relationship advice. Lovewick is the only couples app that does everything: question cards, date ideas, spicy bedroom inspiration, research-based relationship advice, relationship reminders, and so much more — all 100% free. Currently, Lovewick is being used by more than 250k couples worldwide. #### Approach Building a relationship application means that the application should be fast and not cluttered. The design should be just right, and most importantly, it should be fun. Early on, we were not sure what would click with the customers. So, We decided to build Lovewick in an iterative style. Get the features in the hands of the customers as soon as possible and then iterate on that. #### Features ##### Building web application Ruby on Rails is perfect for building an application like this, so we went with Ruby on Rails. Since we built on an iterative style, Ruby on Rails lends itself well. Initially, the application was very light on the features as we wanted to find the core values the application is providing. As the application matured, we added features like a Couples card game, Date night planner, Relationship reminders, wishlists, and Relationship tracker. ##### Building mobile application using React native Since most users are likely to use the mobile application to interact with the system, it was important that the mobile app is sleek and gets the job done. We used React Native to build the mobile app, and everything went as planned. We were able to add features and fix bugs really fast. #### Testimonial The partnership with BigBinary has been invaluable for Lovewick. We went from an idea and some mock-ups to a beautiful, App Store ready React Native app in the span of months. I feel really fortunate to have the support, talent, and experience of BigBinary behind Lovewick as we continue evolving the product based on user needs and expanding to other platforms and countries. Ali Maggioncalda ### How BigBinary Built numberF URL: https://www.bigbinary.com/clients/case-studies/numberf Learn how BigBinary built numberF, a digital art platform using Ruby on Rails for the web and React Native for mobile. #### Project Turn your TV into a new way to experience digital art like never before Client: numberF Role: Software Development Year: Nov 2014 - March 2019 #### About the project numberF is a new startup from Washington DC that is disrupting how digital art is discovered, distributed and consumed. Dadi Akhavan, the founder of numberF, is an avid art lover and wanted standard TVs to streaming digital art. He built numberF to be the Netflix of the digital art world, where art lovers can access digital arts using a simple subscription service. #### Video. Art. Evolved. The world of video art remains obscure, indecipherable, and too abstract for many. numberF is breaking to break the mold. It is bringing art to the common mass. While designing the whole user experience, BigBinary kept things extremely simple. The user starts with a preselected set of featured videos, and then the user can choose their preferred channels. #### Features ##### Collect and Play The concept is simple. Up-and-coming artists would upload their videos to the platform. Users would select the videos of their liking and would build a collection of their favorite videos. All the videos from the collection will play to your liking. In this way, whether you have a formal party or want to sit back and enjoy the arts, the system is adaptive and enjoyable. ##### Adaptive Bit Rate Streaming To prevent videos from freezing during buffering, BigBinary developed an "adaptive bitrate streaming" system for numberF. ##### Developing the web application For building the web application, we used Ruby on Rails with PostgreSQL. For playing video, we use HTML5, and for video encoding, we use Zencoder. ##### Building mobile applications using React Native We built their mobile application using React Native. With the cross-platform development benefits of React Native, numberF did not need to develop and maintain two different apps (Objective-C/Swift & Java). The mobile application was rapidly built using React Native (JavaScript), then launched and scaled to the end-users on iOS and Android. #### Testimonial As a tech company, you depend on solid engineering expertise with trust and confidence. The BigBinary team are not only very knowledgeable and come up with innovative solutions, but more importantly, are responsible and reliable. Dadi Akhavan ### How BigBinary Built RaceHero URL: https://www.bigbinary.com/clients/case-studies/racehero Discover how BigBinary built RaceHero, a platform to track, analyze, and share your racing data across any device. #### Project Track, Analyze, Share your racing on any device Client: RaceHero Role: Web & Mobile development Year: Nov 2014 - Present #### About the project RaceHero brings everything about racing to your pocket in a fun and social way. Whether it is race schedules, live timing, tracking or analyzing the data, it all can be done in RaceHero. #### Engagement with BigBinary When RaceHero approached BigBinary to build the mobile application, they already had the MVP of their web application up and running. They wanted the mobile application to be up and running quickly. Most importantly, after the mobile application was live, they wanted an easy way to update the product without continually pushing updates to the app store. Since the RaceHero web application was built with responsive design, the application looked great on a mobile browser. The task for BigBinary was to reuse and update the already built HTML pages so that every change in the page did not require a similar change in the mobile app. #### Features ##### Live Races RaceHero covers live races. It displays and updates racers position in real-time. Deep dive into the completed laps data with just a few clicks. Track and find more about the racers by tapping on their profile information. ##### Visualize The Race RaceHero generates charts for each race which helps explain what actually happened in the race. Lap time and position charts help in looking beyond simple finishing position and show how each racer attacks and defends to earn their finishing position. ##### Results and Schedule In addition to the live races, users can look into statistics of already finished races. The app shows lap-wise performance of each racer and key stats like best lap timing, time taken compared to the winner, positions gained. The app uses trophy icons to show additional analytics like Hard Charger, Fast Rabbit, Flag to Flag Victory etc. Users can share these results on social media very easily. Schedule helps users keep track of upcoming races, participants and their past performances. #### Testimonial When looking for Rails and React developers, we discovered BigBinary from their open source contributions to Rails. They have delivered consistently strong work for the past 2 years, and we consider them part of our team. Brian Ghidinelli