Scientist & Storyteller

Contract Guidelines

I love building apps and using technology to help people solve problems.

At the risk of sounding prideful, I am fairly good at app design and development. However, that doesn't mean I'm necessarily the best fit for your project.

Please read through these guidelines and review my portfolio of recent work to get a feel for how I work. Then, if you still feel like you'd like to work with me, or have other questions, please get in touch.

Strengths & Weaknesses

I have over two decades of experience in software design, development, and project management across multiple platforms, technology stacks, and industries. I have a PhD in computational genetics, and have worked on a number of projects that have required not only a sound understanding of software design and craftsmanship, but also a strong grasp of data science and statistical analysis.

I've worked on solo projects, small team projects, and projects with diverse, international teams.

I'm always trying to improve as a software developer, but the nature of the work I've done over the years has led to my having more experience in some areas than others.

While I'm fairly skilled at most general aspects of modern software development, and can come up to speed on new technologies fairly quickly, there are some areas where I have little to no experience.

It is unlikely that I will be a good fit for a project that requires extensive expertise in one of the areas that I've listed in the "Weaknesses" section below.



How I Work

I perform all work remotely and am unavailable for onsite work.

I do not subcontract or outsource any aspect of software development. I prefer to avoid onsite meetings. If your team lacks a graphic designer, and your project requires complex graphic resources, I may commission those items from one or more trusted designers.

I strongly prefer email for discussing project specs, resolving questions, and other communications. Email provides an automatic written record of discussions and decisions, and is much less disruptive than synchronous strategy meetings.

However, for projects that last longer than one month, I am happy to schedule a monthly progress call over Zoom or Skype, billed at my standard rate, if that is preferable.

I am generally never available to "jump on a call" at unscheduled times.

Suggested Tech Stacks

I love learning about new technologies and frameworks, but I try to avoid using them in client work. This reduces the risk of a technology you depend on becoming unsupported in the near future. This also makes it much easier (and cheaper) for clients to find developers capable of maintaining and updating their projects down the road.

Unless clients have strong preferences, I generally advise that all work be done using industry-accepted best practices and established technology trends as described below:

macOS, iOS, tvOS, watchOS

For projects within the Apple ecosystem, I advise doing all new work in Swift using Storyboards. However, I am also very comfortable working with Objective-C if that is your preference.

I have experience using SwiftUI, but I don't yet recommend it for client work, because it is still relatively new.

Google Android

For work within the Android ecosystem, I advise using Kotlin, though I am also very comfortable working with Java if needed.

I also try to utilize Google's Jetpack Frameworks whenever possible.

Backend/Server Work

If you need a server-side API, I can create one for you using PHP, Node, or Firebase.

If you need database work done, I have experience working with MySQL, Postgres, SQLite, Microsoft SQL Server, Firebase, Neo4J, and Mongo.

If you don't have a preference or existing server infrastructure, I recommend Firebase for most new projects.

Cross-Platform Frameworks

Though I have experience with cross-platform mobile frameworks such as Cordova and React Native, I do not accept client work that requires developing within those technology stacks (unless you're asking for a rewrite in Swift and/or Kotlin).

I love the concept of these frameworks, but my experience with them is that for all but the simplest projects, they get you about 90% of the way before you start hitting major roadblocks in performance and functionality, and end up having to go in a different direction at great cost.

Rates & Payment Terms

My current rate for app development and data analytics work is $175 USD / hour.

I offer both fixed-cost and hourly billing, depending on the project.

I never work for equity or profit sharing offers for pre-IPO companies.

Hourly Billing

I bill hourly for exploratory work, code assessments, data analytics work, and project maintenance (such as updating a project to support a new OS version).

Virtual and onsite meetings are also billed hourly. Onsite meetings are billed portal-to-portal, plus travel expenses.

Invoices are sent monthly, and are due within seven days.

Fixed-Cost Billing

I bill new project work using a fixed-cost estimate.

Fixed-cost projects have a pre-approved scope and deliverable schedule. So long as the scope and deliverable list doesn't change, the cost shouldn't either.

Invoices are sent according to the following schedule, and are due within seven days:

Example Scenario

Imagine that you own a streaming service called Whimsey+.

You want to create an iOS app that looks good on both iPhones and iPads. Your app allows the user to log in, browse different categories of movies, search for specific titles, add favorites to a watch list, download movies for offline viewing, and of course, watch the actual content.

You already have an existing website powered by a server API, and you want the iOS app to use the same API.


My project estimate for an iOS app like this would be around 150 hours at $175 USD per hour.

Add another 150 hours if you also want an Android version.

Add another 50 hours if your website is pulling information directly from a database, and you need an API built for the mobile apps to use. (Mobile apps can't talk to databases directly, they need an API to interface with.)

Add another 20 hours if you want users to be able to interact with one another through comments, followers, or to be able to integrate their accounts with a social network.


*These numbers are only approximations (though fairly reasonable ones). Actual estimates and costs will vary from project to project.

Payment Methods

πŸ‡ΊπŸ‡Έ For clients based in the United States, I accept payments via Zelle, ACH, or Wire Transfer.

πŸ‡¬πŸ‡§ For clients based in the United Kingdom, I accept payments via CHAPS, BACS, Faster Payments, or Wire Transfer.

πŸ‡ͺπŸ‡Ί For clients based in the European Union, I accept payments via SWIFT, IBAN, or Wire Transfer.

🌏 For clients based anywhere else in the world, I accept payments via SWIFT, IBAN, or Wire Transfer.

Invoices are payable in USD using the conversion rate at the time the payment is made. Clients are responsible for all applicable payment fees.

Get in Touch

I hope we can work together! Please get in touch if you have any questions.