Wildflowers in epoxy resin with NFC

I’ve been wanting to experiment with epoxy resin for awhile and I finally found some wildflowers from the local forest Preserve that I run in frequently. They made the perfect subject to create a balanced and visually stunning composition.

I also wanted to add a technical touch, so I embedded in the bottom layer of the epoxy a NFC chip. See the video below!

NFC in action. Most Android phone / iPhone XS and later support background tag reading.

Process:

Resources:

https://www.artnglow.com/blogs/news/7-steps-to-a-bubble-free-and-flawless-cure

Products used:

Porsche kiosk POC, iPad app developed in Swift

Related Post

Fresh off of building PTSExplorer.com I had some inquires about building an adaption for a kiosk or exhibition. I was excited by the challenge and below is what I built in a night to show my vision of what that could look like.

The iPad app uses the didConnectNotification from UIScreen to detect when a secondary screen is connected, via HDMI or AirPlay. Once a second screen is detected at runtime I programmatically create another window with a root view controller from a storyboard.

Misc Projects over the past few years.

SnapChat Filter for my daughter’s first birthday.
Coffee mug I designed to commiserate the release of a major Android app at Walgreens. Illustrations on the back were done by the amazing Enrique Sanchez.
Animation I was working on for More cupcake app, never finished but always loved it.

Model train crossing/bridge controller using an Arduino Mega using C/C++

One of my favorite things about the model train hobby is getting to experiment with my love for hardware and code. One day I was playing with a crossing system I bought from a big retailer and quickly became frustrated with its shortcomings, I literally had an “ah hah” moment when I realized I could create my own, pretty easily.

The video below describes in detail why I decided to build my own, and how I went about doing it. I go over different “activation methods” and why I chose to go with sonar over voltage or light.

One additional thing I did was add a BLE chip so I could control the whole system with my smart phone (luckily I know a good iOS developer to build the app).

Grossing Gates, Turnout, and Signal Bridge

Components used:

  • Arduino Mega
  • Sonic sensors (HC-SR04)
  • NJI Crossing Gates (NJI 1164) & NJI dwarf
  • Adafruit Bluefruit LE UART Friend – Bluetooth Low Energy (BLE)
  • Innovative Train Technology Products HQ-300 (Sound module)
  • Tolako 5v Relay Module for Arduino (Works with Official Arduino Boards)
  • SMAKN® 5V Active Low 2 Channel Relay Shield Module for Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi
  • BLMA 3 track modern signal bridge
  • Circuitron 6000 Tortoise Switch Machine
  • Misc. servos (crossing gate and car stopping mechanism)
  • Rare earth magnets (interrupts the reed switch in Faller car)
  • Faller – Car System Start-Set MB Sprinter
  • Adafruit Speaker – 3″ Diameter – 8 Ohm 1 Watt [ADA1313]

Faller car system

Sketch plugin to automatically update image layers using JavaScript

One day a few of my peers on the creative team came to me with a request/challenge – could I build a Sketch plugin that streamlines keeping image assets up-to-date in their comps? After a few iterations, I believe I settled on a solution for them, see the [narrated] video below for details.

  • assign local/remote URLs to image layers
  • data is saved at the document level and persists (see sketch file format for more info about this)
  • upon menu item click, or document open, grab layer object via saved layer ids and update image data with associated URL
  • no need to iterate through layer hierarchies (slow/wasteful), no need to rename layers, no need to keep directories in a specific structure
  • Document Settings – for saving data
  • Actions – for listening for document open, etc.
  • From Native – for getting document from action context

If you have any further questions about this, please reach out!

More info – https://developer.sketch.com

Another plug-in:

Web application to easily view financial information with Chart.js

Key Technologies: HTML, CSS, JavaScript, CSV, Chart.js

I really wanted a quick and secure way to get a breakdown of my spending without having to give up my banking details to a third-party. For the longest time I was using an excel spreadsheets and doing a lot of work manually to categorize transactions and compute totals. One day I decided to just build my own tool!

  • Chase’s developer API is invite only, so used their csv data dump option
  • Lots of pre-work happens before rendering the charts, data from csv is converted to objects, grouped by months, computed for totals/averages/etc., and then categorized by user inputted data
  • The transaction list allows me to flag what category a transaction should fall under – under similar transaction will automatically be assigned that category unless explicitly overwritten.
  • Using chart.js to render the charts – this framework is incredible and really easy to use

Below is a video of what I settled on for a v1. It does everything I need it to quickly, and makes understanding where I’m spending my money clear. Some future enhancements will include:

  • Monitor Chase’s API to see if it opens up for normal developers
  • Flag transactions that fall outside a specific variance (unexpected transactions)
  • Show top 5-10 places I’m spending money, e.g. how much money am I spending at Chipotle!
  • Add pagination for transactions list
  • Show YOY information and trends
  • Add ability to layer in a second account
  • Refactor code to reduce redundancies in calculations
Example with fake data.

Custom Urban Airship Message Center Templates

Key Technologies: HTML, CSS, JavaScript (with jQuery), UA Console

To make a better guest experience I was asked create some new html templates to be used in our app’s message center (powered by Urban Airship). Although this used technologies I already knew, there was a ton of specialized learning to understand how all the pieces fit together.

Some key callouts were: understanding how the html entities needed to be prepared/attributed in the template creation process so that the UA CMS sees them as editable fields, exploring how the UA webview creates a JS bridge and passes a UA object to be used by template at run-time, and how the template itself reaches out to UA for user specific data with the help of data passed in the CMS process.

End result
Original email
Custom editable fields within UA CMS

Ulta Smart Mirror kiosk app built on top of Electron

High-level overview:

  • Informative walk-by video
  • Browse products by featured category, add products to a collection and then text yourself that list
  • Scan products and get information/reviews quickly with the built in UPC scanner
  • Learn about our rewards program and text yourself a link to sign-up
  • Play around with the build in lights and lighting presets
  • Watch how-to tutorials videos
  • Try on virtual lipstick
  • When all else fails, use it as a mirror!
Video overview of features (screen capture over rendering)
Full view. Tap for larger view.