Git Product home page Git Product logo

adventures-flutter-demo's Introduction

Hyll test project

Welcome to our little test project! If you are here you've either seen our job advertisement or you' ve been invited to do this test as part of our recruitment process. Either way, we hope you'll have fun with it!

If you didn't check our app giving it a 5 minutes tour will give you a head start on this task as it is based on the app's functionality and the problems we face. You can find the app at https://hyll.com.

Before we get into the meat of things, there are few important things to note.

Words of prelude

Before we get into the meat of things, there are few important things to note.

After the test

We value your time, and because of that everyone who provides us with a solution to this test will be invited to a followup call with us. We will discuss your solution, your approach, and your thought process. We will also answer any questions you might have about the test, the company, or the position. Just shoot an email to [email protected] with link to your repo, copy of your CV and you will be invited to the call (please put "Frontend Dev Test" in the email subject).

This isn't a joke btw, and historically we've had almost 100% followup rate, with only people ever skipped were the ones not providing even an attempt at a solution.

Expectations management

This task is very limited in time, especially compared to the scope of work required to complete it. We know that. You are not expected to complete it, or even be anywhere close to it. We are not looking for a finished product, we are looking for a starting point. We want to see how you approach the problem, how you think about it, how you structure your solution, how you communicate with us, and how you handle the time pressure. We want to see how you work.

We also want to see how you handle the unknown. There are a few things in this project that are deliberately left vague. We want to see how you handle that. What things will you question? What assumptions will you make? How will you communicate them to us during the interview? How will you handle the feedback?

Ultimately, how will you handle the unknown, as in this setup you won't be able to ask questions and get answers in real time, any questions you have will have to be written down and discussed during our followup call.

Time constraints

Please do not put more than 1.5h of your time into this test, with a hard limit of 2h. This time is only for the coding part of the test, and does not include the time you spend reading this rather lengthy README, or setup of local environment. If you are not done after 2h, please stop and submit what you have. We will discuss it during the followup call, and it's not going to be the end of the world. Trust me, I've been there myself where time got away from me.

The task

The problem

Heart of our app is a buzzing feed of adventures. It's a long list of things to do, places to see, and experiences to have. It's a place where you can find inspiration for your next adventure, or just spend some time daydreaming about the places you want to visit. We try to have each adventure be represented as videos, as we believe that videos are the best way to capture the essence of an adventure.

The problem we face is that we have a lot of adventures, and we want to show them all to you. But we also want to make sure that you see the adventures that are most relevant to you, and we want to show them to you fast, so you don't have to wait for videos to load. We also want to make sure that you don't see the same adventure twice, unless you really want to.

The solution

We have a solution for this problem, and it's called the "feed". It's a list of adventures that updates as you scroll down. It's a bit like Facebook or Instagram feed, but instead of showing you posts from your friends, it shows you adventures from all over the world. It's a bit like Netflix, but instead of showing you movies, it shows you adventures. It's a bit like Tinder, but instead of showing you people, it shows you adventures. It's a bit like... you get the idea.

And that's where you come in. We want you to build a feed for us. It doesn't have to be a perfect feed, it doesn't have to be a complete feed, it doesn't even have to be a good feed. It just has to be a feed. A starting point. A place where we can start building our feed.

If you want some data to display, or to use as inspiration, feel free to use our adventure api as a jump off point. But also please do not feel limited by it, or the REST API paradigm. If you want to use GraphQL, or some other API, or even just a static JSON file, feel free to do so.

And more importantly, it has to be a feed that we can discuss during our followup call, taking into account all the possible problems problems that stand between you and a perfect feed (besides the time constraints). We will then discuss how you would go about solving those problems, and how you would implement those solutions, on top of reviewing your solution to this test and how far you got with it.

There are many places which need to be done, and obviously you won't be able to do them all, and what you will decide to do is big part of this test.

So good luck, and have fun! Hopefully you will enjoy this test as much as we enjoyed writing it.

adventures-flutter-demo's People

Contributors

lrnz09 avatar aidapaul avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.