Turn your sound on. This tape talks.

Pick up the pencil.
Scroll to unwind.
I ship a lot, hope
you're a good listener.

This is, Sharn. I build things. This one's mine.

The Story So Far

Waterloo
Tape 01

Tape 01

Hey stranger... welcome to Sharn's story, in Sharn's words. I'm Sharn, a developer from Waterloo, Ontario. I write code for the web... and I've been doing it since before I knew it was a job. My first program was a webpage with a marquee tag and a visitor counter. It got eleven visits. Ten were me. Grow up curious, and everyone wants exactly one thing for you: a sensible plan. I had other plans. Well... I actually have a sensible plan now. But we'll get to that.

Where it all began

Yes, that Waterloo

Java
C++
JS?!
Tape 02

Tape 02

Hear me out... building for the web was never the plan. I swear. When you start out, there are only two doors: Java... or C++. I tried both. Yeah. Both doors. But turns out there was a window. It was called the browser. Fun fact: my first real project was a to-do app, like everyone else's. Most people stop at the to-do app. I added a backend, then a login... then a bug that logged everyone in as me. I knew nothing, and I almost shipped it.

The first two didn't stick

Two languages, one browser

8,000 lines
Tape 03

Tape 03

8,000 lines of code, in a codebase I had only seen in screenshots. And you know what screenshots skip? The most important parts. Nobody warns you about the move from tutorials to a real repo. Nobody teaches you to navigate a ten-year-old migrations folder. Culture shock was very real. But I made it. Clean... and with tests.

8,000 lines from the tutorial

Clean, with tests

Junior
Tape 04

Tape 04

Like every junior on the team, I worked the support queue to fund my weekends. Well, basically the IT desk... but for our own product. Code was my second favourite part of the job. You know what the first was? It was the customers who came in fighting with our app. I'd fix their issue in five, and then we'd talk for another thirty minutes. I love talking to people to solve their problems. Eight months in, I was running the on-call rotation... and I still took those calls. I also noticed that nobody read our release notes. But everyone read the little banner inside the app. So you know what? I put the release notes in the banner. We got what we needed. Best ad space on the product, and it came with a close button.

First job and a ticket queue

Stayed for the reviews

Standup
Tape 05

Tape 05

My first big project was a design system, with a team across three time zones. Well... my meeting attendance was the bare minimum, because I was busy building, pairing with people, and getting lost in Figma files. You could say I was studying cross-functional communication... in the field, and it was totally worth it.

Bare minimum meetings

Present, technically

Prod
Tape 06

Tape 06

Then came the big rewrite... and the second biggest risk of my life: a one-way migration to production. One way because... I don't know, a rollback plan felt like a plan. And guess what, I discovered feature flags, made the best mistakes, and moved the whole thing over... on a Friday night. The most terrifying time of my life. Well, my manager does not need to hear about this.

A one-way migration

Manager, don't read this

Mentor
Tape 07

Tape 07

My next role came with a side quest: mentoring interns through their first pull requests. If you think tech leads ask hard questions, try a room full of interns. We built a small app together, and it was so much fun.

Intro to code, for interns

Tougher than tech leads

Stable job ?
Tape 08

Tape 08

I promised my parents I'd get a stable job... and I did. Today I'm a full-stack developer, working on things that real people use every day. So yes, the kid with the marquee tag now has a stable job. And yeah, my resume's very, very proud of me. But remember when I said production was the second biggest risk of my life? Well... this is the first. Everything the sensible plan asked for, I already have it. And I'm still sending you this. Because what I love is building things that make people's days a little easier, and I want to do that for you.

The biggest risk is this one

Resume's very proud

Bonus
Tape 09

Tape 09

Thank you... for the ones who actually stayed until the end. Here you go: the source code for this site. Pencil, cassette, tape and all.

Bonus track

No refunds

My favourite thing I've shipped,
for your consideration.

yes, the demo worked on the first take

Still from the product demo

Me on GitHub

Not on my resume, but it should be.

Pushed.
Broke prod.
Pushed again.

01 / 06

ReviewSpot

Kotlin, all the way down.
Pushed April 2026.

View on GitHub ↗
02 / 06

TravelBuddy

Swift. Trips, their details and expenses, over a REST API with data persistence.

View on GitHub ↗
03 / 06

WeatherApp

Swift. One page: your location, and the weather there, from a REST API.

View on GitHub ↗
04 / 06

eat-n-split

JavaScript, CSS and HTML.
Pushed October 2026.

View on GitHub ↗
05 / 06

MoodSync

Java.
Pushed April 2026.

View on GitHub ↗
06 / 06

ChitChatApp

Kotlin.
Pushed June 2025.

View on GitHub ↗

GitHub.LinkedIn.

Sharn as a child

I've always been better at building.

Some people plan on paper. I build to find out.

I grew up on HTML in a notepad and switched to JavaScript in grade 9. Then came TypeScript at work, React on a deadline and Go on a dare. Five languages, and I've been told I over-engineer in all of them.

I've shipped to real users, run an on-call rotation, and once put the release notes inside the app to get people to read them. It worked.

So building for the web makes sense to me. Most products ship faster than they're understood. I'd like to help build the parts that people actually feel.

Sharn at work

That's the tape so far.
You were a good listener. Your turn.

Talk to me