• Query the database using ActiveRecord ORM layer • Dynamic finders • Scoping data • Render templates • Use routing system independent of web server • Organize application code using MVC architecture pattern • Database migrations • Scaffold controllers • Form validations