In this post I am going to share some thoughts, ideas, lessons and at the same time build a new SaaS app called DevNotepad.com
This is a note taking app designed for Developers and Designers.
It would be interesting experiment to document and build an app at the same time. I've always wanted to share the progress and challenges that pop up during development.
Note: if you, too, need a SaaS app built contact us with some details.
Got feedback, would like to help out or beta test?
If you have ideas or suggestions about this post or would like to participate in the project cool let us know
The plan is to use WordPress as much as possible and where it makes sense. If there's a better tool for the job it will be used.
WordPress will allow us to start quickly and efficiently and only build what's missing. If it turns out that there's a demand for this app then we'll take a look how to optimize it and make it scale to millions of users but that would be a nice problem to have, right?
Before starting doing any work it's good to take some time to do some research and understand the pain very well.
I am a developer myself and know the pains with the notes. I have so many ideas and would like to be able to save them very quickly the moment they pop up so I can free up some more resources for other important things.
- Done Research the pain and the problem
- Done Come up with a name
- Done Register domains
- Done Create a Gmail/YouTube email
- Set up sites
- Done Set up a form to collect emails for beta testing
- Set up email for your domain
- Sign up with for social media
- Plans and Money
- App Feedback form
- Sign up for Github accounts
Doing the prep work is important. You want to build something for a specific people who have a pain and know about it and are actively looking for a solution.
Being in Web Development in the long time I knew the problem with notes. I used Evernote and asked them to create plain text notes for years. That should save them lots of disk space. It would be at least 30% less because of the code that makes it rich text.
There have to be separate accounts for this project. For example bitbucket, github etc.
When think about a starting a product I am checking different names and which domains are available.
Ideally, the domain should end in .com but if it's not available to too expensive to purchase then I'd go with .net version.
Then I'd buy several extensions of that domain name. For this SaaS app I bought .com, .net, .org versions.
It's good to use them so they are not taking by another person and also we'll have a staging site for the app.
It's way more convenient to push changes quickly and test them on a staging site rather than expecting your users to the alpha/beta testing for you. Of course no software is perfect so there will be glitches here and there and that's normal.
Also there will be a domain that will be used to share notes. It's never a good idea to use the main marketing site for this.
The idea is to have different (sub)domains that are responsible for different things. That way each site will working efficiently because it will be running only the software it needs.
Set up a form to collect emails for beta testing (done)
To get added to the DevNotepad beta list visit this link
Having a form will allow us to collect emails of interested users. That way we can notify them when there's an update.
For this beta list form we've used Google Forms and configured it to collect user entries. We'll get an email every time somebody adds themselves to the list. They will also get a confirmation. Using Google forms will store the entries in a CSV format that we can later export and import into another mail service provider.
Using Google Forms should also reduce the spam entries.
Sign up for Github
At first I created the DevNotepad account on GitHub but then decided to convert that into an organization account.
There was a popup window and it seems I had to create yet another GitHub account before switching to an organization account. This time I chose DevNotepadDev as username. It's good to keep things as organized as possible so you know where to them.
Feel free to follow the organization and check its published projects
Set up email for your domain
This will require setting up MX and SPF records for the domain name.
Soho Mail seems like a good solution.
Every software product has glitches and it's a matter of time for them to show up.
For this reason an app must have a status page. So you can communicate what's happening with the app and how the upgrade/maintenance is going. The site/page should ideally be hosted on another server or provider.
You can set that page up on Blogger and point your status (sub)domain there.
On our Staging WordPress SaaS App - qSandbox we can show a message at the top of the page so the users know that we are aware of a glitch and are working on it. This page can also be linking to the status page which can provide more information.
How would this app be different than the other note taking apps? USP (Unique Selling Proposition)
In the beginning of any project it is very similar to existing apps. Over time when the problem is better understood it would have features to do address the need of a specific core group.
The main idea is to have plain text notes that can be accessed via Web, Mobile & Command line tools.
Many people might say that lots of things have been invented and that might be true to an extent.
The idea is to keep improving and making %1 improvements that will compound over time.
Plans and Money
How would a note taking app make money in this saturated market. That's a very good and important question.
I once heard the saying that if the app/business is not making money, then it's a hobby.
1.These are plans that we're thinking about (shared server)
|Personal||?? device, 250 notes per month, 100 MB of storage, 1 workspace||Free|
|Plus||?? devices, ?? workspaces, attachments||$?? / per year|
|Pro||More cool stuff||??? per year|
2. Run the app on private server (EU/US/Canada etc) that we manage
We can set up a server specifically for the client's needs in a country that is closest to their business.
Then install all the necessary tools and software to run. We manage the server and security.
3. Sell a WordPress plugin that you can install on your own site
Because we'll be using WordPress and the app will be composed of several plugins we can extract some of the code and make it available as a paid WordPress plugin that people can purchase.
4. Offer a professional installation & set up
The app will best work with WordPress multisite so this can take some time to set up and configure.
Use Case 1: System administrator / DevOps experts wants to set up a new VPS server
They would save the script into the DevNotepad and then pull that script from the server.
While they are working on the server they write some scripts and tools and would like to add them to their collection of notes.
They'd be able to run a command and send the script's contents to a new note. That's why there's a need for a Cli tool.
Use Case 2: Developer/Designs wants to organize their code snippets
During development of any project there are so many ideas that pop up and also there are some very useful code snippets.
The internet is very searchable, however, there could be some code that you want to stay private and to be used for your own projects only especially if you had spent years working on it.
SaaS Product Sites
Any SaaS app needs several sites. I am going to break it down like this.
- Done marketing site - devnotepad.com
- app site - app.devnotepad.com
- billing site billing.devnotepad.com
- API site
MVP and MVS for SaaS
MVP stands for minimal viable product and MVS stands for Minimal Viable Segment.
Here's a nice video from Harvard i-lab: Startup Secrets: Go to Market Part I - Strategy
The main idea is to launch quickly and to test the market. The app is going to be very minimalistic.
The idea is to invite people to share ideas and feedback and see how that feedback will shape the development of the app.
SaaS Product App Development
- Web App
- Started Cli (Command line App)
In order for everything to go smoothly it's better to set up everything locally because of the tools that can be installed.
For example docker, xdebug etc.
When bugs show up it's way more effective to start a debugging and stop it at the right spot and inspect the variables and see what might be causing the error.
Everything is git and more specifically in bitbucket. In the last few years I wrote and improved an update script that goes through each folder that uses the company's bitbucket account.
DevNotepad Marketing Site
The main site is the marketing site (DevNotepad.com). That's the starting point.
It's set up with a basic free WordPress theme. The main idea is to start quickly and put something up so search engines can get to it. There's even a blog post about how people organize their code snippets.
The theme is used almost as is. Just created a child theme and tweaked the footer so it doesn't link to other sites.
Of course we've used our Child Theme Creator by Orbisius plugin for this. It's never a good idea to modify the parent theme because any changes would be lost after an update.
DevNotepad App Site
The app site will be another WordPress site and will be configured to use WordPress multisite features.
Each site will be a workspace. Each user will be an editor of that workspace. So After they sign up a site will be created.
The set up will be using folders so we don't have to worry about wildcard SSL certificates.
The notes will be of custom post type called dev_note and will support WordPress tags and categories.
DevNotepad Billing Site
There will be a separate WordPress site that's specifically set up for billing. It will run on a separate server that's better protected.
The site will also reside in Europe just to be on the safe side with the regulations.
Regarding payment gateways the plan is to sign up for PayPal and Stripe payment gateways.
The SaaS app billing site will be running on WordPress and will have WooCommerce and the gateway's plugins.
Having a separate billing site will separate the responsivities of each part. Additionally, the billing site will run much faster when it has just about 5 plugins to do its job.
WooCommerce has lots of extensions and since this is a SaaS app we'll need subscriptions.
Relying on existing plugins and WooCommerce will allow us to add additional payment gateways very easily later on.
Not building this ourselves will save us time and resources so we can focus on the app itself. The extensions that will be required to run the subscription will be around $200-$400 / year.
This will require a custom plugin to integrate the app site with the billing site but it's well worth it.
How should we be marketing this SaaS app?
One of the options is to create a free WordPress plugin that integrates with the WordPress admin area and people to start using it.
Another is creating videos that show how the app works.
Well, documenting the creation of this app is another form of marketing. That was one of the main driving factors to do it.
Also this document also servers and important role because it kind of acts like a accountability system.