FAQs
(I don't really know if these are frequently asked, they're just things I think people might ask).
I liked the sound of it, and the domain was available. Originally it was going to be called Pebble CRM, but it turns out somebody already did that and registered the domain I wanted the same month as I started building it. That'll teach me.
Mainly the problem of demonstrating that I know how to build software that solves a business problem. Which may or may not be circular reasoning, but it was also a way of using the (quite expensive) Developer Express subscription that I pay for every year.
Yes. Well, probably. It depends on exactly what you want (and how busy I am), but if you need a way to record, manage, and analyse some sort of data then yes, I can almost certainly build something that would work for you.
As a rough guide, it took me around 3.5 - 4 weeks to build Tide CRM. As long as what you need fits into that type of framework, and you can articulate your requirements accurately*, a system of similar complexity should be possible to build in the same time.
There are limitations, of course, because application frameworks make a lot of trade-offs; building software is partially the art of deciding what trade-offs to make in a design to make it work appropriately for the scenario.
Building something like this from scratch - even using pre-built components - that can scale to hundreds or thousands of users would take much longer. Similarly, any customised functionality needs to be properly defined, scoped, and estimated. You don't want to be left with a system that doesn't do everything you want, and I don't want nasty surprises or changes in scope at the last minute.
If you'd like to discuss this, send me a message via the contact form (opens in a new tab).
*Most people are surprised by how difficult it is to do this in a way that can be translated into requirements for a software system. There's a reason good business analysts are paid a lot of money.
I build applications in C#.NET (that's "C sharp dot net", if you're unfamiliar), and have used ASP.NET, ASP.NET Core, MVC, Blazor, WebAPI, SignalR, Web Forms, Windows Forms, and Windows Communication Foundation commercially. I've helped to maintain systems written in VB.NET, and have experience migrating Visual Basic 6 applications to .NET Framework and above. I've worked with .NET (Framework) since the very first version, and with .NET since version 5 (which was the very first version of .NET that wasn't Framework). Confused? That's OK, Microsoft's versioning appears to be designed to confuse, so it's doing its job.
I also have a lot of experience building websites with Umbraco (including this one), and plenty of experience with HTML, CSS, JavaScript, and jQuery; I've also built back office packages for Umbraco, although these were all built for clients so aren't available publicly.
On the database front, I've used SQL Server, MySQL and Postgres as data stores, and I'm familiar with MongoDB and the idea of NoSQL and Document databases in general.
I've built systems across a variety of industries, including FMCG, travel, automotive, local government, and entertainment.
I've also migrated some extremely large websites to Umbraco, sometimes from entirely undocumented systems, which is exactly as much fun as it sounds.
Now that you mention it...
Systems analysis.
Object Oriented design principles (SOLID, DDD etc).
Database analysis & design.
API design & implementation.
Azure - function apps, logic apps, Front Door, Application Gateway, Web Application Firewall, Web Apps/App Services (whatever MS is calling them now).
Umbraco migrations/upgrades.
Umbraco website builds (this site was built in Umbraco using a modified starter kit, but I've migrated, maintained, and upgraded some extremely large and complex Umbraco sites for clients).
As with most independent software developers, if I need to learn something then I can usually do so quickly, but the above is where I can add most value.
Not yet, but one is included with the project and I will be adding the ability to submit and retrieve data via the API.
No, both this site and the CRM associated with it were crafted with my own fair/grizzled* hands and brain. Depending on what you mean by "Vibe Coding", it would be quite hard for me to do that; the most common definition I've seen is somebody that has no development experience using an LLM or specialist AI to build a system for them, and that would be hard for me to do since I have quite a lot of development experience.
No I did not, but I did use copilot to do some of the grunt work like creating business classes, because it's built into the development environment and it's hard to avoid it, and it does save time for simple tasks. It generally does not save time for complex tasks so I ignore it when it tries to do those; it's easier to review my own code that something written by an AI, plus my code actually compiles.
Tide CRM was built with the eXpress Application Framework (XAF) from Developer Express, in C#.NET, other than the KanBan boards, which are Developer Express client-side components that are not integrated into the framework and which I integrated myself.
*delete as appropriate, depending on how you'd like to picture my hands.
No. I will build it for cold hard cash, based on the amount of time it takes.