Phase 2 Expertise

Craftsmanship is a word we love at Phase 2. We strive to master our craft so we can build powerful software to drive our client's success.

Architecture & Discovery

Our Discovery process is designed with one goal in mind, to define a clear understanding of the actual problems and opportunities, and the distinct, measurable success that will come from solving those issues with technology.

Information Architecture

Turning information into knowledge is the heart of every piece of software. The Discovery process helps us understand the root issues, then we go about the fine art of designing information in such a way as to meet those needs and solve those problems. Information is power, and the better the information architecture, the more powerful the software.

Software Architecture

Great, usable software requires the right software architecture, coupled with a clear understanding of the human needs, and great information design. Our software architects can craft the right solution from a combination of existing technology, the best available technology platforms, and newly built technology.

Custom Information and Software Architecture Process on Mobile

Custom Applications

This is what we love to do, solve well defined human needs with great software. From solving specific hard problems and developing base frameworks, to building technology proof of concepts or prototypes, to building complete solutions; this is our passion.

People Centric Design

We believe that software is developed for the purpose of empowering humans to be better. We always start by understanding the human needs and problems and then develop software to help meet those needs and solve those problems. This philosophy affects all areas of software development from security and performance, to graphic design and user experience.

Quality Control

Our commitment to quality control can be summed up by the word Craftsmanship. We love what we do. We're passionate about our clients and delivering them great software. At Phase 2, everyone who touches our client's software is committed to mastering the craft of building software tools which makes real people better, smarter, and faster. That means everyone knows the human needs and everyone works diligently to make great tools to address them.

Modern Devices

Devices are everywhere. Gathering data about our health, understanding our location, sensing ambient temperature, detecting road conditions, or determining if there's a fire in the room. Smart devices, connected to smart software, talking to cloud backends, and making the internet of Things everywhere we go. We can help connect those Things to smarter software, helping your organization thrive with data driven decisions.

Mobile Devices

Modern mobile technology has changed the way our civilization uses technology. The combination of wireless internet nearly everywhere with easy to use and powerful mobile devices has change the meaning of personal computing. We've spent years leveraging that power to drive better business for our clients.

Internet of Things

More devices everyday are picking up data from Things. A thermostat, a smoke detector, an alarm system, the number of steps someone walks a day; data everywhere. At Phase 2 we love taking that data and turning it into easy to access knowledge through great software tools.

Software Bill of Rights

Our job is to make software that helps our clients be more successful. Easy to say, difficult to accomplish. The following Software Bill of Rights are the expectations we believe our customers should have during any software project.

# 1 /// Clients Have the Right to Usable Software.

Designing something that is easy for a human to use is difficult. As a general rule, a device or piece of software that’s easy to use is the result of the design team having remarkable clarity in their understanding of their audience and of putting in a tremendous amount of hours. We believe our clients have the right to usable software despite the difficulty of achieving it.

# 2 /// Clients Have the Right to Working Software, at Regular Intervals, Throughout the Implementation.

Software development is a risky process. The majority of IT projects fail, and much of the software that is delivered isn't great. For us, it's not an option to fail to deliver great products. To help reduce risk and drive better products, we regularly deliver working software in order to get user interaction and create a consistent feedback loop.

# 3 /// Clients Have the Right to Clean Communication Regarding Their Software and Its Development.

One of our cultural rules is that; it's not enough to communicate to be understood, we must communicate well enough to not be misunderstood. That means we can't talk tech jargon just so we sound smart, or use engineering terms that don't make sense to people outside of the software industry. At Phase 2 we fine tune our processes and our communications to make sure our clients love working with us.

# 4 /// Clients Have the Right to the Best Possible Solution Available.

From choosing the right tool for the job to striking the balance between under and over engineering, we believe in delivering the best solution for our client's needs. Sometimes this means recommending we avoid writing a single line of code because paper works just fine. Other times it means avoiding the easy approach and instead choosing complex engineering in order to set the stage for a more robust and successful product.

# 5 /// Clients Have the Right to Be Regularly Involved in the Software Development Process.

Software should never be built in a vacuum. It's always a bad idea to avoid user contact with an end product. Phase 2 has the responsibility to involve our client's week to week in the progress of the project. This right also implies the responsibility from our clients to be involved and engaged in the project as that is a critical part of the overall project success.

Technology Stacks

We believe that a developer's technology stack does not define them as a person. Developers solve difficult human problems by creating great software solutions. The tools we pick for each project are chosen because they are the right tool for the job.

That said, here’s a short list of technology stacks we’re using to solve problems today:

Ruby programming language software development service


Backbone.js javascript library


Apache CouchDB


Haskell Programming Language


Linux open-source operating system


Vue.js Javascript Framework


Angular.js Javascript Framework


C# (C Sharp) programming language software development service


C programming language software development service


Cascading Style Sheets Programing Language


Java programming language


Javascript programming language


coffeescript programming language


Hypertext Markup Language


Docker Computer Program


Kotlin programming language services


.Net programming language services


Visual Basic programming language services

Viusal Studio

Objective-C programming language services


PostgreSQL, often simply Postgres


Powershell programming language


Puppet software


Python programming language services


React.js javascript framework


Redis open-source in-memory database


Bash Unix shell and command language

Bash Shell

Microsoft SQL relational database management system

SQL Server

Swift programming language services


Typescript programming language services


Vagrant Software