Chris Williams
banner
digiscape.bsky.social
Chris Williams
@digiscape.bsky.social
Technology Director @ https://ProtoFlex.co.uk. Building a next gen platform for personalised care pathways & protocols spanning H&C organisations.

Formerly Software Development Manager @ InfoFlex

https://digiscape.co.uk

#wirral #dev #azure #startups
Razor Pages based SaaS template on GitHub

I've pushed v1 of a quick project I've been playing with which is a template/starter for creating a SaaS in Razor Pages. There's lots of samples that show SaaS based on JavaScript frameworks but I always struggled to find anything that was .NET based on…
Razor Pages based SaaS template on GitHub
I've pushed v1 of a quick project I've been playing with which is a template/starter for creating a SaaS in Razor Pages. There's lots of samples that show SaaS based on JavaScript frameworks but I always struggled to find anything that was .NET based on tackled multi-tenant, billing and allowing users to map to multiple organisations. There's a definite lack of samples in Razor Pages as many have gone down the Blazor route.
www.digiscape.co.uk
December 8, 2025 at 11:59 AM
Working with Claude Code as a code assistant

After experimenting with various chat interfaces I've finally got around to testing Claude Code. I'm mainly working on Windows and full fat Visual Studio so I'm using Claude Code in a PowerShell terminal and VS open along side. It's working really well…
Working with Claude Code as a code assistant
After experimenting with various chat interfaces I've finally got around to testing Claude Code. I'm mainly working on Windows and full fat Visual Studio so I'm using Claude Code in a PowerShell terminal and VS open along side. It's working really well without needing an extension in VS. I'm quite happy just having the two different interfaces open. Claude Code is really quite a different experience to throwing ideas around with the usual chat interfaces.
www.digiscape.co.uk
December 4, 2025 at 8:54 PM
BigBoard has had a few updates

Next in my queue of apps to get a refresh is the BigBoard. I've not done a lot with it recently as it's pretty simple and does what I need - that is, present a year & monthly breakdown of my training mileage across each activity I do. Strava is great for tracking…
BigBoard has had a few updates
Next in my queue of apps to get a refresh is the BigBoard. I've not done a lot with it recently as it's pretty simple and does what I need - that is, present a year & monthly breakdown of my training mileage across each activity I do. Strava is great for tracking current activity and goals but doesn't quite offer the historical analysis I'm interested in.
www.digiscape.co.uk
November 30, 2025 at 8:00 PM
.NET User Secrets failing to load

Upgrading an old app to .NET 10 last night and I moved the DB connection string to a secrets file. When I came to debug it just wouldn't load - what's the issue? It's a tricky one as the set-up all looked right. I had Copilot double check to be sure it wasn't a…
.NET User Secrets failing to load
Upgrading an old app to .NET 10 last night and I moved the DB connection string to a secrets file. When I came to debug it just wouldn't load - what's the issue? It's a tricky one as the set-up all looked right. I had Copilot double check to be sure it wasn't a daft typo! Copilot could see nothing wrong so it took some digging.
www.digiscape.co.uk
November 28, 2025 at 3:59 PM
VS2026 stuck in endless loop restoring packages

I've opened up an old project - untouched in a while and last edited in VS2022. When I open it VS2026 gets stuck in a loop of endless restore cycles. The NuGet UI also stuck in a loading loop so I can't see anything. I tried manually updating…
VS2026 stuck in endless loop restoring packages
I've opened up an old project - untouched in a while and last edited in VS2022. When I open it VS2026 gets stuck in a loop of endless restore cycles. The NuGet UI also stuck in a loading loop so I can't see anything. I tried manually updating packages in the proj file - it builds and runs but still sits running restores.
www.digiscape.co.uk
November 27, 2025 at 5:51 PM
Vibe.NET: Review

Last post for a while - I'll report back if there's progress on the app developing a user base or there's any interesting features or issues. To wrap up this set of posts I thought it worth noting some of the issues I have hit. On the whole, Claude has been great and the…
Vibe.NET: Review
Last post for a while - I'll report back if there's progress on the app developing a user base or there's any interesting features or issues. To wrap up this set of posts I thought it worth noting some of the issues I have hit. On the whole, Claude has been great and the experience was pretty good. I'd like to try an app using Claude Code now to see how it differs but I'm happy with the outputs.
www.digiscape.co.uk
November 26, 2025 at 8:01 PM
A new go-live approaching for ProtoFlex

