Hack the Gap 2019

Hack the Gap hosted their 5th annual Hackathon for women and non-binary individuals this weekend. I was able to attend the demo event today where each team showcased what they created. There were cool ideas, with a lot of progress in such a short period of time.

Circular wooden badge with Hack the Gap printed in bold distressed lettering, resting on blue denim fabric.

The organizers kicked the demos off.

Two presenters stand at a podium at the Glen Nelson Center at American Public Media, one speaking into a microphone, with an audience seated facing them.

Securiosity!

Group of women standing in a row presenting at a hackathon event, with Avoid Digital Hooligans slides projected on screens behind them and an audience seated in white chairs facing them.

Security education for non-technical people. Built with React. They worked as a group to get the initial things running, then split into feature teams. Design friendly focus. Humaaans free and inclusive image library. Accessibility focused.

πŸ† I put my voting coin in for this team. I liked their design and approach to security education.

whenIneedU

Group of seven people standing on a stage presenting their whenIneedU project at a hackathon, with slides visible on two screens behind them.

Helping people break out of episodes of anxiety or depression. Used JavaScript, Java, Android, Twilio. Sends personalized affirmations, relaxing activities, and helps you connect with friends and family. Watches your location and detect if you haven’t gone anywhere for a long time. Uses text messages to reach out and request connections on your behalf.

Ready Play

Four people stand on a stage presenting their Ready Play app at a hackathon while an audience watches from white chairs in a bright modern office space.

Help navigate family daycare, activities and camps for kids, focused on summer activities. Complexity around logistics, themes, and costs. Built using React.js and Elastic Search backend. Framework provided fast mocking, and allowed easy acquisition of real data.

Hack the Bra

Six women stand on a stage presenting to a seated audience, one holding a microphone, with projected slides and a Lunar Startups banner visible behind them.

Help with sizing and determining best fit for bras. Focusing on measurement for fit. Built with React.js. The “BRA-culator” with video walk-through to guide you through measurement. Discovery, rapid prototyping and co-creation were the focus for the team. Not focusing on e-commerce, but instead education.

Make Friends Minnesota

Team of five women presenting Make Friends Minnesota project at a hackathon in a modern office space with audience seated in front

Connect the 5.6 million people in Minnesota. Meet people, make friends, and have fun. Recommends friends. Focused on starting connections safe and easy. Uses Facebook for login. Builds a profile using an interest survey. Built using Node and Express with EJS templating engine.

Seshat Swap

Four presenters on a stage at Lunar Startups speak to a seated audience, with a Seshat Swap slide displayed on a screen behind them.

Making access to books written by people of color more accessible, focusing on very long hold times at the library. Try to get more access without having to purchase the book. Allow users to exchange, or indicate wish lists of books, in marginalized communities. Built with React with Firebase. Non-profit effort to pay for shipping costs. Sort of a virtual, crowd funded library.

Cat Flat

Seven women standing at the front of a conference room presenting Team Cat Flat at a hackathon, with a slide listing team members and roles projected behind them.

Small, connected DIY cat shelter that detects health of the cat and provides shelter, warmth and a place for stray cats to stay safe. React app with Express server and SQL database. Particle Photon and Particle Cloud in cat shelter to run sensors. Node server to send data to the server. Revenue by selling the flats pre-made.

A bit to my surprise, I almost voted for this team. I really liked how they used the IoT stuff to make this a smart device.

Little Free Library

Six people standing on a stage presenting the Little Free Library Online Catalog project to a seated audience in a modern event space.

Leveraging the existing library of micro-libraries. Largest predictor of kids reading levels is the quantity of books in the home. Goal is to make it possible to get 100 books in every home. Card catalog of free libraries close to you, with inventory capabilities to check out or indicate that you are going to keep it. Allow steward to manage their inventory.

Sweat Connect

Four people standing at the front of a room presenting their Sweat Connect project at a hackathon demo event, with a screen displaying team member names behind them.

Need a workout friend? Increase frequency and help friends with anxiety about going to the gym. Create profile and facilitate connecting with others to workout. Built with Angular 7, to allow for desktop and mobile. Gather specific data around your gym, time preferences and goals.

I think this team could have put a go-to-market strategy of partnering with gyms and offering a white-label version of their service.

Planet

