Lets Build Tools


Garity Chapman

Developer at Simple Contacts

Tools = EFFICIENCY

 

Tools = FUN

State is complicated​

This makes UI complicated

How do I get to the diagnostic lenses feature? 

  1. Navigate through 9 screens

  2. Take the redness exam

  3. Get results from our computer vision algorithm to see Dx lens feature

  4. Hit the button that says "Request Samples"

 

What if...

  • Dumps out helpful information about the user & platform

Debug Bar

  • Buttons to change user state, navigate to hidden flows, or override the database

  • Experiment overrides

Feature Flag

Overrides

  • Lists current experiments and provides bucketing overrides.

  • Allows toggling features on/off as well as multi-variant features.

DB Overrides

  • Deleting un-deletable things such as orders or valid prescriptions.

  • Override order and exam states.

  • Create new exams with different videos attached.

  • Logout.

chat

Integrations

  • Sending user info to slack channels.

Local state

  • Force a crash: dumping debug data.

  • Navigating to user flows.

  • Restarting the app, without having to shake your phone!

Mark users as staff


  if (user.is_staff && ENV === 'production') {
    return <DebugBar />
  }

SEPARATE  Build Environments

    
    if (environment !== 'production') {
        return <DebugBar />
    }

Encourages tool building

 

Provides a centralized place for debugging code

 

Reduces toil & repetitive work

 

Accessible to non-developers

toolbars are For everyone

Thank you!

 

garitychapman.com

Lets Build Tools

By garitychapman

Lets Build Tools

A look at some of the tools we have built here at Simple Contacts for our React Native mobile app. As well as insight into the approaches we have taken to building out tooling infrastructure.

  • 564