I build iPhone apps and web applications in NodeJS, Objective-C, and Swift.

All Posts

Animated Ghost Giving Out Candy: Trick or Treat!

I’ve always wanted to build a Halloween monster that would give out candy. This year was perfect since we were all trying to “socially...
Josh
1 min read

Building a Treehouse: My Pandemic Project

In June, TikTok tricked me into thinking I could do woodworking. I made some floating shelves and only cut myself badly once. ;) For...
Josh
5 min read

DIY Floating Bedside Shelf

This is embarrassing. I downloaded TikTok a few weeks back and was quickly sucked in to its maniacal algorithm. Apparently I’m a sucker for...
Josh
42 sec read

Bumblebee Transformer Costume Prototype

It’s the middle of June, so of course my kids are waist deep planning their halloween costumes. Apparently a $20 Amazon costume won’t cut...
Josh
25 sec read

How to Upload Photos to Instagram With The Highest…

It never fails. I spend hours building a nice graphic, post it to instagram, and their compression adds a ton of JPG artifacts destroying...
Josh
2 min read

Maybe It’s Time to Retire Mathematical Notation

I was helping my nephew with some math homework and he was stuck on a nasty looking formula. I explained it for several minutes,...
Josh
4 min read

Direct S3 File Uploads for NodeJS

I’m on a mission to document the most challenging parts of software development. Client side uploads to S3 is absolutely top 5. Navigating AWS...
Josh
3 min read

Should I use Mongo or SQL?

5 years ago I co-founded iScout.com – a SAAS which now collects millions of safety reports and training completions. For weeks I struggled to...
Josh
5 min read

Facebook Authentication for NodeJS

For some reason, OAuth always seems overly complicated. Documentation stinks and errors are vague. Abstractions like Passport.js add a mountain of complication while barely...
Josh
1 min read

Google Authentication for NodeJS

Nothing makes me sweat like OAuth. Documentation is sparse and errors are cryptic. Libraries like Passport.js just add a poorly designed abstraction to an...
Josh
2 min read