A decade of professional experience in mobile and distributed engineering
We've worked on applications big and small. From high-quality television apps developed when the iPad was released, to comic book readers, to smart lightswitches, to food e-commerce applications - we've done it all. Now, that experience can be yours. We can:
- Turn your dream project into a series of realistic, achievable goals.
- Empower the team to make better design decisions
- Increase the reliability and efficiency of software products
- Be a force-multiplier for the rest of the team
We'll give you a jumpstart.
Looking for a staff engineer?
We know what's needed to run a smooth team. As a staff engineer, we'll:
- Ask the right questions to drive development
- Proactively identify future problems
- Share advanced topic knowledge
- Develop a holistic technological vision for the product
- Analyze and improve system architecture
- Construct and document technical specifications
- Lower maintenance costs through automation and consistency
- Have a broad impact on the trajectory of your company
We know what it takes.
Have a large codebase with millions of users?
We know how rough it is to scale from thousands of users and beyond. We've got experience with that too - and our experience can help make yours go smoothly. Our list of prior experience includes clients such as:
- National Geographic
- The Discovery Channel
- McKinsey & Company
- Marvel Comics
- Whole Foods
You could be next.
Build new apps
We've got what it takes to make your latest idea a reality. We can build you a software stack from the ground up, and help solidify things along the way. From the front-end UI and back-end servers, to the network and the business logic that runs on all of it - we'll help you build it.
Design new features
We can work with your existing systems to bring you new features. Inserting new layers into your technology stack wihout disturbing the existing codebase is a delicate art. Do it right, and you'll hardly notice it wasn't there from the start.
Refactor existing codebases
Has feature development slowed to a crawl? Is technological debt holding you back? Does your codebase require constant maintenance just to remain deployable? Maybe its a sign that it is time to refactor. We can help.
Lightweight and robust code
We know how important reliability is in software. Computers should be logical, not chaotic. We specialize in writing low- or no-maintenance code, using functional programming, type-safety, and deep full-stack knowledge.
We know that teamwork is key to empowering reliability. When we can trust the quality of each other's work, we are free to worry about the quality of our own, or act as a force-multiplier for others.
We know that being clear, accurate, and concise is essential for good communication on any team project. We can help you define the language of your project, in easily understandable terms. When we all speak the same concepts, teamwork flows like water.
Our Design Philosophies
A well-defined program is a well-behaved program. Programs are proofs, when written properly, and math does not rot - so why should programs? We can use this knowledge to write durable code that does not need constant maintenance, and is flexible in the face of changing circumstances.
Conjunction of domains
Novel ideas are often best found at the conjunction of different domains. Understanding the connections between two previously unconnected ideas can reveals a previously unknown, heretofore unexplored space, thus broadening our horizons.
Know a little of everything
A jack of all trades is a master of none, but oftentimes better than a master of one.- Some dead guy
Our backbone is our deep full-stack knowledge of mobile app development. We've been doing it since smartphones came out.
We're good at optimizing both code and teams. Whether you want to make your app run faster, or help your team get it to market quicker, we can help with that.
All computers need a user interface to be usable. We can help you put together a no-nonsense interface that just works, whether it be shell or app or html.
Networking and Distributed Systems
Networks and APIs are the heart of any modern app, and we've got tons of experience with industry standards like REST+JSON. Sometimes you just want something better. We also know how to drop down to TCP or Bluetooth and write your own protocol when you need to go fast.
Data Structures and Algorithms
We've got the mathematical background to solve your problem efficiently. Our familiarity with a large array of diverse data structures and algorithms. We don't have every property memorized, but that was never the point. We know how to pick the right algorithm for you, to preserve the properties that you find important.
We're experts in advanced functional programming techniques. Our favorite language is Haskell, but we know how to bring what we've learned to other languages. Functional programming is a state of mind, not a syntax. We're even building our own functional compiler for exploring distributed functional programming.
Tools we use
We also built this website from scratch.
See how quickly it loads, how lightweight it is? Check it out on mobile, and see how responsive it is. View its source - it is well-organized and readable. We take great care in our process, and that care is available to you for hire.
Like what you see?
Contact us, and we'll get back to you. If we've already given you our info, we'll be expecting you.