Group of six women standing at the front of a conference room presenting to a seated audience, with a Lunar Startups sign and a screen displaying a mobile app behind them.

Planning tools for coordinating gatherings. Event planning templates, collaborate on tasks, and good for discovery. Built React and Node. Google Maps for location.

Give Back

It makes me happy that we at SPS Commerce have been able to support Hack the Gap for a number of years now!

Sponsor board on an easel listing Hack the Gap supporters by tier including Target, Twilio, Optum, Salesforce, and others

Everyone had a lot of fun at iFly.

Family of six in iFly jumpsuits and blue helmets posing together before indoor skydiving Person in red iFly jumpsuit and blue helmet floating in indoor skydiving wind tunnel assisted by an instructor, others watching from the side. Person in red suit and blue helmet floating horizontally in iFly indoor wind tunnel, guided by an instructor in red, with spectators watching behind glass. Person in red jumpsuit and blue helmet levitating inside an iFLY indoor skydiving wind tunnel while an instructor watches nearby.

Made my signature lasagna tonight. Delicious. 🀀🍽

Person in black shirt holding a freshly baked lasagna in a blue ceramic baking dish with golden melted cheese on top

Checking out iFly Indoor Skydiving. Wow!

Three people in helmets and flight suits float inside an iFly indoor skydiving wind tunnel as spectators watch.

Delightful dinner tonight at Oceanaire with my brother and his wife. Yum!

Four people smiling at a round white-tablecloth table in a dim restaurant booth, with desserts and drinks in front of them.

Very first espresso from my new Breville Oracle espresso machine. I’m impressed with the capabilities and the quality of the espresso. β˜•οΈ

Breville Oracle espresso machine brewing dual espresso shots into two decorated white ceramic cups

Ordered End of Trust, McSweeney’s Issue 54 done in collaboration with the EFF! πŸ’œ

Just signed up for a 4th site on Blot. This one will be to finally get a decent site for my Book Club.

Using API Credentials in Shortcuts

Shortcuts on iOS can do incredibly powerful things, and with a little bit of extra magic you can connect to most API’s as well. Pulling data from API’s, manipulating it, and extending your shortcuts is really powerful. However, you need to have a good way to manage the authentication tokens and secrets for those APIs.

Most Shortcuts I have seen use a Text variable and put the token in that variable. It’s then used throughout the Shortcut. This works, but it exposes problems if you share that Shortcut. It also has issues if you use the same API in multiple Shortcuts. You are now copying that token in numerous places.

Another approach that I prefer is to create Shortcuts that do nothing but return those tokens. You can then call those Shortcuts from another Shortcut to get the token. I prefix these Shortcuts with the prefix “Secret”.

Four red iOS Shortcut tiles labeled Secret/Pinboard Token, Secret/MailChimp, Secret/Toggl API Token, and Secret/Working Copy Key, each showing a padlock icon.

Then when I need to use an token for an API I call the Shortcut and then reference the magic variable returned from it. You can even hide the execution of that second Shortcut.

Apple Shortcuts editor showing three actions: Ask for Input asking How many links with default 10, then two Run Shortcut actions calling Secret/Pinboard Token and Secret/Working Copy Key.

In addition to reuse, you also get other benefits from this approach. Your Secret Shortcut can have some logic. For example, I access Working Copy from Shortcuts and it does so with a local URL call, protected with a random key. That key is specific to each iOS device. So, rather than try to synchronize the keys I have the Secret shortcut return whatever key is right for the device that is running.

iOS Shortcuts editor showing three chained actions: Get Device Details set to Device Name, a Dictionary mapping two device names to secret keys, and Get Dictionary Value retrieving a value by Device

I do a similar thing with MailChimp’s API token that requires some encoding be applied to it.

I find this a better way to manage these secret tokens, get reuse, and make it easier to change them. πŸ‘

This post is part of the Shortcuts Collection.

Tammy and I had an amazing dinner at Popol Vuh last night. Guacamole, Jicama Salad, Costilla, and Carne Asada. Everything was delicious and so flavorful! The drinks were amazing as well!

Candlelit restaurant table with a frothy cocktail garnished with a dried orange slice, a bowl of tortilla chips, a small dish of guacamole, and drinks including an orange cocktail and water glasses.