Skip to content

About

Portrait of Jonathan Kay

I’m a senior full-stack developer at The iCentric Agency (opens in new tab), building enterprise CMS sites, high-traffic booking platforms and AI tools for clients in hospitality, engineering and international development.

I work across the whole stack, from .NET and SQL back ends to Astro and React front ends and the AWS infrastructure behind them. I enjoy taking products from proof of concept through to production, and looking after them once they’re live.

Away from the keyboard you’ll find me hiking, playing the drums (or trying to), or engrossed in a good puzzle game.

Skills

  • Back end

    C# · .NET · Node.js · Python · ASP.NET MVC · Entity Framework · Dapper · REST & SOAP APIs

  • Front end

    Astro · React · TypeScript · Tailwind CSS · JavaScript · HTML & CSS · Accessibility · React Native

  • Data & search

    SQL Server · MySQL · PostgreSQL · OpenSearch · Aurora / RDS · DynamoDB · BigQuery · Elasticsearch

  • Cloud & DevOps

    AWS · Azure DevOps · GitHub Actions · Git · Lambda · Elastic Beanstalk · S3 & CloudFront · SQS & SNS · Cognito · CloudWatch

  • Integrations & CMS

    Stripe · Sanity · Auth0 · HubSpot · SiteMinder · Clerk · Google Maps · Sentry · SEO & structured data

  • AI

    OpenAI API · Claude Code · Retrieval-augmented generation · MCP

Projects

.NET 6 MVC

Android

  • PrePlay logo

    A metronome that counts you in before a track starts, so you’re ready with your instrument.

Bug Tracker

  • Bug Tracker logo
  • Bug Tracker dashboard
  • Bug Tracker ticket details, with comments and activity history

A tool for reporting and tracking bugs across software projects.

A multi-company, role-based security system controls which pages and actions each user can access. Demo accounts let you explore the app without changing any data.

Built with ASP.NET MVC, C# and PostgreSQL, with a Bootstrap-based front end, hosted on AWS EC2 via IIS.

  • C#
  • ASP.NET MVC
  • PostgreSQL
  • AWS

Movie Pro

  • Movie Pro logo
  • Movie Pro home page
  • Movie Pro admin page for managing collections

Pulls film listings live from the TMDB API, such as upcoming and now playing, and stores a selection in SQL as custom collections.

Admins can import films from TMDB and build and edit collections, behind role-based security. A demo admin login shows the admin pages without saving changes.

Built in about two weeks of evenings and weekends with ASP.NET MVC, C# and PostgreSQL, hosted on AWS EC2 via IIS.

  • C#
  • ASP.NET MVC
  • TMDB API

Lottery Stats

  • Lottery Stats logo
  • Lottery Stats common numbers
  • Lottery Stats common and absent numbers

Imports National Lottery draw results from CSV, stores them in PostgreSQL and works out the statistics behind them, such as the most common and longest-absent numbers.

Role-based security means only the site admin can trigger a draw-data update.

Built with ASP.NET MVC and C#, with a Bootstrap-based front end, hosted on AWS EC2 via IIS.

  • C#
  • ASP.NET MVC
  • PostgreSQL

Developer Blog

  • Developer Blog logo
  • Developer Blog home page
  • Developer Blog create post page

My notebook of snippets and findings from learning software development.

Anyone can sign up to comment. Moderators can manage comments, and only admins can create blogs and posts.

Built from scratch in just over a week with ASP.NET MVC, C# and PostgreSQL, hosted on AWS EC2 via IIS.

  • C#
  • ASP.NET MVC
  • PostgreSQL

PrePlay

  • PrePlay logo
  • PrePlay metronome and music player
  • PrePlay count-off settings

An Android app for music rehearsal and performance. Its metronome counts you in before a track starts, giving you time to get ready with your instrument.

Built in Android Studio with Java, C++ and XML, using a modified Kotlin library.

A companion website hosts a guide to the app, linked from inside it, with a step-by-step tour built using Shepherd.js.

  • Java
  • C++
  • Kotlin

Experience

  1. Feb 2026 – Present

    Senior Full-Stack Developer · The iCentric Agency (opens in new tab)

    Building and running booking, search and content platforms for agency clients, across .NET, Astro and AWS.

    • Booking platform for a major hotel chain: Astro and React front end, .NET booking service, Stripe payments and SiteMinder integration.
    • Lead-generation SaaS with Stripe subscription tiers, Clerk auth and multi-CRM sync.
    • Moving an international development organisation’s site from .NET to Astro and Sanity.
    • Astro
    • React
    • TypeScript
    • C#
    • .NET
    • AWS
    • Stripe
  2. 2022 – Feb 2026

    Web Developer · The iCentric Agency (opens in new tab)

    Joined after moving into software from acoustics, working across the stack on enterprise sites before being promoted to Senior.

    • Took a hotel booking engine and price finder from proof of concept to high-traffic production.
    • Multi-region CMS site for a global engineering consultancy, with Cognito SSO and Elasticsearch-powered search.
    • Migrated the agency’s in-house .NET CMS from SQL Server to MySQL, rewriting data access with Dapper.
    • Built a retrieval-augmented AI chatbot on AWS Lambda with the OpenAI API.
    • C#
    • .NET
    • SQL Server
    • MySQL
    • Elasticsearch
    • AWS
    • Azure DevOps
2013 – 2022 Previous career: Acoustics consulting Nine years across three firms, rising to Principal Consultant. It’s where I started writing code to automate data processing.
  1. 2019 – 2022

    Principal Acoustics Consultant · GL Hearn (Capita)

    Major developments and infrastructure projects. Wrote VBA and Python tooling to process large volumes of data, including for HS2, and mentored junior staff.

  2. 2016 – 2019

    Senior Acoustics Consultant · Cass Allen Associates

    Built a macro-driven spreadsheet for site test data that saved an estimated 1–4 hours per project, every week.

  3. 2013 – 2016

    Acoustics Consultant · Capita

    On-site testing, environmental and architectural acoustic assessments, and data processing.

Education

  1. Degree

    BEng (Hons) Audio Technology · University of Salford

    First Class

    Final-year project: Headphone Awareness. A system that used speech recognition techniques and neural networks to make headphone users aware of potentially beneficial external sounds, via the device’s built-in microphone. Developed in MATLAB and Xcode (C++ and Objective-C).

    • Application of programming (C#)
    • Programming for AAV (C++)
    • Digital Signal Processing (MATLAB)
    • Speech Technology (MATLAB)
    • Mathematics
  2. Online courses

    Coder Foundry

    • The Complete .NET Coding Bootcamp

    Codecademy

    • Learn C# Course
    • Learn JavaScript Course
    • Build a Website with HTML, CSS, and GitHub Pages Skill Path
    • Learn the Basics of Android Course
    • Code Foundations Skill Path

    Tim Corey

    • Create a C# Application from Start to Finish: Tournament Tracker

Contact

Got a project, a role or a question? I’d like to hear about it.

© 2026 Jonathan Kay · Built with Astro & Tailwind