Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
aymericbeaumet committed Nov 2, 2023
1 parent fa7b6f0 commit c0b56ab
Showing 1 changed file with 14 additions and 8 deletions.
22 changes: 14 additions & 8 deletions ios/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,41 @@ Hands](https://hearthands.tech/).
## Why this challenge?

Heart Hands is operating with a small team of talented people. We are looking
for seasoned engineers with a strong technical foundation, deep knowledge of
for seasoned engineers with a strong technical knowledge, deep understanding of
their technical stack, and good product intuitions, that enjoy working on
consumer apps.

This challenge has been designed to give a glimpse of what it might be like when
joining the team. And the kind of technical challenges we face and care about.
This challenge has been designed to give a glimpse of what it will be like when
joining the team, and the kind of technical challenges we face and care about.

We are expecting you to spend no more than 48 hours on this.

## Summary

You are tasked to develop a consumer application that allows you to converse
with several chatbots.
You are tasked to develop a messaging app that allows to converse with several
chatbots.

A server is available for you to use, you can read more about it in
[`./server`](./server). The documentation contains informations on how it can be
run and what kinds of API endpoints are available.

## Requirements

This is the base foundation under which we consider the app usable:

- [ ] The app should start on a screen showing the list of all chats
- [ ] The app should allow opening each chat individually
- [ ] The app should allow sending messages to a chat
- [ ] The app should reflect the latest messages sent to and received from the server

## Bonus

- [ ] Make your app work offline (both for app state and sending)
- [ ] Make your app resilient to bad network conditions (retries & timeouts)
- [ ] Make your app idempotent for both what you send and receive
Some ideas worth exploring to improve the experience:

- [ ] Make the app work offline (both for app state and sending)
- [ ] Make the app resilient to bad network conditions (retries & timeouts)
- [ ] Make the app idempotent in regards to what you send and receive
- [ ] Add support for optimisic sending to give instantaneity in the UI
- [ ] Add support for a local read/unread indicator
- [ ] Avoid block changing states so the app feels fluid & snappy
- [ ] Make the app compatible to run on iPad and macOS
Expand Down

0 comments on commit c0b56ab

Please sign in to comment.