20 ms·
Show HN: Pinglist – My SaaS Project
- richardknop 10y agoHello, I would like to show you a SaaS project I have created. It has taken me about 7-8 months of work to arrive to the point I am ready to show it to people and get some feedback so please be respectful. It is an uptime and performance monitoring platform which currently has a web app and an iOS app. Right now it supports email, push notification and Slack alerts as well as team management. I am planning to add more features and support more platforms in the future. I have developed it as a microservices architecture using Go. Services are deployed as Docker containers on CoreOS boxes and I use etcd for remote config management. It's running on AWS and I have spent a lot of time making the deployment process very solid, using Terraform and Ansible. Web services are written in Golang, I use Postgres database to store the data, the web app is written in Django and the mobile app uses Objective C. I used Oauth2 for API authorization and also open sourced my Go implementation of the spec: https://github.com/RichardKnop/go-oauth2-server https://github.com/RichardKnop/go-oauth2-server I am looking forward to feedback. Also ask me any questions about the tech if you want :)
- jonaf 10y agoI'm confused. You said you used etcd for config management, but then you said you used Ansible. So you're using Ansible exclusively for deployment?
- nwrk 10y agoYou can read more about Ansible[0] and etcd[1] here. Etcd - to keep the configuration in use Ansible and Teraform to build infrastructure Example Ansbile + Etcd [2] [0] https://www.ansible.com/ https://www.ansible.com/ [1] https://coreos.com/etcd/docs/latest/getting-started-with-etcd.html https://coreos.com/etcd/docs/latest/getting-started-with-etc... [2] https://gist.github.com/justenwalker/09698cfd6c3a6a49075b https://gist.github.com/justenwalker/09698cfd6c3a6a49075b
- herbst 10y agoThe architecture sounds nicely choosen and well executed (according to your comment) but i miss some additional information on your website. Especially about how you plan to be always online. I see the same issue as with statuspages. Their value is actually more their stable platform than the code they produced, the most important feature the uptime.
- richardknop 10y agoIt's a good question. Right now I have microservices running on AWS, in 3 availability zones so it should be resilient to an issue in single or even two zones. Services are also deployed in autoscaling groups so if one of the servers goes down, it will be replaced with a healthy instance. Right now everything is running in us-west-2 region but in the future, if it goes well, I'd like to spread servers across more regions in case there is some big AWS issue in one region. Microservices also cache remote config so if etcd cluster goes down they continue working. Plus I have a very high test coverage so the code should be robust enough. I will think of more things to do in the future. Good idea to add more information to the website. Thank you for the feedback.
- herbst 10y agoThis sounds better than i even have imagined, clearly put something about that on your website. May also create a business related blog where you can add all these architectural choices in detail. Assuming other potential customers also look for transparency in this. About the databases, i would just make sure to have a plan when it comes so far. I dont think your website will explode in populary over night are you are not _that_ unique, so you most likely will notice it early enough if you watch closely when it is time to switch :)
- richardknop 10y agoThank you :)
- richardknop 10y agoAnother potential issue could be scaling of the database. As I only use one RDS instance now. In case I would have lots of users using my service, which would be a nice thing, I would consider moving from RDS to my own Postgres database (which could be scaled more than RDS) plus moving metrics data to something like InfluxDB.
- brudgers 10y agoI'd suggest exposing more technical information, e.g. documents and guides, on the landing page. It's hard to evaluate the value of a free sign-up from just a few lines of large font text and pictures of iPhones. In the end, the technical solution is what you're selling. The iPhone app is a nice to have, but is mostly orthogonal to the important problem. Good luck.
- richardknop 10y agoThank you. Yes, I need to work on the landing page and add more technical details there. I have been focusing on making API and infrastructure robust as well as having a really good iOS app to go with the platform. Next I will need to focus on the website a bit more to make it look better as well as the admin dashboard. And after that, Android app.
- brudgers 10y agoCurious regarding current users and how user feedback is driving the priority of features.
- richardknop 10y agoI have only deployed the platform to production recently (couple weeks ago) so there are just few users now. Until I get more feedback from actual users / customers, I am trying to use common sense to decide which features should come first. I guess early customers could potentially have a big influence on how I prioritise upcoming features so I will wait for feedback. The reason why I haven't started working on Android app yet is because I have no experience with Android myself so I would have to outsource it to an expert. So far I have been able to do almost everything myself (I outsourced designs and initial mobile app but I have since taken over the iOS side as I know a bit of Objective C). It is getting a bit overwhelming as I need to handle infrastructure, backend, web app and iOS app at the moment just by myself. Plus I also have a full time job right now so the time is limited. I was also thinking about teaming up with somebody to help move forward faster ;)
- kevinsimper 10y agoYou should tell How this is different or Why is this better than Pingdom? :)
- richardknop 10y agoMy main frustration with Pingdom was their poor mobile app. So I am trying to focus on having a really good iOS app to start with as I think mobile is a big part of value of a platform like this. Later I will also be adding some unique features I think Pingdom doesn't have. Also I can provide the same service as Pingdom but cheaper.
- erroneousboat 10y agoLooks cool, good work!
- richardknop 10y agoThanks!
- borplk 10y agoWell done. If you are happy to expand further on how you managed to set aside the 7-8 months of time on this I'd be interested to hear. For example did you do consulting on the side or something? I want to do the same thing but I don't really like consulting and I'm afraid of burning up all my savings.
- richardknop 10y agoHi. Yes I did some consulting work and also moved to a cheaper country temporarily. Of course, I sacrificed a lot of potential income as I was mainly doing remote contract work and compared to London rates I could get it was a bit lower. But it paid my bills and allowed me to do this while keeping most of my savings intact.