Chris Schofield

Chris Schofield

Full Stack Developer

Who Am I?


I'm a 28 year old full-stack developer from Scotland living in Edinburgh.
I work primarily in web but love to delve into native projects. I've built software since I was 12 years old and still haven't found anything I enjoy nearly as much.
I build software in Typescript, Javascript, Java, Swift and PHP primarily and dabble with a good number more. I build native software for iOS, Android and MacOS, and modern web software, preferring a stack comprised of NextJS for static generation and a Serverless microservice framework for the backend, both using Typescript.
Me!

My Work


Grid Item

I am still writing case studies and finishing some open source projects.

Check back again soon.


How is this site made?


Commit Changes

Once the code has been updated, has been linted and is accompanied by tests, it is committed to Github on a release branch.

This triggers a Github Action workflow, which pulls an NodeJS environment image and compiles the Next.js application.

Prepare Changes

Once the application has finished compiling the Serverless Framework CLI compiles a CloudFormation change list and commences deployment to my AWS environment.

All changes are atomic, so if any issues arise it gracefully will roll back without interruption of service.

Deployment

Serverless publishes the changes. Dynamic Pages and API Route functions are transformed into lambda functions or, if possible, statically generated and published to an S3 Bucket, for improved performance

CloudFront is updated, and caches are invalidated. The website should now be ready to be visited.

User Visit

A user requests either a page or an API route. The request goes to CloudFront where it either serves a cached copy of the response or sends it on to Lambda@Edge.

Lambda@Edge computes the response, lightning fast, at a server close to the geographical origin of the request, ensuring rapid response, and saves the response to the cache on CloudFront.

Next.js
Github
Next.js
Github