Dan Stanhope
Head of Development | ExpertFile
I've been working in software for 15+ years now and loving it. Most recently as head of development at ExpertFile.
Recent Posts
Here are some posts I've written in the past. Hope you like 'em!See All
![](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F232ecofx47i7dqbjz0s1.png)
Generate a PDF & upload to S3 using AWS Lambda & Puppeteer.
I've put together a working project that'll take all of your dev.to posts, create a .pdf and upload...
![](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fodcpwsa8klkmd59z1j69.png)
What's Automatic Batching? React 18 feature explained
Learn how changes to automatic batching in React 18 can improve your app's performance
![](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1rs6o6sjiv9r7f6jyf78.png)
Building a Compound Interest Calculator using Chart.js + Next.js
Next.js, TypeScript and Chart.js. Build using React Context.
![](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fswp46lt1cg2ikwsi05xx.png)
Twitter Authentication using Supabase + React + Redux + Typescript
As the title of this post suggests, we're going to be building a small React + Redux app that'll...
![](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F01n0dpvpvd2kgloa8542.png)
![](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F740tjntslqi6vq23tbgu.png)
Update your mapping & reindex ElasticSearch easily...well, pretty easily
Update your ElasticSearch mapping and reindex data easily
![](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mpizmgshnh7ifugtitg.png)
Migrating DynamoDB data using Lamba + Streams
Use DynamoDB to modify pre-existing records so they can be written to the event stream and consumed by Lambda
![](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhyhihepvak1ih3xhbw1s.png)
React file upload using S3 pre-signed urls
Tutorial project on how to generate pre-signed s3 upload urls using cloudformation, lambda and react.
Featured Repos
Code I've written as part of my tutorials.See All
react-compound-interest-calculator
Building a Compound Interest Calculator using Chart.js + Next.js
supabase-twitter-authentication
Tutorial on Twitter Authentication using Supabase + React + Redux + TypeScript
react-upload-pre-signed-s3-urls
Tutorial project on how to generate pre-signed s3 upload urls using cloudformation, lambda and react.
migrate-data-dynamodb-streams-lambda
Use DynamoDB to modify pre-existing records so they can be written to the event stream and consumed by Lambda functions.