[Day 4] Zero to MVP in 30 Days — Building a Web and Desktop App with Javascript

Emil Bruckner
HackerNoon.com
2 min readNov 26, 2017

--

This is not an in depth guide, but rather a collection of considerations to make when building for web and desktop.

In this series I’ll validate a new idea. Read about the concept here (Day 0) and the idea here (Day 1).

UX: User journey

Creating a good user journey gets more difficult, the more platforms are in the play, so I’ll need to spend some more time thinking about that.
Every user will at some point arrive at findbetterquestions.com. They’ll be given the opportunity to sign up. Next up is an empty dashboard. The worst thing is: You won’t even be able to fill that, unless you download the desktop app. I hope that not too many people get stuck along that way. As soon as someone signs up, the goal is for them to download the app.

Does findbetterquestions.com even need a web dashboard?

Not really, but there’s no point in not making it available. It just has to be obvious that you need the desktop app for full functionality. The web app could still do most things like looking at the lists already created and using pretty much every other feature.
But even if I can just copy all components from the desktop app, there will still be more work to do here, so the first version won’t have a lot of web functionality. You’ll need the desktop app anyway, so the web app is just a nice to have. We’re building an MVP here. I mustn’t forget that (I sometimes do).

Building the apps

I still haven’t finalized which stack I’d be using, but I want to keep desktop and web as much the same as possible, as that makes building for both platforms easier. To be specific, findbetterquestions will use the same front-end on all platforms and even the backend will stay the same as planned. We’ll use a hosted GraphQL back-end here, which means offline support will be limited, but the creation of lists will only work online anyways, so that’s perfectly fine with the MVP. I did some research on offline-first synchronization, but it doesn’t seem to be worth the effort.
The Electron app will be based on electron-react-boilerplate.

I’m currently still experimenting a lot. I feel like I really have to get up to speed now. I’m already behind schedule. I haven’t done any marketing this weekend and also not too much progress on the product side.

The plan for tomorrow

Finally get a very basic version of this to work.

← Day 3

→ Day 5

--

--