Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
On the personal side
I interviewed at Facebook, first for front-end, then for full-stack. Considering the year Facebook has had, Iâm okay with not getting the job.
Roughly around the time I was interviewing at Facebook, I took up the #vanlife with my partner and toured through California in a purple van. When I came back home, I finally took the driving test and got a wagon to continue the #vanlife here in Australia.
I then quit my job at Arup (building engineering consultancy) to go work at a Fintech startup aiming to revolutionise the retail investing space for Mum & Dad investors. After 3 weeks I quit the startup job, once we realised the job they advertised for and the job they wanted me to do werenât exactly aligned with my skillset (I see myself as probably 75% front-end, while 100% of the work they had for me was back-end for the foreseeable future).
In between jobs I picked up freelancing as a way to make some extra money, migrating EthicalEquities from WordPress to Django, and added a forum to build more of a community around ethical investing.
After about 6 days of freelancing full-time, I joined Expert360 as an employee, where I (mostly) work on the front-end in React. Iâve been helping to build a Design System as well as some product work.
On the business side, chronologically
JobsOk.io
I finished building an MVP for JobsOk.io (A tech job board where posting an ad would only cost $199 US) in a thinly veiled attempt at emulating Pieter Levelsâ success with RemoteOk.
What I learned here is that your implementation is meaningless to the user if youâre not delivering the value they came for. In this case, I wanted to take a technologically inferior product, make it extremely efficient, scalable and âblazing fastâ, and pocket pure profit from running a serverless job board (effectively free to run for the first million visits a month)
I was failing to deliver value to users solely because I didnât have the traffic to compete with other job boards. The reason StackOverflow can charge as much as it does is the millions of page views per month it receives, creating value to its job posters.
In total, JobsOk logged 761 sessions for 661 users in 2018. While a total commercial failure, I did learn a lot about running GraphQL in production, and using off the shelf Design Systems (Material-UI).
I eventually revisited JobsOk, and migrated it from being a client-side app to server-side rendered app in AWS Lambda (Check out Razzle).
AppointmentScheduler.org
I finished building an MVP for AppointmentScheduler.orgâââanother hero-inspired product (in this case, patio11), AppointmentScheduler was going to have a freemium product model to take appointments for any industry that needed appointment scheduling software. I intended to use content marketing to acquire users.
I honestly thought I had learned âif you build it, they will not comeâ before building AppointmentScheduler. Turns out I did not. It took about a month of weekends, and time after work to build. I also spent part of that month writing pretty vague, average blog posts to try attract users, to no avail. I had planned to build beyond the free feature set if I had seen enough users using the site, however most people came for the blog posts, and didnât stick around to see the app.
The site was unique in that it was a 100% pure Gatsby.js site, where I added a client-only section under the /app path.
In total, AppointmentScheduler logged 561 sessions for 496 users in 2018.
RoomBooking.co
I started work on an MVP of a spin-off product from AppointmentSchedulerâââRoombooking.co, only to find the Google API restrictions meant I would have to implement most of it myself. RoomBooking would let you select slots in a Roomâs Google Calendar and see when it would be available for use.
I was starting to finally understand the lean start-up methodology at this point, so I had spoken to a few people working in businesses too small to afford using Microsoft Outlook for meeting room bookings, but large enough to need a system to book meeting rooms. There seemed to be a clear need for a means of booking rooms in a business. I only spent a week of time after work on this, as I wasnât particularly interested in the problem space.
I wanted to be able to create a public calendar in Google Calendar, while also allowing anyone to create events on that public calendar, while restricting the viewing of events to the Owner of the calendar. Turns out Google wonât let you do it. Unwilling to implement it myself, I canned the project, and wrote a blog post about the experience.
Using a template to build side-projects
Half-way through the year, I realised I had been building all of these side projects from scratch each time, and had been pretty burned out by the experience. I basically didnât write any fresh side-project code for four months, though I did try to keep coming up with ideas (I actually bought the domain for two of the ideas, RecordMyWeight.com and IndiePhotogs.comâââthough I never used them).
In August, I collected all of the code I had written all year and built myself a React + GraphQL server template in Terraform that deploys a complete site with HTTPS, CDN caching via CloudFront, GraphQL server & SSR server running in AWSÂ Lambda.
To avoid having to go back and update version numbers in the template, I actually wrote it in the form of a three-part blog:
- Server-side Rendering, Serverlessly!
- Deploying to a real domain name
- Letâs build a GraphQLÂ backend!
OnlineOrNotâââfinally a problem worth solving
Since starting my career as a software engineer Iâve found APIs to be a pain to work with.
My first experience working with a âback-endâ developer as a front-end developer to build a dashboard for financial data essentially involved having a financial quant dump a spreadsheet into the Python pandas library, and outputting the result to JSON. At one point in the project, the APIâs result would break the front-end every 3 hours, despite there being contracts in place to prevent this from happening. If we had a tool capable of snapshotting the API result and alerting our boss whenever it changed, the project would have gone much more smoothly.
Most developers I spoke to while validating this projectâs commercial viability had a similar story, or could relate to the problem. Being able to ensure your API is operating correctly and as expected is particularly tricky with GraphQL, as GraphQL servers do not respond with 5xx error codes when they fail.
My approach to deciding whether or not to build OnlineOrNot was slightly more rigorous than my previous side-projects, as I really wanted to make sure people would actually pay for this. I spoke to former coworkers, and current coworkers to try understand how developers ensure GraphQL is runningâââand in short, itâs really hard!
So after a month of testing whether people liked the idea, I set off to build OnlineOrNot using my side-project template I had developed back in August. I had quite ambitiously wanted to launch my beta by December 1, however when youâre working on a product after work and on weekends, occasionally life gets in the way. I have still not yet officially âlaunchedâ the product, Iâm still actively recruiting my first ten paying customers to help beta test the tool.
It being December 31 today, Iâd say OnlineOrNot is very close to a public launchâââitâs embarrassingly under-featured, but still executes on its core-value proposition of automating GraphQL testing & uptime monitoring.
Since October 1 the marketing site has received 557 sessions from 491 users (roughly 4x each of my previous side-projects in a comparable period of time).
2019 Plans
Launch OnlineOrNot, make an actual âCompanyâ
I plan on launching OnlineOrNot on ProductHunt, IndieHackers and Hacker News to get more users for the public beta. Iâm not really expecting much, if I can get around 10 users trialling the product and leaving feedback I would be over the moon.
If I manage to get a few customers Iâll also start a company to own the IP. As much as I love being a sole-trader, something about being exposed to unlimited liability when dealing with B2B transactions sounds a touch unpleasant.
My longer-term play for user acquisition will still be classic content marketing, but also launching on LinkedIn, and using StackOverflow questions to help potential users learn about the service.
Go camping more
My partner and I bought a Subaru Outback 2005 to go car camping around Australia, and when (if?) the weather cools down a bit weâll try car camping around the East Coast of NSW.
Sell some camera gear
Since I started photography as a hobby about 5 years ago, Iâve accumulated around 26 cameras and various lenses. While Iâve been slowly selling off bits and pieces to friends and family, Iâd love to be able to spend that money on investing, instead of cameras.
Anyway, hereâs me signing off for 2018, Happy New Year folks!
Originally published at maxrozen.com on December 31, 2018.
2018: Reflections on trying to start an internet business was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.