For some systems obviously it'll be way better to go with a paid or otherwise already build system (e.g. CRM), but I was wondering if anyone here builds simple business systems for themselves as their use case grows. I was thinking e.g. a small API to manage a contact form from my own sites instead of going for a fully fledged system. That way if I'm not using a dedicated CMS I can still get custom functionality as I need it.
That's just an example idea of what I'm getting at; not looking for software recommendations here.
Mentally, I'm imagining this as "digital homesteading". When you homestead IRL you tend to do a lot more things for yourself, even if it's smaller scale or not as high quality as the paid alternative. Applying that same mentality here is what I'm looking at.
Main drawback here is diverting time away from building your product/clients. Many shy away from that but I think there might still be some value in it. As developers, instead of leveraging low-code, leverage code you know!
What are your thoughts?
i'm doing this with my current b2b saas (commsaas): building it for our own use and then making it a platform for others to use.
we have replaced slack for our team communication, for instance.
Nice! Replacing slack is a big one! It's one of the types of things I personally wouldn't look at home-growing, like running email. What made you not consider Mattermost/Rocket/Matrix/Zulip/etc instead?
well, we have a unique vision on what is important for early-stage product development and community building...
... and most of that is bloated and unusable for our direction.
... but, more importantly, we're involving our community
in the building process!! this is the most important part.Hello Nik π!
Speaking for myself, I definitely relate to your aptly-titled "digital homesteading" with the difference being that instead of where you write "...as their use case grows.", in my case it's usually when the use case is small because at larger scales the ready-made solutions usually win out.
An example from my own toolset is a Client Management Portal - tracking client requests, assets, links, etc. developed in Vue.js and deployed to Netlify but as I scale up, I find myself eyeing solutions like Plutio more and more!
Your other example of APIs is also pretty good because I think that many developers who've been working before frameworks became robust and mainstream had (or even still have) their own small solutions e.g. opinionated boilerplate code generators, form submissions with custom hooks, asset management, CRM, etc.
Even up to a few years ago, I would use some of these "mini-tools" functioning as Static Site Generators (I now π Eleventy), Analytics (plenty of new solutions for this ranging from platforms like Segment to privacy-friendly product analytics), Logging (most modern frameworks have excellent support for logging out-of-the-box plus there are great CI/CD tools) and so on.
To conclude: yes, I relate to digital homesteading as you describe it π.
Agree on the frameworks! They've evolved to such a degree, hence my questions here. The flip side is using open source software by self hosting it, which would have arguably the same pros and cons as home grown systems, except usually there's a separate development team from it so you (mostly) don't have to work on it yourself, aside from just contributing back some code if you're keen.
Oh yes great point on self-hosted OSS! Like for a long time I used a NextCloud installation to host files and do basic file editing before the maintenance (mostly applying patches) became cumbersome and I shifted to cloud storage providers. I think one of the major tools I still use extensively is Matomo for analytics otherwise with the prevalence of VPS', great OSS, NPM and Composer packages, Docker, etc. it's just become more efficient to use what others have already worked on. Well said π€.
I haven't found updating & maintaining nextcloud instances to be a pain, curious what's the problem for you there? I just hit update and haven't had issues unless my permissions config was stuffed. The only more tedious part I've found with it is moving between hosting providers.
I'm opting to make a repo that collates a bunch of open source software to create a repeatable personal/business cloud. Docker was my first thought but I figured it'll be simpler to manage if I go with Ansible instead as it's made for this sort of thing.
I wouldn't call it a pain, per se, but when I started using Nextcloud, updates would sometimes break things and at one point I just got tired of spending time applying minor fixes although it's definitely been a few years so it's entirely possible things are smoother now - I used it it back when it was a fresh fork of ownCloud. I did use another product called FileRun for some projects and that was a cool experience though it's not OSS. In fact, you've just encouraged me to try out Nextcloud again - what setup would you recommend?
I was a huge fan of Fast.io, too, until they shut down after which I just spun up my own (much less advanced) but similar tool which I now use to serve personal files like files.domain.com. Really do love the Open Source community π!
P.S.: I'd π― be interested in such a repo - don't have much experience with Ansible but it'd be an opportunity for me to learn.
My setup is pretty simple - just using it personally for a small amount of file sync and a few extensions like Deck, the kanban board, and calendar. I believe they also offer it as a snap package now so it's easier to get off the ground on Ubuntu, depending on your opinion of snaps. However I do hear performance tanks and the storage size bloats because of it.
For 1-2 users in this way even the cheapest 512MB RAM server can run just fine. I'm currently on AWS free tier for a few months more because they opened a Cape Town location last year, but for simplicity + long term I think I'm going to go with Hetzner instead as their new cloud offering is cheaper than everything else: 3 euro a month for 2GB RAM 20GB space vs every similar offering being at $5.
As for my Ansible project, I recently made the list of software I'll be using to cover many different use cases. The only thing I've explicitly excluded is CRM because I haven't found one that isn't basically "open source is our stripped down community version to upsell you". In the meanwhile, for a lot of the code related stuff (git, wiki, issue tracking, etc) there is https://phacility.com/phabricator/ which contains pretty much half of the software I want to use here anyway. Similarly there is also https://code.onedev.io/projects/onedev-server/blob that is pretty good!
Woah OneDev looks really slick π₯. However, I'm already hooked into GitHub for all my code needs - used to have Trello boards for issue tracking and Kanban both of which GitHub now supports, thankfully. Same is the case with GitHub Discussions which I actually set up 2 days ago for one of my larger projects and teams.
Fair point about CRM but one which I've bookmarked (though haven't used) is Mautic - looks somewhat more robust than others.
I'll certainly be setting up Nextcloud in the near future, though. Thanks for the detailed replies!