Case Study - How Senske Services Mobilizes their Business with DreamFactory and AngularJS

Table of contents


In this blog post, Senske Services explains how they’ve used DreamFactory to quickly mobilize their business and stay ahead of the competition. They describe their experience building a mobile ticketing app for teams in the field that connects directly to their existing Microsoft SQL Server database.

Using Technology for Competitive Advantage

Senske Services is the perfect success story of an all-American family business. The company was founded by Bill Senske in 1947 to deliver lawn care and pest control services in Washington State. Since then, successive generations of the family have turned a one-man venture into one of the most successful grounds maintenance businesses in the Northwest. Senske has diversified to become one of the largest providers of private and commercial holiday lighting in the region. The company has embraced new technologies and, as a result, grown to over 300 staff, in 9 office locations, across 4 states.

“Senske’s recipe for success is simple,” comments Chris Senske, the company’s current CEO. “We combine the traditional work ethic the business was founded on together with a constant search for new methods and technology to deliver more to the customer.”

The company has always viewed technology as a vehicle for doing better than the competition and extending its individuality. When Senske first implemented CRM in the late 1990’s, they developed a customized system in-house because off-the-shelf solutions couldn’t address the unique qualities of their service.

Senske's Transition to Mobile

Back in 2002, Senske stole a lead on the competition by adopting mobile technology. The company built its own “Mobile Ticket” application to more efficiently manage teams of staff in the field. The system used early Nextel clamshell phones to provide teams with live joblists, track their progress through status update messages and provide cancellation and rescheduling warnings. This relatively simple application dramatically improved day-to-day efficiency and allowed Senske to offer customers a faster, more responsive service.

After well over a decade of service, Mobile Ticket and the Nextel phones were dated. With low-cost tablets now widely available, Senske wanted to put the company back at the forefront of mobile technology by developing a new, dedicated enterprise app for its field teams. But with so much time and effort invested into developing its own in-house backoffice systems, the company didn’t want to throw everything out and start all over again.

Modernizing Senske's Mobile Stack with DreamFactory and AngularJS

The job of upgrading Mobile Ticket fell to newly hired developer J Zarate. Having built and supported a similar in-house software solution for service teams at a California swimming pool company, Zarate had moved to Washington to work at engineering giant Lockheed Martin. His experience made him an ideal recruit.

The first task was to recreate the existing frontend Mobile Ticket functionality on a tablet. However, the original application was written in an early version of Microsoft’s ASP.NET. Upgrading the existing app to a modern Javascript framework and HTML wouldn’t be easy.

He needed a simple solution that would hook into the existing Microsoft SQL Server database and provide a ready-made REST interface to a modern, open frontend technology. Zarate searched online forums for recommendations and came across DreamFactory. DreamFactory could hook straight into Mobile Ticket’s existing SQL Server backend and expose the data in the SQL Server database with a modern REST API.


“The big advantage was no lock-in: you can use what you want on the frontend, and on the backend you can use SQL Server, MySQL, Oracle - you just point at the data and it’s there,” explains Zarate. “Setting up DreamFactory takes a little time but once you have it running it’s almost unbelievably simple.”

With the data connected, Zarate chose to recreate the majority of the original application business logic with server-side scripts in DreamFactory.

“All the heavy lifting was done by DreamFactory. I didn’t have to rewrite the client-side app, this was basically just an interactive display,” he continues. “DreamFactory allowed me to just reuse the logic that the previous developer had produced. Fifty percent of the SQL stored procedures needed for the new app could be taken straight from the existing repositories. When you are working with someone else’s code, this type of platform is invaluable.”

Zarate was used to developing on traditional Microsoft platforms. Code had to be written and updated within a desktop IDE before changes could be uploaded to the server.

“With DreamFactory, I don’t have to worry about publishing changes to the server. It’s instant, that’s the beauty, that is what I really love about it,” he says. “I change the code on the server, say here is my SQL procedure, add that to my REST services, and the changes are there and visible instantly.”

The productivity of working on the DreamFactory platform allowed Zarate to move from Senske’s existing backend data to creating frontend views for the new application within a remarkably short timeframe. Working in AngularJS he was able to replicate the existing Mobile Ticket functionality on a 7-inch Android tablet within weeks.

“DreamFactory allowed me to recreate the basic application fast, because I didn’t have to create the interface between the application data and the new Mobile Ticket application,” Zarate explains.

However, DreamFactory does more than help developers quickly access backend data from existing applications with a modern REST API. DreamFactory also makes it simple to extend the original functionality, create new features and combine data from other sources and applications to create composite apps.

Even within the first round of development, Zarate went way beyond improving the usability of the existing Mobile Ticket application by providing a great mobile experience on both iOS and Android mobile devices. He supplemented the existing joblist and scheduling functionality with GPS mapping, live rescheduling and additional information around the job, which allow teams to prepare and plan en route. Field staff no longer need access to office applications and email, all the information they need and communications with the control center are delivered in real time through the app.

The Road Ahead

“With the speed of development on the first phase, the most worrying aspect is the expectation I have now set. Having seen what is possible, both the management and the field teams keep making new suggestions: ‘Wouldn’t it be great if...’, ‘would it be possible to...’,” laughs Zarate.

“But where this type of unstructured input can be pretty irritating for many developers, now I quite enjoy playing super-geek. With DreamFactory, it’s pretty easy to impress people with what you can do.”

For the future, the company plans to add much more to its new mobile system. Zarate already has plans to deliver live stock control, integrating the new app with the backoffice systems for inventory management.

As they start the day and register onto a truck, in addition to the job list, the crew will get a detailed breakdown of the necessary inventory to take with them. Each team member will then be able to edit the inventory as it gets used in the field, allowing the head office to monitor stock more tightly, order more efficiently and reduce the volume of costly supplies the company needs to hold stock.

“To someone who hasn’t worked with DreamFactory, this would seem like a massive task,” says Zarate. “But I simply point the DreamFactory at our backoffice inventory database, and it will generate most of the REST APIs needed to start building the basic functionality needed. Building this into a composite app, together with the job scheduling, GPS and a heap of new functionality, just isn’t an issue. It’s what DreamFactory is architected to do.”