Nothing focuses the mind like a deadline. The ProtoFlex team are rapidly closing on a go-live for a really interesting project that will showcase a couple of key platform capabilities: Custom protocols to manage pathways Integrated engagement tools to…
A new go-live approaching for ProtoFlex
Nothing focuses the mind like a deadline. The ProtoFlex team are rapidly closing on a go-live for a really interesting project that will showcase a couple of key platform capabilities: Custom protocols to manage pathways Integrated engagement tools to capture assessments directly to the system There's a few other elements like data links with a couple of other systems and a wide range of form designs.
www.digiscape.co.uk
November 26, 2025 at 6:32 PM
Opening Healthcare to Innovation: Time for One Clear Pathway?

Healthcare desperately needs digital innovation, yet the NHS struggles to harness what has transformed every other major sector. The barrier isn't capability or need - it's the regulatory approach. The Duplication Problem A digital…
Opening Healthcare to Innovation: Time for One Clear Pathway?
Healthcare desperately needs digital innovation, yet the NHS struggles to harness what has transformed every other major sector. The barrier isn't capability or need - it's the regulatory approach. The Duplication Problem A digital health solution currently faces bewildering overlapping assessments/reviews/frameworks. I won't go in to detail at this point. Anyone who has been in a health startup will know the issues.
www.digiscape.co.uk
November 26, 2025 at 6:20 PM
Vibe.NET: Introducing DSAR Helper

I've finished the MVP for my vibe coding project - DSAR Helper - a straightforward micro B2B SaaS tool that helps UK small businesses respond to Data Subject Access Requests without the complexity (or price tag) of enterprise compliance software. What It Does…
Vibe.NET: Introducing DSAR Helper
I've finished the MVP for my vibe coding project - DSAR Helper - a straightforward micro B2B SaaS tool that helps UK small businesses respond to Data Subject Access Requests without the complexity (or price tag) of enterprise compliance software. What It Does Under GDPR, individuals can request all personal data a company holds about them. Businesses have 30 days to respond.
www.digiscape.co.uk
November 26, 2025 at 6:10 PM
RacketMate v2.2 deployed

After a new user sign-up gave me a nudge to take another look at the RacketMate experience I've pushed a new version. The original site worked well enough but as it was mainly built for my own use I was happy to look past the rather industrial styling and unfriendly…
RacketMate v2.2 deployed
After a new user sign-up gave me a nudge to take another look at the RacketMate experience I've pushed a new version. The original site worked well enough but as it was mainly built for my own use I was happy to look past the rather industrial styling and unfriendly onboarding. I've given the site a spruce up with some help from Gemini which has seen some improvements to the style, more content to explain what it does and a more interesting approach to presenting data.
www.digiscape.co.uk
November 20, 2025 at 10:49 AM
Vibe.NET: Why is going live so hard?

