top of page

Front End PoC Stack

Outsystems - I wanted to try a a low-code solution for this project's early R&D phase. The idea was to prototype something extremely quickly and get it in the hands of users. After working with Outsystems for the prototype I am happy with the results we achieved. It's an effective tool for producing a rapid PoC.

React + Native - Outsystems transpiles it's front end code to React and React Native. This was great as these were technologies I was already familiar with. Any custom extensions or modifications to the out-of-the-box tools Outsystems provided could be written in a stack I understood well.

SONAR BG.png

Haul Runner

Business Process as a Service for small carriers and owner operators. A comprehensive business operations toolkit for logistics that is approachable, affordable, and intuitive.

Running a small business can be hard. Ensuring you are legally compliant, managing finances, and supporting operations leaves little time for business development and customer service. My goal was to support business owners by allowing them to offload much of this work and focus on growing their business. I wanted to provide transparency and peace of mind so these owners knew that everything was under control and information was always available any time they need it.

Let business owners focus on growth

Business Goals

A toolkit for everyone

Transportation management systems are generally not made for small carriers, and those that are are often overkill. For these carriers, working with disparate systems doesn't solve any problems. I wanted to allow users to adopt the tools we offer as they saw fit and ensure that we integrated with the workflow they are comfortable with.

Fair price for full service

A TMS for most carriers is prohibitively expensive. Other BPO solutions for small carriers are predatory and don't offer pricing that allows these carriers to expand their business over time. I wanted to reduce cost of operation for every party involved through automation and adaptive pricing models. 

Most of our users are not specifically tech-savvy. I needed to consider that when designing our user flow. I wanted our system to be intuitive and concise. Running a business is no small task, but providing information within context of what the user is doing on the platform enabled us to provide information as is was necessary and abstract it away when it was not.

I modeled out quite a lot of user flow diagrams and wireframe workflow. I talked through these workflows with people that were experts in performing these job functions for a carrier to ensure the flow facilitated the needs of the job. I then talked with prospective users to ensure the flow was easy to understand and felt comfortable.

 

One of the key features we provided was an adaptive contextual action button. Right in the middle of the bottom action bar. This button is set apart from the rest. It's icon and functionality change based on the content a user is interacting with to provide the most likely action a user might take at their finger tips.

User Flow

Our audience isn't commonly familiar with technology. Historically, the demographic is slow to adopt new tech and we were fighting a stigma in the industry of predatory and unapproachable solutions. I spent a lot of time talking through solutions for these problems. I spoke to a wide variety of users, solution providers, and industry experts to determine our path forward.

Understanding our audience

Unique Challenges

Actions in context

I wanted to provide short cuts for users in the form of adaptive UI elements. Our dynamic context action button required that we predict the likely actions of our users. While I think this will require ongoing tuning and exploration through user research, it was well received and a pattern I would like to continue to iterate and improve upon in future projects.

Mobile business operations

Providing the complexity of business operation on a mobile scale was tough. It's a complex machine and scaling that to limited real estate required a lot of usability research and forethought. Ultimately it seems to be off to a great start, but this was certainly a tough assignment. I found that, as with many products, simplification through abstraction was a key strategy for accomplish this.

I worked as the Lead Product Engineer on this project. I was responsible for designing and developing a PoC and establishing UI/UX design patterns. I lead efforts in market research, usability research, and business planning.  

 

I worked with business owners in the industry, talked to drivers in our target market, and met with investors to help plan out our road map and revenue model. It was a great experience getting to learn new tooling and I was surprised at how well it worked for a quick product demo. 

My role

I genuinely did not expect Outsystems to work as well as it did. As a long time software developer, I assumed I would hit significant limitations somewhere or feel overly restricted in my ability to implement highly custom solutions. That never really happened. At times I ran in to snags, but with a quick call to Outsystems support I was back on track with a better understanding of their recommended architecture and happy with the resolution. I had to keep an open mind that perhaps their preferred methodology didn't match my initial approach, but I never found that to be problematic. It was more that my solution didn't mesh well with theirs, part of being a systems architect is realizing that there are many solutions to problems and the goal is to find that path of least resistance.

Low-code is perfect for prototypes

What I learned

Complexity can hide in simplicity

Every attempt to simplify the interface lead to more questions about our functionality and what we were trying to achieve. It was funny to find that aiming for simplicity created a lot of complexity. This wasn't necessarily problematic, but caught me a bit off guard. Looking back, I suppose I have encountered this feeling before, but it's still something that I, admitedly, might fight more than I should. 

Let power users guide you

Let the most advanced users shape the road map for your product, but build it for the laymen. You don't want to put limitations on those that want to take full advantage of your product, but you don't want to overwhelm less experienced users with complex features. Letting users access features and content at their own pace is the key. Empower them as they become ready and help them grow in to your product over time.

bottom of page