Hello, I'm Kris Dyson

I'm a freelance software engineer and technical architect based in Bristol, UK with nearly 20 years' experience.

I have nearly 20 years' experience in developing software for the web, whether that's websites, Web APIs, Umbraco CMS solutions or Azure app services. I also develop native mobile apps for iOS and Android.

I'm a full stack software engineer and technical architect with nearly 20 years' experience in the Microsoft .NET and Web stack.   I have a passion for technology and this is exemplified in the diversity of my skillset.  Since the mobile revolution started circa 2009, I'm adept at developing mobile / tablet apps across the Apple and Android platforms.   Having an excellent track record of delivering quality software, I deliver on schedule and on budget.   I take pride in my work and thoroughly enjoy working with clients to make beautiful solutions both visually and architecturally.  My broad skills are in technical architecture, business analysis, team leadership and, of course, software engineering.

I also come armed with a Distinction in my Master's degree in Software Engineering.

Experience & expertise

Experience summary
  • Bespoke CMS development with Umbraco
  • Distributed application architecture
  • Test-driven development using Moq and NUnit to facilitate QA
  • Follow SOLID principles, especially Separation of Concerns
  • Service-oriented architectures
  • 12+ years of Agile/SCRUM SDLC
  • CI/CD often within VSO build pipelines
  • Integration with payment gateways such as PayPal, WorldPay, Stripe and SagePay
SDKs, frameworks, platforms & tools
  • ASP.NET Framework / Core
  • Umbraco
  • Azure; notification hub, app services, storage and service bus
  • .NET Framework 4+ / Core 2.0
  • Messaging / MSMQ / PubSub
  • JavaScript Single-page Apps; Knockoutjs/Angular + jQuery
  • NoSQL; Lucene.NET, DocumentDB
  • SQL Server /Azure
  • Redis
  • MS Universal Windows Platform
  • iPhone and Android native apps
  • JIRA and VSO
  • Git - all the way :-)
  • Grunt/bower

Languages

  • HTML, CSS, JS, SASS, LESS
  • C# .NET (+ VB occasionally)
  • XML/XSLT
  • SQL (mainly T-SQL)
  • XAML (UWP)
  • Objective-C

Examples of my work

Most of the projects I work on are under a Non-Disclosure Agreement, hence here is a selection of projects that I am able to showcase.

OriginalDating.com (Umbraco CMS)

The Business Refinery ltd own and run one of London's top speed dating companies. They have been my client for over a decade.  In summer 2015, I developed a re-design of their website to make it responsive and upgrade Umbraco to version 7.  The layout is fluid and works across all modern browsers on desktops, tablets and mobiles.  I also migrated their blog4Umbraco package to uBlogsy; this was a little tricky as this cannot be reliably done with any  pre-existing tools. My solution was to write a tool which used the Umbraco APIs to migrate the content.  Unfortunately some URLs had to change, which could have affected SEO, so I also ensured the necessary SEO-friendly redirects were in-place.

Mixeo (native mobile apps)

Mixeo is an app that augments OriginalDating's speed dating experience. It allows users to purchase tickets for events, enables messaging between people who have matched and whilst a user is attending an event, they can press 'yes, 'no' or 'friend' immediately after having met someone. I wrote Mixeo for iPhone, Android and Windows Phone, using Xcode / Objective-C, Eclipse / Java and Visual Studio / C#/XAML. The Web APIs are hosted on Microsoft Azure in a web app and are written in C#.

The app uses the native Stripe mobile SDKs for iOS and Android. For the Windows Phone app, I created a custom mobile browser plug-in due to the lack of a WP SDK.

Spondle.com & mobile apps

Spondle was an event search engine with a website and apps on Android, iPhone, iPad, Nook and Windows Phone.  Microsoft commissioned me to write the Spondle app for Windows 8.1. Spondle.com is a Single-Page-Application that uses HTML5 / KnockoutJS and ASP.NET Web API.  I wrote all apps using their respective native technology stack, i.e., Objective-C, Java, C#. Spondle stores data in SQL Server, but indexes the data in Lucene for very fast in-memory query and aggregation. Spondle also has a background Azure Worker Role that indexes events from various sources on the web.  As indexing event data from the web is difficult, it's architected using the Pipes and Filters pattern as each data source has very specific problems that need to be solved, e.g., hierarchical data sources need to be flattened, data needs to be transformed into a homogeneous queryable format (in this case SQL CE DB), a web source needs to be crawled, text encodings need to be harmonized, HTML needs to be converted to XHTML, and XSLT needs to transform the XHTML into a simpler XML format.

Contact Me

You can reach me via email: Feel free to call me on +44 (0)1172302659.
Or, please use the form below and I'll get back to you ASAP.