Three lessons learned by Codeworks students
It’s Barcelona. Imagine a sunny October evening. A group of Codeworks students are clustered together in a light airy space, designed for good things. We see elephant grey circles under their eyes. They definitely haven’t had 8 hours sleep last night. Like a gentle Mexican wave, murmurs of agreement fall from one student to the next. Yes, they’re exhausted. But you can almost smell the pride in the room.
These are Code-aholics, our latest Codeworks seniors, and they’ve all just built an app in 12 days for their Thesis presentations. Here we’re focussing on Rosa, Nicola, Carl and Rodrigo. Their app is called ‘Raven’ and so, it follows that these four are now duly known as ‘The Raven Crew’.
What is Raven?
Raven is not exactly magical. There’s no Blockchain, Bitcoin or Social Good happening here. The app lets you focus purely on taking notes and sharing them. The group researched other note taking apps and found that they all lacked this easy sharing capability. Bear, Typora, and Google Keep don’t have this simple mix of features.
So like all good product design, Raven takes something we already have and makes it that little bit tastier. A bit like coffee with a hint of cinnamon (seriously, try that. Next time you have a coffee, add a bit of cinnamon. We’re really into it on the Codeworks campus.).
So why take note of it?
Raven is extraordinary because of a special quality. Something special to the Codeworks ethos, that may not be obvious to its user. This quality alone meant the Raven Crew received unusually strong feedback from bootcamp tutors. Feedback wasn’t about code, stack of features. Instead, students were praised for their insights.
Three lessons learned
Here’s what the app creators learnt in the process, in Carl’s words:
1. Pivot with pride
Technical debt is just part of the process.
The idea that you’ve invested three days in learning one framework and you need to move onto another? Suck it up. It’s not a waste of time so don’t fall for the sunk cost trap and persevere in vain. Be prepared to stop, pivot and try a new technology.
After spending nearly a week trying to implement reliable offline persistence in Apollo Client, we decided the current solution was too technically immature for us. It does a lot of things by magic, but to do something more advanced, we didn’t like what we saw under the hood.
We switched to using a more mature state management solution: Redux & Redux-Saga. That meant more micro-management, but more control. Time spent learning one technology, learning where it excels and where it just doesn’t, that’s time well spent. It’s how you learn that technology that’s important and that’s what we came here to do.
2. You are the expert
At the start, you read all these blog posts and you have a feeling that you’re not worthy and all these other people are the experts. But when it comes to your product, you know more about it than anyone else out there. You’re building this from scratch so you are the expert for now.
So we hung on to the fact that we were the experts in solving our particular problem. Instead of looking for solutions in other people’s code, we found our solution on our own: we took a custom made approach.
3. Focus on the process
Focus on what you can cut from your app, and ask what’s most important. We had two goals: group functionality and making the editor work. That meant we could become more creative when choosing which features to cut.
We asked ourselves, ‘what is our app about?’ It’s about easy sharing in groups. So we got rid of private notes altogether and created a more streamlined experience in the process. Ignoring the option to add the all important ‘delete your note’ feature, we simply cleaned up the code we already had. So enjoy the experience, don’t panic and add extra features. Better to do one thing well, than lots of things not very well right? Right.
What’s next for Raven?
Carl laughs, ‘The ability to delete notes.That feature is still being made.’