With this vibe project I've developed a simple but effective tool really quickly and yet I've not actually released it yet. It's so hard to commit to pushing the button as there's always something extra that could be done or a little more testing before you're…
Vibe.NET: Why is going live so hard?
With this vibe project I've developed a simple but effective tool really quickly and yet I've not actually released it yet. It's so hard to commit to pushing the button as there's always something extra that could be done or a little more testing before you're ready to show the world. I've found myself distracted by updating an older app that has been in the wilds for years and attracted a new user (not a rush of users...
www.digiscape.co.uk
November 18, 2025 at 2:11 PM
Vibe.NET: Final Checks Before Launching!

It's quite a simple app I've been building so I think v1 is ready to go. As MVPs go it's quite well polished - I've seen worse looking tools out there with huge user numbers. I've started with activating a live Stripe account. A few tasks still to do which…
Vibe.NET: Final Checks Before Launching!
It's quite a simple app I've been building so I think v1 is ready to go. As MVPs go it's quite well polished - I've seen worse looking tools out there with huge user numbers. I've started with activating a live Stripe account. A few tasks still to do which will probably take longer than the vibe coding has! Set-up the production DB and deploy...
www.digiscape.co.uk
November 13, 2025 at 7:59 PM
Vibe.NET: Stripe Integration

Very rapidly at the final stages of the build. We've got the basic data management in place, identity, account management etc. The final puzzle piece was adding a payment integration. I've always worked on private co software so I've never had to do anything with…
Vibe.NET: Stripe Integration
Very rapidly at the final stages of the build. We've got the basic data management in place, identity, account management etc. The final puzzle piece was adding a payment integration. I've always worked on private co software so I've never had to do anything with payments before. This was one of the key learning pieces I wanted to get out of this side project.
www.digiscape.co.uk
November 12, 2025 at 1:24 PM
Vibe.NET: Claude gas lights me after a data loss!

The danger of blindly following an LLM as you work is that it can sometimes be destructive. I've read posts of people that claim to have had issues in live due to letting AI make changes. That's an issue with the the developer rather than the AI…
Vibe.NET: Claude gas lights me after a data loss!
The danger of blindly following an LLM as you work is that it can sometimes be destructive. I've read posts of people that claim to have had issues in live due to letting AI make changes. That's an issue with the the developer rather than the AI tool as they clearly lacked a good change control process to transition changes to production.
www.digiscape.co.uk
November 11, 2025 at 9:24 AM
Vibe.NET

I've got a much better grip on using Claude within the free limits now. My summary doc has been refined and after each feature I add a note to update where we're up to. I'm quite impressed with how consistent Claude's outputs are considering it doesn't have the source code to refer back…
Vibe.NET
I've got a much better grip on using Claude within the free limits now. My summary doc has been refined and after each feature I add a note to update where we're up to. I'm quite impressed with how consistent Claude's outputs are considering it doesn't have the source code to refer back to. There's odd cases of inconsistent styling or naming of variables which I've opted to fix manually simply because doing it within Claude would use up credit too quickly.
www.digiscape.co.uk
November 7, 2025 at 1:01 PM
Vibe.NET: First issues

I've hit on a couple of issues quite quickly: Claude is quite happy to generate nested forms. It's trying to reproduce a bit of UI where a user has a range of options. In Razor Pages the correct approach is to have multiple submit buttons within the form and use the tag…
Vibe.NET: First issues
I've hit on a couple of issues quite quickly: Claude is quite happy to generate nested forms. It's trying to reproduce a bit of UI where a user has a range of options. In Razor Pages the correct approach is to have multiple submit buttons within the form and use the tag helper asp-page-handler="TargetMethod" to have the form post back to the appropriately named code behind method e.g.
www.digiscape.co.uk
November 6, 2025 at 9:09 AM
How hard is it to vide code with .NET?

Social's are full of people vibe coding side projects and apparently achieving success overnight. Not sure how much truth is in all of those posts but I've seen some really interesting apps appear. It's great to see people building. Whenever I've tried the AI…
How hard is it to vide code with .NET?
Social's are full of people vibe coding side projects and apparently achieving success overnight. Not sure how much truth is in all of those posts but I've seen some really interesting apps appear. It's great to see people building. Whenever I've tried the AI tools they all favour producing apps in React with a sprinkling of Shadcn. It all looks great and if you want to deploy instantly to Vercel or Supabase you're well served.
www.digiscape.co.uk
November 5, 2025 at 5:36 PM
.NET needs better starter templates

It's fascinating when I look at the huge range starter templates for e.g. SaaS products that exist for js based frameworks. By contrast, .NET is really quite poorly served. There's plenty of examples of using .NET identity but out of the box it doesn't really…
.NET needs better starter templates
It's fascinating when I look at the huge range starter templates for e.g. SaaS products that exist for js based frameworks. By contrast, .NET is really quite poorly served. There's plenty of examples of using .NET identity but out of the box it doesn't really handle the concept of user 1 setting up an Account/Org/Tenant and then being able to invite other users.
www.digiscape.co.uk
October 28, 2025 at 3:26 PM
Kicking off a new customer project

Short post this week as much to do... For anyone starting up a business there's no better feeling that starting up a new customer project. Every new customer represents both a validation of what you've built so far and also a chance to refine the offering of spot…
Kicking off a new customer project
Short post this week as much to do... For anyone starting up a business there's no better feeling that starting up a new customer project. Every new customer represents both a validation of what you've built so far and also a chance to refine the offering of spot new opportunitues. In the health market the project lead times are long. You can't just pull the lever on some extra ad spend or write some social posts and see customers flock in as you might with a vibe coded SaaS.
www.digiscape.co.uk
October 19, 2025 at 12:39 PM
Why I’ve returned to Zwift from MyWhoosh for Winter 25/26

I've come back to Zwift in the last couple of weeks after spending most of the year on MyWhoosh. I have to say it's great to be back! Like many, I jumped off Zwift during the last price increase. To be honest I don't think it's over priced…
Why I’ve returned to Zwift from MyWhoosh for Winter 25/26
I've come back to Zwift in the last couple of weeks after spending most of the year on MyWhoosh. I have to say it's great to be back! Like many, I jumped off Zwift during the last price increase. To be honest I don't think it's over priced as a service - it's probably about right. It's simply in the middle of the cost of living crisis and considering the increases I was seeing over lots of services I needed to pull back on the spending and Zwift had a viable alternative.
www.digiscape.co.uk
October 12, 2025 at 9:30 AM
Forcing Test Order in NUnit: The Essential Namespace Trick

Ever needed to run your NUnit tests in a specific sequence? While generally discouraged for unit tests (they should be independent!), sometimes integration or end-to-end scenarios require a defined execution order. NUnit provides the…
Forcing Test Order in NUnit: The Essential Namespace Trick
Ever needed to run your NUnit tests in a specific sequence? While generally discouraged for unit tests (they should be independent!), sometimes integration or end-to-end scenarios require a defined execution order. NUnit provides the attribute, but you might find it doesn't work across your entire test assembly if your tests are scattered across different namespaces. Here's the crucial trick: Tests must share a namespace for the…
www.digiscape.co.uk
October 8, 2025 at 2:45 PM
Running Integration Tests in Azure DevOps with a SQL Database in a container

I noted a post on LinkedIn that demonstrated the idea of hosting a DB in a Docker service container as part of a pipeline to enable integration tests to run. This was really interesting for me as I didn't realise how…
Running Integration Tests in Azure DevOps with a SQL Database in a container
I noted a post on LinkedIn that demonstrated the idea of hosting a DB in a Docker service container as part of a pipeline to enable integration tests to run. This was really interesting for me as I didn't realise how easy* this is to do. I can recall headaches in a previous role around test coverage & our group audits flagging up a risk with our product because our test coverage was not reported centrally.
www.digiscape.co.uk
October 7, 2025 at 4:35 PM
Resolving external monitors flashing black/distorted with HP laptop

I've had an issue with the new HP Envy laptop, or to be a little more accurate, the two external monitors it's driving via a G5 dock. All seemed well on initial set-up and use. I noted a monitor flash black and then resume early…
Resolving external monitors flashing black/distorted with HP laptop
I've had an issue with the new HP Envy laptop, or to be a little more accurate, the two external monitors it's driving via a G5 dock. All seemed well on initial set-up and use. I noted a monitor flash black and then resume early on but I was running lots of software updates so assumed a driver update was the cause.
www.digiscape.co.uk
October 6, 2025 at 2:44 PM
Reposted by Chris Williams
The ProtoFlex team are at ASCAT Conference this week. Engaging with clinicians and industry and introducing our work to develop a dedicated patient management system for all involved with Sickle Cell and Thalassaemia. protoflex.co.uk/news/ascat_2...
ProtoFlex Supporting Haemoglobinopathy - ProtoFlex Software
Integrating Care Pathways and transforming experiences in Health and Social Care Services. Bringing together patients and care professionals within a digital health ecosystem. Managing and sharing car...
protoflex.co.uk
October 3, 2025 at 10:34 AM
Testing push notifications in PWAs (Part 2)

It turns out that I'd made an error picking a lib. The lib I'd selected was a little old and not friendly with iOS. A quick update and code tweak to use the better supported Lib.Net.Http.WebPush has done the trick. My original code was using some async…
Testing push notifications in PWAs (Part 2)
It turns out that I'd made an error picking a lib. The lib I'd selected was a little old and not friendly with iOS. A quick update and code tweak to use the better supported Lib.Net.Http.WebPush has done the trick. My original code was using some async calls which apparently Apple doesn't like as it can't confirm that the code is running from a user gesture.
www.digiscape.co.uk
October 2, 2025 at 6:43 PM