Iain Rundle

Portfolio

Three small apps, built and run end to end.

I designed, built, secured and deployed each of these myself. They share one AWS Lightsail server behind nginx, each with its own user, service, certificate and secrets. The demos below run in your browser on made-up data, so click around.

  • Node.js
  • Python / Flask
  • nginx + Let's Encrypt
  • systemd sandboxing
  • GitHub deploy keys
  • Google APIs
Iain Rundle

About me

I have never really stopped learning. I may not write code these days, however I have managed multi-skilled teams using various technologies and methodologies. I am always curious and wanting to learn. Over the years that has meant a Masters from Henley, DevOps, ISTQB and COBIT 5 certifications, and most recently a Professional Coaching and Mentoring Diploma.

I have grown IT teams from small to large, and I am just as passionate about people as I am about technology. I volunteer as an external coach and mentor on a coaching panel and have various private clients.

Two of the three projects below started with problems that were driving me insane. I like building things and seeing where they go, so all three keep changing with new features and new looks.

Projects

Drive to CSV

Turn a Google Drive folder into a spreadsheet of everything inside it.

What it does

I built this because I was struggling to see what was in my Google Drive folders on the cloud (the folders were large and I didn't have time to sync them back to my drive). There was no easy way to get a list of the folders and files at a good price, so I made one.

You sign in, pick one or more folders and the app works through every sub-folder. It shows a colour-coded tree with file counts and sizes at each level. Then you can export the lot, or just one branch, to CSV. It only reads metadata, so it can't open or change your files.

  • StackNode.js, Express, Google Drive API
  • Sign-inEmailed 6-digit code, then Google OAuth
  • Scopedrive.metadata.readonly
  • HostingOwn systemd service and nginx site

How it works

  1. VerifyEmail code
  2. PickChoose folders
  3. ScanWalk the tree
  4. ReviewSizes & counts
  5. ExportCSV download

Screens

drivecsv.duckdns.org demo, dummy data

Steward Watch

Weekend shift sweeps from a job board, synced straight into Google Calendar.

What it does

There was no easy way on the existing site to see by days, easily view and see summarised selections. It logs in to a stewarding job board and checks the upcoming weekend shifts. It works out which ones you've applied for, been scheduled on or declined.

Then it keeps a Google Calendar up to date. New shifts go in, changes get updated and anything you've declined comes out. You still apply and decline on the job board itself. Each run ends with a report you can scroll through, and it shows the criteria that run used.

  • StackPython, Flask, Google Calendar API
  • UsersSeparate logins, each with saved invitees
  • SecurityRe-enter password after 30 min idle
  • ExtrasInstallable PWA and Android build

How it works

  1. Log inBoard account
  2. SetDates & invitees
  3. SweepRead shifts
  4. SyncCalendar diff
  5. ReportScrollable view

Screens

stewardwatch demo, dummy data

LogisticsPro

Shipment tracking with daily report uploads and variance checks.

What it does

This was triggered by a random conversation, I wondered if I could do it.

LogisticsPro tracks shipments and the daily Excel reports that come in for them. Signing in takes two steps, a password and then a code sent by email.

You create a shipment and upload each day's report against it. The app checks every tab and compares the mine weight with the weight received at port. Each line ends up as received, in transit or a variance. You can follow progress from one upload to the next, jump to the variances and open any tab to see its rows. When everything has arrived you close the shipment and it becomes read-only.

The whole thing can be torn down and rebuilt from scripts.

  • StackNode.js, Express, server-side sessions
  • Sign-inPassword + emailed one-time code
  • UploadsExcel daily reports, checked tab by tab
  • DeployGitHub pull, health check, auto rollback

How it works

  1. Sign inPassword + code
  2. CreateNew shipment
  3. UploadDaily report
  4. ReviewVariances
  5. CloseRead-only

Screens

logisticspro.duckdns.org demo, dummy data

Contact

Get in touch

Send me a note about a role, a project or any of the work above. It comes straight to my inbox and I'll reply to the address you give.

Your email is only used to reply to you. Nothing is stored on this site.

0 / 2000