iOS // Web // Extremely Good Ideas

Cybernetics theorist Stafford Beer said "the purpose of a system is what it does." Software systems, whether apps or sites or embedded modules, should of course be elegantly written and rendered. But if the product does not demonstrate respect for the humans who work with it—fellow developers, clients, or end users—then its best intentions count for little.

I'm a software developer who practices mentoring, team leadership, and client relationship management. With sixteen years of professional experience, I focus on bringing purpose to my work and my team in every project I undertake. You can see some of the results below.

I've been working at digital agencies for over a decade. The nature of agency work, especially in a dev shop, often means a multiparty tangle of nondisclosure agreements. To avoid any problem with those agreements, the identities of some of the listed clients are obfuscated. Your understanding is appreciated.

Brendan Adkins is taking important notes here with a serious pencil and not just playing Dungeons & Dragons Brendan Adkins is taking important notes here with a serious pencil and not just playing Dungeons & Dragons
PlotWatt representative image


Python // Ruby on Rails

Since 2014, it's been possible for many utility customers to access their own usage data, directly from their providers, through the Green Button initiative. But every provider ended up with different implementations, making it prohibitive for companies with far-flung branches to compare their usage over time and distance. PlotWatt provides the solution. By tying together cross-utility accounts, many locations, and statistical models, their tools allow businesses to realize tremendous savings opportunities. And with a unified interface and flexible infrastructure of interlinked microservices, PlotWatt ensures that their clients never see interruptions, even when data sources go down. More efficient use of electricity scales up for a win on clarity, cost—and carbon dioxide.

Mobile My Account illustration

Mobile My Account

iOS // Swift

My Account was a two-year project with an eight-figure budget, contributors in three time zones, and multiple simultaneous launch platforms—and it shipped on time. Staying on the leading edge of iOS development with Swift meant focusing on time-honored best practices: classic design patterns, test coverage, and steady iteration driven by peer review. The code in the project is something I'm proud of, but the process my team honed together was even more valuable, enabling us to handle last-minute obstacles with assurance. And thanks in part to a smooth debut, the client saw new revenue matching that dev budget in its first month of operation.

Technical Apparel Catalog

iOS // Swift and Objective-C

The challenge: a design-driven project under the strict guidelines of a massive brand, with an immovable deadline. It would have to be beautifully smooth, reinforce that smoothness through UX, and have a striking, distinctive appearance. The solution: a hybrid app combining the optimizations of tight Swift code with Objective-C's rich AV framework integration (as of mid-2016). We enforced single responsibility by rethinking the view stack, driving all interaction through a single persistent gesture-recognizer layer and cutting independent view controllers down to minimal size. The entire app architecture was driven from a single JSON file, making dependency injection simple and allowing the client to deliver extensive graphic and video assets as their featured athletes became available. The result: a successful worldwide ship day, a satisfied client, and a lot of excited sneakerheads.


iOS // Objective-C

Many apps seem to assume that their users have unlimited bandwidth, battery life and attention. For drivers who work with Ready Logistics, long stretches on the road mean none of those things are guaranteed. The opportunity to improve records and reduce the paperwork involved in transporting automobiles was a great use for smartphone technology, as long as those limitations were respected. The app queues its communications and intelligently waits for viable connectivity to sync them, and its interface gets out of the way to allow drivers to quickly record what they need and stay on schedule. It was a learning opportunity with regard to operation queues, the NSCoding interface and AVCaptureSessions, and its success with its professional audience attests to the importance of respect for one's users.

Familiar Box illustration, featuring a dog making a phone call to a mushroom

Familiar Box

Arduino // C

It's a gift to be able to communicate instantly with far-flung friends, but that doesn't make being apart any easier. As a special Christmas gift for some of the people closest to me, I set myself a goal of building a set of interactive toys that would be long-lasting, beautiful to handle, nostalgic to see, and linked without internet connectivity. What I came up with was the Familiar Box: five uniquely tailored cubes, featuring custom sprite animation, kept in sync by high-precision clock modules running under control of the Adafruit Pro Trinket (and less than 24k of code). No technology can erase the physical distance between us, but tangible reminders of our emotional bond still feel good to hold.

Auto Auction Kiosk illustration. Includes car sketch image licensed under Creative Commons from Flickr user leica_cc.

Auto Auction Kiosk

iOS // Objective-C

Not every iOS product ends up in the App Store. This specialized app was developed in concert with a physical design agency, allowing bidders to quickly enroll in an enhanced membership, manage their licensed buying team, and pull information on sprawling floor plans—all from an eye-catching iPad stand on an auction floor. That meant special considerations for security, remote updates, and rapid identity verification to keep users on the move. Now in use at the client's 100 worldwide locations, it was successful enough to merit a spinoff version for their roving agents, extending the reach of their business in a way that advertising for downloads could never have done.


iOS // Objective-C

Team development has many benefits: the synergy of varying ideas, the wisdom of multiple perspectives, and the insurance of code review. Once in a while, however, the scale of a project calls for a single developer, as was the case with Swag'r. From the conceptual discovery process through focus testing and up to the App Store launch, every line of code in this app was mine, for better or worse. In fact, the constraints of the project yielded a number of benefits. Instead of a lengthy onboarding process, the user is registered, verified and ready to go the moment they first open the app. Instead of a hefty flowchart, the app can be reduced to three screens, each with a simple interface and deep functionality. And instead of a single app to span the entire world, Swag'r has spun off boutique versions for university campuses and neighborhood business collectives, offering new marketing opportunities and a local focus for all involved.

As you might expect, the above is only a selection of the dozens of projects I've had a hand in building over the last eleven years. My professional history has taught me not to bet heavily on what direction the industry will take next, but to keep exploring new ideas in preparation all the same. If you'd like to discuss my other work, or how my skills can help you advance your vision of a more connected world, the mailto protocol will be glad to help you, and so will I.