About Me

I am the Chief Technical Officer of 365 Pronto, a renewable energy company that focuses on directing service work to local, trained, and established professionals. We provide rapidly available service to electric power assets: solar PV installations, electric vehicle chargers, etc.


In my career, I have started and joined in three software and solar startups, including 365 Pronto. I form the technical backbone, and design and architect product offerings for rapid development, and for later customer-focused scalability. I know when and how to optimize a product. I know how to build a team that can maintain and innovate for the product’s lifetime.

At UNC’s Renaissance Computing Institute (Renci) I spent a significant amount of time in applied research, focusing on my love of maps, especially data intensive maps, and mapping platforms that respond to a developing situation in real-time with analytics and information. I was the lead architect for the Hydroshare project, for sharing large datasets and computationally intensive analytics among the hydrology community. I also created data science and information visualization projects throughout my time there.

Design Philosophy: Humane Software

My passion in computing lies in fostering something I like to call Humane Software. Humane Software is a goal, not a discipline in and of itself. It takes elements from human-computer interfaces, mobile computing, internet of things technologies, information design and visualization, and design philosophies (think The Design of Everyday Things) and focuses them around creating software that adapts to a user’s expertise, rather than forcing the user to adapt their expertise to the software.

Think of it as a kind of automation, but the kind of automation that expects a human to be part of the process, and tries to interfere as little as possible with the way that person works.

Humane Software is most applicable towards enhancing the performance of skilled work. It is the business of automating processes that distract a worker from their task. It is the business of providing a “second pair of eyes” when one is needed to ensure fine, complex tasks are executed flawlessly every time.

In addition to my quest for Humane Software, I like to stay adept at programming and at networked system design - web services, security, reliable computing. I am fluent in many programming languages and paradigms. My tools are the fundamentals of computer science, engineering, and teamwork; not one programming language or another. You’ll find many of my examples to be in Python or Javascript, because these languages are in common use and readily understandable to many people. But I also code in Common Lisp, Prolog, Ruby, C/C++, Java, and a dozen other languages, depending on the task.

comments powered by Disqus