An app in one night

The story behind “Un Mot Par Jour

Written by Gauthier de Chezelles and Jean-Baptiste Beau.

It’s Sunday afternoon, we are resting on the sofa and haven’t done much with our day, which left us with a lot of unused energy. As we were re-re-re-re-watching How I Met Your Mother, we got an idea for an application. It’s been a while we wanted to challenge ourselves making an app in just one night long and that idea fitted perfectly the main criteria : simple and feasible under twelve hours.

Through this article we would like to describe our own experience and share it with you. Our journey started at 8:00 in the afternoon, after some more HIMYM episodes and cleaning. We were both ready to dive into this experience till 8:00 in the morning.

The main idea

The app will be a minimalist app which have a very simple purpose, to learn one sophisticated word per day. In this perspective, each day, the app will propose you a french word, along with its definition and some common uses. As we just mentioned, «un mot par jour» will be exclusively developped in french, as it is our mother tongue.

The application will be available with an in-app purchase option which will give you access to memory exercices. If you would like to support us, you are welcome to get this version.

At 8pm, we had twelve hours in front of us and this is what we planned :

  • 30mn ~ Brainstorming regarding the conception of the app
  • 2h ~ Design
  • 3h ~ Front-end (iPhone app)
  • 5h ~ Back-end (server-data storage)
  • 1h ~ Redaction of this article
  • 30mn ~ Final details and submission to the AppStore

Trello, or how we stayed organised

During that night, Trello was our best ally. It enabled us to keep track of our advancement and to see what remained to be done. It is a sort of To-do list, but more visually appealing. We mapped our TDL in four columns : backlog, to-do, doing and done. In each column you can add cards that you could later drag-and-drop between columns, assign to someone, comment or tag… It gives you an easy management interface allowing you to organize your tasks.

Our Trello board at 2.00 am

Part 1 : Design

Tools: Sketch, iPad and Apple pencil
Involved : Jean-Baptiste

We wanted to associate the seriousness of learning sophisticated vocabulary to a friendly, peaceful and colorful interface where each word is related to a vibrant color. In that way, each new word brings a new color, giving the app a fresh look !

Design of the application pages on Sketch

Designing is our passion, we tried to make every corner of the app as polished as possible. Considering our time restraint, we went for a very simple logo, showed below. At the very begining, we opted for an iPad hand-written logo, but we finally decided to go on with something more traditional and sober. It took Jean-Baptiste about 10mn to have a logo ready for the app.

Different ideas for the logo. The final logo is the third one.

Part 2 : Back-end

Tools: Vapor, Heroku, Paw
Involved : Gauthier

For the back-end part, we decided to use Swift. Swift is a programming language developped by Apple and introduced in 2014. This language is mainly used in programming apps for Apple products, but it has been made open source recently, which makes it a good alternative for developing on the server side.

Using Swift as both a front-end and back-end language was very satisfying, facilitating our tasks and it really motivated us.

Part 3 : Front-end

Tools: Xcode, Swift, Realm
Involved : Gauthier, Jean-Baptiste

Before starting the front-end, it was necessary to take a short break, not for resignation but for reflection accompanied by a little meal and few coffees.

Together, we had already developed a few iOS apps. When we designed this app, we already knew how to implement each functionality. This enabled us to remove the features that were to complicated to implement. When we started the front-end, we had a clear vision of what we had to do, thus we were confident about accomplishing this part.

XCode, our mothership. The final app is made of 1 757 lines of code.

Even though the structure and design being very simple, there were a lot of functionalities to implement. At 8am we were far from where we started but also far from what we had in mind. The back-end wasn’t finished and the front-end was going fast but not as fast as we wanted. Still, with the sun waking up, we had the energy to keep going, so we cleared our day and dived into more hours of coding.

The application at 8am

A lot of coffees later, the app was almost finished. It was 6pm, and we were satisfied of our work but drained of all our energy. We corrected a few bugs, finished some details and finally went to sleep.

Theory vs Reality

At the end of our journey, we had developed most of the app. However, 24 hours was twice what we had expected. According to our final balance timesheet, here is where we lost time :

  1. The back-end part, because we had to fill the knowledge gap concerning the Swift language, which made each bug very time consuming. 
    Time spent : 9h ~ expected : 3h
  2. The front-end part, because we underestimated the number of functionalities we had imagined. We might have done it in due time if we had further pursued our search for simplicity. For instance, we could have removed animations, popups and all the little things that make the app more polished, however we didn’t want to make this compromise.
    Time spent : 15h ~ expected : 5h
  3. The design part, because we thoroughly discussed each feature, trying to keep the app minimalistic. In retrospect, we don’t think we could have made it in less time. 
    Time spent : 4h ~ expected : 2h

During the following week, we implemented the In-App purchase and the notifications, we wrote this article and then published the app. Apple refused it twice, once because the app did not render well on the iPad and the other time because of a bug we had not seen.

In conclusion

Coding by night is really amazing. You have a special energy and doing the app all at once prevents you to get lost in your long forgotten lines of code.

Fun chart : our productivity during the project

On the one hand, developing « Un mot par jour » was a really rewarding experience. It has brought us completeness and has satisfied our desire of creation and innovation while benefiting from publishing our first Medium article. On the second hand, the post-developing experience was exhausting. We may have missed a few classes and slept over some books but damn, it was totally worth it !

Un mot par jour » is available from now on, download the app and have a look !

Thanks for reading.

Written by Gauthier de Chezelles and Jean-Baptiste Beau.

Show your support

Clapping shows how much you appreciated Gauthier de Chezelles’s story.