Make a MVP when you suck at design
First, work on the idea, like a lot
For Alfred, I easily went through the idea for 2 entire months, yes that’s a ton of time without doing anything visible. I was averaging 6 hours per day on thinking and noting. I was talking with friends and gathering business models ideas. I knew this would help with the marketing and the design afterwards, so I was willing to take my time, more than usual.
I used Notion to write up a series of steps that wouldn’t happen until much later. First I had to think about the spirit of the product, then what phases I should go through to achieve this MVP, deciding when to stop or what features would be essential, dropping the rest in a backlog. On the other end, I had to think of what kind of price range would be acceptable to hit the market. Who were my customers? How should I reach them? Is it even viable?
In parallel, I was trying to read as many marketing books as I could — as it was one of my weaknesses. You know those routine-cue-reward books that seem to tell you the obvious about habits and how to gather attention. It may seem obvious, but people do forget about the essential often, it helped me build up marketing ideas on the way.
I had to imagine the different campaigns I would launch, the budget I agreed to burn trying — and its limit — the audience I would touch, but all that way before the product existed. This helped define the project with great details, and avoid mistakes before to even start.
Overall, I went from the global vision, finance projections, marketing, potential use cases, copy writings, a ton of shit in the backlog I would certainly never do, some potential third party services, SEO concerns and even extensive legal writings before to start thinking of the graphic design.
Focusing on those aspect built up the identity by itself. I wanted Alfred to be “someone” you would speak to, not many but one because it seemed right. I wanted him to be simple and to have the same tone at each conversation. I also imagined all types of requests people would send and tried to foresight what should happen then, imagining different features, splitting them between essential and secondary. I thought of how it would scale and how everything would be organized. I started to have a real “vision” out of my project.
This wasn’t only about the product, I pictured the way I would market it, focusing for example on emailing, and the way you would take the attention of users at each steps until they turn this service into a habit. This important step will help you define what is there to design.
Defining all those details made me understand what I wanted Alfred to be exactly, which then lead me to the next step.
I really suck at graphic design
I remember this really good UX designer / illustrator friend. I asked her once “Well I suck at this, can you teach me how to get better?” and she went on by talking about how much of an art it was and to create everything from A to Z. I skip the details, but this was one of the worst advice I had ever heard.
Sorry, but if I were naturally good at this, I would know. I can’t draw for shit so telling me to just “draw” isn’t gonna work. I tried to draw or compose designs several times in my life, from scratch, and it was a systematic disaster. It didn’t seem to improve — or if anything — very slowly. I needed real strategies and technics to “get it” and go up the ladder.
She gave me none, because she was too far up the skills that she certainly didn’t even know how she made everything look so good herself. It was years of practice with a big pile of artistic spirit and falcon eye which made it right, and sadly I’ve got none of that.
Only much later, I realized what would be a way to get better; you know like a more realistic one. Taking this advice and reversing it completely. After all, you get good at coding by actually reading a ton of code from others, taking it and changing it so it feels right, it’s only much later that you’re able to get the pattern right on your own. Each time I thought I had a tremendous improvement in my coding skill, it was because I was reading great codebases and taking the pattern I found really good, and assimilating them. I actually believe it works this way for most skills. You should be able to take and manipulate.
I can do the same with graphic design. I started to gather a ton of resource for Sketch — it’s all over the Internet — as I knew a little about this software and vectors in general. With those ~30 pieces of design I started to take buttons, menus, and change them, morph them into something unique.
When I was seeing a cool component, font or even color, I would just take it to my own blank slate and try to compose something with what was already there. It took me several weeks to calibrate everything, and even after I thought it was done I would sometimes wipe it out and redo entire pages.
A cool header you found? Just take it, remove part of what’s on it, keep the few colors you already use and add this weird submenu you kinda managed to make on its own to see how it looks altogether. Maybe it’ll be shit, but maybe it’ll be “better”, and I believe that’s several better that makes something good.
It’ll be slow, donc expect a whole UI overnight.
For the first time in my life, I totally ignored the code itself and just went for pure graphic design. I would think about interactions, how do you go from this page to this one? How does the responsive should work? Do I need emails templates? A landing page? Basically going through the whole app before it exists, including everything around it, and deciding for each button and text position.
After a while, a theme starts to appear by itself and you can re-use what you already got in some part, but I personally struggled for a very long time before to get there.
Feedbacks are important when you have no skill
For instance, I had no idea how to make the payment area. How the fuck do you make the payment look good and be straight forward in a minimalist app? That’s difficult.
I tried 4 or 5 versions and sent them to my friends, because they are great friends they told me it was utter shit without hesitation. I took it back, downloaded more and more payment pipelines examples and tried again until I finally composed something that sounded “right” by taking interesting pieces and changing them, again and again.
Overall, it was almost two month working with Sketch, and only Sketch. This seemed to be very time consuming, but changing an illustration is much faster than changing the code, especially when it’s about how a series of actions should behave, I also think it makes it more harmonious.
I would sometimes rework on the concepts thanks to the design making, because it’s obviously part of the identity too, until I felt I got it right.
If an idea is impossible to design, remove it
I remember I had to illustrate this “time block” idea. I thought Alfred would be cool by just having blocks instead of simple time consumption. One block is 20 minutes and you can buy 1, 3, 5 blocks or whatever, I would have blue squares to represent them in the app.
That seems cool, but when I tried to put it into a design I was confused myself. How would the “time left” show up? Like “You’ve got 1.4T left”? People would be even more confused than me, let’s not even talk about the top-up area. Everything felt wrong, and my attempt to integrate it into the design made me understand that.
I removed it totally after trying for a while. Forcing myself into graphic design helped me go straight to the point, and made me delete entire concepts for the better good.
Coding as a detail
This huge design part made me realize in advance how the database would look like, way before to start coding. I just had to write my schemas routinely after that, which are simple technical representation of what the UI already is in Sketch.
The code was really easy once I had it all together. It took me a while to write it all, but only because I decided to use a new tech I didn’t know to spice things up — GraphQL — which slowed me down at first.
The difference with my previous projects was huge. If you have everything before to even open your IDE, the code itself is just “something to do” but it takes out all the creative part, which makes it go way faster.
It’s like copying a painting rather than doing it from scratch; you know you’ll eventually get there, and you know exactly how the product will be at the end, because you actually see it already.
I had a few details that I changed in the middle, but they were rare occurrences. The file sending system for example: it looked very good “on paper” with the design, but when it was in form of an exchange with Alfred — when finally coded — it was very confusing when you had multiple files in a row. I understood that because I sent lots of files to test the back-end. I could hardly guess that when working on Sketch. I lost some time, but not much.
Because it was pretty minimal, I had almost no struggle fixing it, so I guess that was a good choice overall.