1. 24

“Coming Soon” page here

I know this story has been making the runs on the interwebs lately: https://beepb00p.xyz/sad-infra.html

I’ve been feeling this way too. Specifically, there are two pain points when it comes to personal software in my life: the lack of a nice habit tracker, and the lack of a “tele-rolodex” to keep in touch with friends and my professional network. I like but don’t love my habit tracker (it’s mobile-only, the UI keeps changing, and the app crashes and loses my data, and my life kind of falls apart without a habit tracker and an automated routine. I also slowly lose touch with people if I don’t have something to remind me to occasionally reach out, which also really sucks.

I’ll be working on this full-time (40hr / week) likely starting around end of January, or whenever I finish reading through “The Haskell Book” and finish setting up my dotfiles and other assorted personal tooling / infrastructure. I’ll probably have something by end of February or March (definitely by end of March). I’ll also be putting together an automated email campaign through Mailchimp :)

This is very much a “soft” launch given the holiday season but I just finished the landing page and I thought the Lobsters community being mostly software engineers would be interested in following along :) I’ll be posting on Hacker News and sharing this with my email subscribers at a later point.

  1. 22

    I will be very critical, but do not understand it unfriendly (if I would not like to help you, I would not comment this at all).

    The „Requirements Set“ is ridiculous. You should start with business requirements, not some random low-level technical details. Maybe you think that it is crystal clear what „CRM“ means and does. But the opposite is true. Various people can understand this term in various ways and expect completely different sets of features. You should describe the business processes, use cases, scenarios, features and scope of your future product.

    You should do some research on existing products, compare their features, strengths and weaknesses. Why new product is needed? How it will be different and unique? Why your requirements can not be satisfied by improving an existing free software product?

    What is your „business model“? Are you doing that software primarily for your own needs and public version is just a side effect? Or will you offer it as SaaS? Or will you sell some services around it? Or will you accept (expect) donations? Or will it serve as a showcase of your skills?

    Or you want just learn a new programming language and this is your first practical project in the new language? Yes, doing things and using tools is important part of learning. But you should be clear to potential users or even customers about the purpose and future of the product.

    Do not ask people for their name and e-mail address. I already got enough spam, thanks. Rather offer an RSS/Atom feed, start your own blog. It is much more likely that I will subscribe an RSS/Atom feed than a newsletter.

    You have registered a domain (which is right) but the information on that page and in your post here is worth nothing. It just says that some random guy from the internet will (maybe) one day release a new product. There are so many people with same plans… it is worthless. It has value only when you finish something. It do not have to be perfect or completely finished, but it should do something (useful). Before that, it has no value, it is just empty words. You should do a private prototype where you evaluate some technologies and practices (it is OK to do this in private – I also do not publish all my code). And then (if you still think that the plans and expectations are valid) you should start the public project – make it free software from the beginning, use some copyleft license (GPLv3 or the Affero version for network applications), which brings some kind of reciprocity – people and companies will contribute you code (if they improve your product or build something on top of it and distribute it) or money (you can do dual licensing).

    1. 13

      You offer some really good advice here, but the tone used is rather harsh and dogmatic. There is a high chance the most people will not bother reading it till the end. Worse, It might do the disservice to the OP, as he didn’t even start with his project, and is already met with such a message.

      1. 5

        Thank you very much for the support! I think the message from parent is discouraging but the pain from my existing pain points is high enough that I want to do this irregardless (I looked at my finances for the next few months, went I’m going to be spending how much (o.O’), and am still planning on doing this anyways). We’ll see what happens :)

        1. 7

          The difficult thing about communication is that you can’t just declare that it’s not hostile. “No offense, but you’re a moron” is still offensive, for instance. Communicating well - both in clarity of thought as well as empathetic tone - is hard work.

        2. 5

          Hey thanks for commenting! To answer your points:

          • This isn’t primarily a business venture, and that’s because I’m focusing on tech. If I started a company, tech would be after sales/marketing, and product management. It should be, right? Sales / marketing is what puts food on the table. When I self-introspected to look at what I wanted to do first, it was to build a great product for me to use, and that is very much different from selling it and making money. Note that I mentioned above I should be open-sourcing this. IMHO there’s pretty much no vendor lock-in and growth possible if you open-source something, because if it becomes critical enough then it gets forked by your customers and they then do their own thing.

          • I have a habit tracker I use, and tried out a number of other solutions, but they were really hard for me to grok and I never got hooked onto their platforms. The habit tracker I’m using is the best on the market for me, but it still has some problems (like crashing and losing data, which is unacceptable to me). So I’m building one that I want to use (and hopefully will use regularly going forward).

          • No business model as of yet. Again, mostly building this for myself. I think it’d be terrific to have people try it out, so if it becomes too expensive, I’ll add in a pricing plan to help cover costs (and grandfather in early adopters).

          • I am absolutely not a fan of selling a product and taking on a fiduciary duty to customers while using “state-of-the-art”, “latest-and-greatest” tech. Again, build a product for the sake of building a product, create a business for the sake of creating a business.

          I appreciate your points but look, nobody’s pressuring you or anybody else to sign up :) This is just the early adopters list for something that will probably be hot garbage in MVP and 0.x stage, or may not exist at all entirely. You’ll just have to trust that the lack of a good habit tracker and me losing touch with my friends & professional network is a severe pain point for me at this time and that I do want to address this for myself.

          1. 3

            I have read your additional comments and now it seems much more clear what and why are you doing. Thanks. Just your initial announcement was quite incomplete and chaotic. But I think that you are on a good way and you can develop a useful software.

            This isn’t primarily a business venture, and that’s because I’m focusing on tech. If I started a company, tech would be after sales/marketing, and product management. It should be, right? Sales / marketing is what puts food on the table.

            When I talked about „business“ things, I meant not primarily making money, but „business“ as a what the software does, how it is useful, what processes it supports (it does not mean that it must be profitable or generate financial income).

            mostly building this for myself

            This is a great way to develop software – you know, what you want and because you use your own product, you are personally interested in developing a good software. This + free software license is quite enough to guarantee the future and confidence from the user perspective. Of course, it is not everything, but it is good grounds and I trust such kinds of software much more than SaaS start-ups that will probably bankrupt in year or two or will be bought by someone else and change significantly.

          2. 2

            Well said. As it is, this has no value. It’s OK to ask for volunteers for testing, but this doesn’t even promise to be FOSS (unless I overlooked it) and all communication is strictly private. Thus I’d even call it a spam.

          3. 6

            I’m similarly lost to that very critical reply. What even is a CRM, and what would be particular about a CRM for software engineers? I find that the requirements don’t say a lot. How will this address the points made in that “sad personal data” article?

            I appreciate that this kind of public announcement might be useful strategy for you to follow through though, so try take the useful parts out of the criticism and good luck with the project!

            1. 1

              Honestly, I have very little idea what a CRM is. Originally I wanted something to keep in touch with my friends, so I called it keepintouch. Then my habit tracker crashed and lost all its data (again), and then changed its UI via an auto-update that’s completely new and ungrokkable, which got me pissed off to no end. So I wanted to replace that too.

              This whole idea came about from a conversation I had with an engineer at Stripe. I asked him what his favorite internal tool at Stripe was, and he said it was a “thing” that took OLAP queries from AWS Redshift that issued lambda functions via AWS Lambda. It keeps bouncing in my head and I can’t get rid of the thought of why I don’t have one of those for myself.

              After that it started pretty much building itself after that. I know I’m not a multi-billion dollar company, and I’m not interested in making this a ten-year long commitment starting a company requires, so it needs a done point. A done point in the next few months while being relevant in 20-30 years may mean a heavier reliance on protocols and binaries, and not SDKs or runtimes that need to be updated. I don’t want to re-invent the wheel, and I want to be able to script this into other things I build, so I’d rather build a platform up front for my own apps rather than a monolithic thing (helps with being done too). I want to manage data safely in production, which means having a GUI shim over direct SSH or anything too powerful. All together it looks something like a CRM.

              1. 2

                Sorry, I’m still lost. A “CRM” is something that runs Lambda functions in response to OLAP queries from Redshift? It sounds a bit… broad?

                1. 2

                  I think in this case it may refer to a Customer (friends in this case) Relationship Management system.

                  1. 1

                    “There are only two hard things in Computer Science: cache invalidation and naming things.”

                    Yeah, I could have picked a better name, and I’m not really sure what to call something like this. I think most people go with something generic so they can pivot later, but I felt that since I already know what I want to build (and I know whether it’s useful or not because I’m building this for me), boxing myself into this vertical is a good way to commit to not doing everything at once.

              2. 5

                For personal CRM needs, I recently found https://www.monicahq.com/. Open source, self hosted or their online version. Running it on a Pi at home, helps to keep notes and track contacts with people.

                1. 1

                  Thanks for sharing!

                  I took a look at the feature set on the GitHub README and my goodness is it long; they all put a lot of shine into it! The thing I’m building is definitely not going to be as fully-featured as this. I’m hoping to maybe have a nice little GUI to build your own templates / apps on top, similar to Airtable Bases.

                2. 4

                  I’d be interested in following this. Will it be open source?

                  1. 5

                    Yes :)

                  2. 2

                    I really feel the lack of a good habit tracker in the ecosystem. I wish you the best of luck.

                    1. 2

                      Thank you very much, your support means a lot to me :)

                    2. 2

                      Do you plan to support multiple users, to empower small teams, or will it be for solo developers?

                      1. 2

                        I’ll probably have native support for different accounts. I want native auth and not something tightly coupled to a deployment environment. Since auth and IAM is a pain to develop, and since auth and having multiple accounts are pretty much two sides of the same coin, I think having different accounts is likely.

                        If small teams want to use this after it’s done, I’ll be pretty humbled and happy. I’m mostly building this for myself though, and I’d consider me to be a solo developer :)

                      2. 2

                        Sounds interesting! How do you think it would compare with existing CRMs/habit trackers?

                        1. 1

                          Thanks for sharing the link! My thing would probably trade off features for flexibility. I probably don’t have specific support for calendars or even that fancy of a GUI like the examples in the link. My goal is to build something that does one thing well: generate interrupts. Views help keep the physical data segmented and composable, and data dumps help with scriptibility, but all that really means is being able to tune interrupt generation to the granularity I want.

                          I mentioned “for software engineers” because I don’t think another audience base would really get what I’m saying or why all of this is important from a development standpoint. It’d be like trying to explain the UNIX philosophy to a non-technical stakeholder :P

                        2. 1

                          The ideas look nice, but to be actually useful it would need to support CardDav for syncing with Android and iPhone address books.