We work with you to solve your problem, whether that is a mobile app, desktop application, server, or a more unique problem. Our developers have released multiple iOS apps to the App Store, have developed multiple native desktop applications using both native and cross-platform techniques, have developed 3D architectural renderers, and even released a few games.
Managing a remote project can be challenging, so we communicate project status daily so that you always know the status of the project. We are available on Slack or your favorite video chat throughout the work day, if you have questions or if we need clarification. We are based in California and work in Pacific Time, so our hours should largely overlap with yours.
Geoff has worked as a software developer for over 20 years. He has worked on numerous iOS apps, an MMO game server, scientific visualization software, a graphical programming IDE, video software, a macOS word processor.
Languages: C/C++, Swift, Python, Java, Go, TypeScript
Platforms: iOS, macOS, Linux, Windows, Qt, OpenGL
Experience: mobile apps, desktop apps, 3D rendering, MMO game server, mobile game client, scientific visualization, Linux sysadmin
How We Work
We work with you from idea to completion. We can help refine an idea into a concrete set of features, or if you already have everything spec'd out, so much the easier.
UNDERSTAND: We need to understand the domain that you are working in and the pain point that you are solving in order to create a great solution. The first part is understanding your domain and your problem.
DESIGN: Once we understand the need, we can create a design that will solve it elegantly. This is then broken up into features, and for apps, rough sketches. In many cases you will already have some sense of what you want, which makes this step quicker.
IMPLEMENT: We implement the features, starting with the features with the biggest impact. This means you always have something to demo, which will be added on to and refined as the project continues. We provide daily updates, either by email or, if preferred, by conference call.
EVALUATE: Creating software is an iterative process, so as features are completed, we ask you to evaluate them. We then make changes, or if you decide that the problem is actually better solved a different way, then we go back to a previous stage.