(1/12) I’m launching 6 startups in 12 months
The first month of the 12-month sprint to develop 6 startups.
For my first startup, I’ve decided to dive head first into two new technologies. React Native & Firebase. These are two fantastic concepts which I’ve been wanting to play with for an incredibly long time, but never had the chance to! I thought about using Django to create a backend in replacement of Firebase but decided in the end that the time to develop and maintain might just be too much for the limited timeframe I have.
What am I building?
I will be creating a simple ‘lucid dreaming assistant’ app. It’ll have two features, a dream journal and scheduled notifications for ‘reality checks’. A dream journal is just simply a journal in which you log your dreams. Seriously. It’s pretty simple. It helps with your recollection of your future dreams and allows you to spot possible trends in your dreams. This makes it easier for the user to notice they might be dreaming. ‘Reality checks’ are the act of quite literally questioning your existence right now. The user is occasionally notified to perform a reality check, where the user will simply attempt to push their index finger through their palms, and thoroughly question whether they are dreaming or not. It may sound silly, why would I need to know if I’m dreaming while I’m obviously in reality? Well, once you begin doing these checks often, it becomes a habit. Your dreams quite often copy what happens real life, so your habits will copy over as well. You will question if you are dreaming in your dreams. How cool is that? When you try to push your finger through your palm, your finger will go through it. This act will trigger the train of thought that leads you to realise you are dreaming!
I began with form over function, as I already had a clear vision of the function of this app. It’s all incredibly simple, two functions. The first and most focused on will be a dream journal with a simple analysis/reflection ‘screen’. This will allow you to not only log your dreams but reflect and analyse their meaning to further develop the separation between the physical world and the locations we create in our mind. The second function is a simple, configurable, scheduled notification that will trigger a ‘reality check’. These reality checks will begin to become a habit, and you’ll begin to try them in your dreams.
I started designing using Sketch, designing for the iPhone X first.
I started with the on-boarding process, going from the ‘Welcome’ screen through to the signup/login views, then an animated tutorial/introduction section. To create the animations for on-boarding, I’ll be using Haiku, it allows you to import your Sketch files, apply animations, and export to code. For a beta, it supports a surprising amount of export options, frameworks like React Vue, and React Native. It also supports HTML/CSS/JS exports, and iOS & Android.
I began the process of collecting my exports from Supernova and creating my app, connecting it to Firebase. However, there were some issues with the export, which rendered the actual app near useless.
I also began working on the app’s landing page, which will be hosted on my Firebase app, using Firebase Hosting.
I started by looking at inspiration from Dribble and Hyperpixel, brainstorming layouts and how I can use my brands' colours to my advantage. Sketch allows you to copy-paste CSS attributes/SVG code of elements in your designs. I simply copied the gradient CSS from my background symbol, and just like that, I had the basics and colors for my website. I decided to add a full-width hero row, which will form the basis of details about the app. I plan to draw some graphics and animate them in Haiku and then export them to use as animated pictures on top of each column/feature.
Week 3 was incredibly busy for me, outside of this project. So I didn’t get a lot done throughout the week. However, I’ve decided to completely scrap my Supernova.io React Native exports, and start from scratch. I’ve spent hours debugging less-than-acceptable JS code that Supernova has generated. I’ll be cancelling my Supernova subscription as soon as possible (Every time I go to cancel, it gives me a popup telling me I can cancel next week! Thanks Supernova). I’d been browsing Github for better solutions to my problems and found quite a few libraries that’ll help me achieve what I’m looking to do.
I spent a few hours re-creating the app from scratch, free from any generated code. Shockingly enough, pretty much everything worked out as expected. I had managed to implement basic navigation and UI/UX elements, successfully recreating the onboarding process from scratch. This did absolute miles for my confidence in the long run and really boosted my morale.
The entire app has an (almost) brand new look, and feel. The quality and robustness feel a lot stronger than that of the Supernova exports.
The landing page has had a bit of a rehash, with a new background pattern and copy. Soon it’ll feature an animated iPhone X mockup on the right column, showcasing the app and all its features!
Supernova update! I was unable to cancel my Supernova subscription, every time I tried to change my plan back to “Free”, I was faced with a message saying this ‘feature’ would come next week. It’s an ambiguous message, as I am within a week of my billing cycle ending, yet I still cannot cancel? I had to send an email to the founders about cancelling my plan (Although they did reply almost immediately! Nice support!).
This week I also purchased a domain name, daydreamapp.co, and connected it to Firebase. Who would’ve guessed the app would go through another name change? You can now access the landing page using that URL, and soon enough you’ll be able to download the app from there as well. My hopeful aim for these 6 startups, is to have a domain and landing page for each.
As seen below, I also implemented Firestore into the app. All relevant data is now pulled from Firestore (from the user specific collection) and into the app. The UI is incredibly WIP, as I just wanted to get something onto the page. My vision for the entries, is that they will begin by showing you the title, a truncated description and the date of the dream, but you may click an expand button to roll out the extra info, such as the rating, dream type, and dream meanings data.
I have learnt an incredible amount this month, not only in regards to programming but about myself. I feel like every day I spend working on this project, I feel less like procrastinating with other tasks. Overall, I am incredibly happy with the state of the app since the complete restart. It’s proven to be really valuable and has created some great learning experiences. I’m really looking forward to publishing this app, and possibly see to getting it placed on the Android store as well, in addition to the iOS App Store.
This month, my total expenses were $55, being the (much-regretted) Supernova subscription and domain name.