We build it. Then we stay.
Software in any stack, planned, built, launched and kept running for years. AI agents on the jobs nobody wants. And the managed IT and security underneath all of it, remote wherever you are and on site when something needs hands.
Platforms we work with
- Windows
- macOS
- Linux
- iOS
- Android
- AWS
- Azure
- Google Cloud
- DigitalOcean
- Sentrello
Specialties
What we're known for
Five things people call us about most. They aren't the whole list: there are twelve managed IT services and sixteen managed security services behind them.
Application development, start to finish
Plan it, build it, launch it, then keep it running. Any stack, any server, from a simple internal tool to the system the whole business runs on.
AI agents and workflow automation
Support inboxes, purchase orders, the quarterly tax pack. Agents and pipelines that do the repetitive work, with a log of every step they take.
Managed AI, after launch day
Somebody has to watch the model drift, patch the stack it sits on, and scale it when usage triples. That's us, for as long as it runs.
AI consulting and strategy
Which uses would actually pay for themselves, what the rules around them should be, and the order to do them in. Sometimes the answer is not yet.
Migrations of every kind
Legacy line-of-business systems, servers into the cloud, and websites off WordPress, Squarespace, Wix, Weebly or Joomla onto Strapi, Payload or something we build for you.
The life cycle
Four stages. We stay for all of them.
- 01
Plan
Before anyone writes code, we work out what the thing is for and what it must not do. Cheap to change now. Expensive to change in month seven.
- Start with the constraint. The budget, the deadline, the regulator, the one integration that cannot break. Design around the hard edges first, and the soft middle takes care of itself.
- Write down what success is. In a sentence you could read to a stranger. If we cannot agree on that sentence, the project has a problem that no amount of building will fix.
- Decide what happens after. Who maintains it, on what, for how long. Planned at the start, because a product with no plan for year two is a product with a shelf life.
- 02
Create
Working software in your hands early and often, in your repository, under your account, with your name on it.
- Your environment, not ours. Your cloud account, your repository, your domain. Nothing we build lives somewhere you would need our permission to reach.
- Boring on purpose. Proven tools over interesting ones. Novelty is a cost, and it comes due on the night you least want to pay it.
- Everything as code. Infrastructure, configuration, pipelines, runbooks. If the only record of how something was set up is in somebody’s head, that is not a configuration. That is a dependency on a memory.
- 03
Launch
A launch is a rehearsed procedure, not an event. We have done the rollback before we do the release.
- Rehearsed, then repeated. The deployment that puts it live is the same one that has already run dozens of times into staging. Launch day should be boring.
- Reversible. Every release can go backwards. A change you cannot undo is not a release, it is a bet.
- Watched from minute one. Monitoring and alerting go in before the traffic does, so the first sign of trouble is a page rather than a phone call from a customer.
- 04
Maintain
The stage everyone skips in the pitch and nobody escapes in reality. It is most of the life of a product, and it is where we stay.
- Patched without a ticket. Dependencies, operating systems, base images. The update arrives as a pull request that has already passed the tests.
- Drift shows as a diff. Because the environment is defined in code, anything that wandered off the baseline is visible as a change, not as a mystery.
- Still yours to leave with. Repository, runbooks, credentials, diagrams — handed over as we go rather than reconstructed on the way out.
Managed services
The routine half should not need you awake.
Patching, detection, containment and the evidence for all three run in software, across every device class you own. Our engineers spend the day on the half that needs judgement, which is the half you actually hired them for.
Nothing waits to be noticed.
Detection, triage, patching and containment happen in software the moment they are triggered. There is no thin hour, and nothing sits in a queue until somebody gets to it.
- Every device your people touchWhat’s coveredWatching
- Customer support that knows when to stopWhat we automateWatching
- Deployed AI, whoever built itWhat we look afterWatching
- The software they actually useWhat’s coveredWatching
- Procurement, from request to purchase orderWhat we automateWatching
Your environment, your keys.
Your cloud account, your repositories, your credentials. We operate inside what you own rather than behind a portal you rent from us.
- Use cases, ranked by returnWhat you come away withWatching
- Switches, routers and the closetWhat we manageWatching
- Windows and Linux, on anythingWhat’s in scopeWatching
- A governance framework your sizeWhat you come away withWatching
- Wi-Fi that reaches every deskWhat we manageWatching
Written down, not remembered.
Baselines, thresholds and runbooks live in version control. What the automation is allowed to do is a file you can read and a change you can review.
- Four clouds, no favoriteWhat we run for youWatching
- Any application, however oldWhat we take onWatching
- Servers, on premises and in the cloudWhat gets protectedWatching
- Landing zones and account structureWhat we run for youWatching
- Moved to anywhere sensibleWhat we take onWatching
A named person answers for it.
Automation is not an excuse. Every automated action is logged with its trigger and its outcome, and an engineer owns the policy behind it. “The system did it” is not a sentence you will hear from us.
- Hardware, found by discoveryWhat we trackWatching
- A phone system that lives onlineWhat we set up and keep runningWatching
- Someone you know by nameWhat your vCIO handlesWatching
- Licences and true-upsWhat we trackWatching
- Number porting and carrier wranglingWhat we set up and keep runningWatching
Windows, macOS, Linux, iOS and Android, plus servers on any host or cloud. Remote wherever you are. On site anywhere by arrangement, and routinely from Denver Metro to Colorado Springs. What that covers
Why clients stay
We treat clients like family. Here's what that means in practice.
No canned packages, no price list. Every job, one-off or recurring, gets its own quote, written for you.
- Lean
Low overhead, passed on
We run a tight shop with very little overhead. What we don't spend on floors of staff and glossy offices comes off your quote.
- Few
A select number of clients
We only take on as much as we can do properly. Saying yes to everything for the money is how service gets thin, and we'd rather turn work away.
- Measured
Asked, every 90 days
Since 2006, every client we have had got a check-in every 90 days and an annual survey, every one of them answered, and 100% of those answers were satisfied.
Migration
Getting off the thing you regret
Nobody migrates for fun. Something has become the constraint — a theme you cannot change, thirty plugins holding hands, a performance problem in code you do not control. We move you onto whatever you pick next.
- Leaving
- WordPress
- Squarespace
- Wix
- Weebly
- Joomla
Destination is your call. We do not have a preferred platform to sell you.
When the template becomes the ceiling
You need one thing the builder will not do, and every answer comes back as a plugin, a workaround, or a sentence starting with “unfortunately”.
$ foothills audit-the-stack$ foothills strip-the-builder$ foothills map-every-url$ foothills move-the-media-library$ foothills run-both-then-cut-over
The rankings come with you
Old URL to new URL, one to one, checked as a build gate rather than spot-checked after launch. This is the part that protects traffic you already paid for.
$ foothills crawl-the-live-site$ foothills reconcile-with-the-export$ foothills design-the-content-model$ foothills decide-the-new-urls$ foothills run-both-then-cut-over
Somewhere you could leave again
Structured content, hosting defined in code, nothing proprietary in the middle. Doing this twice for the same reason would embarrass both of us.
$ foothills crawl-and-inventory$ foothills pull-what-can-be-exported$ foothills rebuild-on-your-platform$ foothills redirect-every-wix-url$ foothills move-the-domain-then-cut-over
Industries
Whatever you sell, someone's been up at 2am over it
Shops, sites, plants, trades, firms, schools, clinics, venues and the ones that fit no box. Pick yours.
Retail
IT, security, software and migrations for shops: POS networks, stock that syncs online and in store, and support on your busiest days.
Construction
IT, security and field software for contractors, property managers, agents, architects and energy firms. Job sites included.
Manufacturing
Managed IT, OT network security, ERP migration and custom software for manufacturers, from food and drink to metal, chemicals and electronics.
Service Trades
Phones, scheduling, quoting apps, websites and IT support for plumbers, electricians, HVAC, roofers, locksmiths and every other trade.
Professional & Business Services
Security, compliance readiness, managed IT and automation for banks, law and accounting firms, agencies, recruiters and software companies.
Education
Accounts, devices, learning platforms and security for schools, driving schools, eLearning companies, student groups and workshops.
Health & Wellness
Managed IT, HIPAA readiness, booking automation and security for hospitals, clinics, pharmacies, vets, salons, gyms and studios.
Food & Hospitality
Booking systems, guest Wi-Fi, payments security and evening support for hotels, bars, clubs, venues, campsites and parks.
Others
IT, security, websites and compliance support for nonprofits, religious organizations and gambling operators.
Manifesto
Your stack should outlast whoever built it.
Repository, runbooks, credentials, diagrams — handed over while the work happens rather than reconstructed on the way out. Leaving should be dull.
How that works in practiceNot a fit
Let's be honest — not for everyone
Our own rule rules people out, and it should. Better you hear it here than three weeks into a proposal. Five ways to know it is not you:
You want a body in a chair
We're not a staffing agency. If the requirement is a warm person at a desk from nine to five doing whatever comes up, that's a hire, not a contract, and you'll get better value making it one. We'll run your estate. We won't rent you a pair of hands.
You want to skip the inventory
Onboarding starts with finding every device, server and account you actually have, which is reliably more than the list you gave us. Nobody enjoys that fortnight. Skip it and we'd be automating a guess, so it's not on the menu.
You're staying on the website builder
Fair enough. Plenty of businesses are fine on one. We're the people you call when the template has become the constraint, when you need something it won't do and the answer keeps coming back as a plugin.
You want us holding the keys
You'll get the repository, the runbooks, the credentials and the diagrams as we go, not on the way out. Leaving should be easy. That's the whole point of doing it as code.
You'd rather not audit the AI
Governance means we're going to ask which models your people are using, what they're pasting into them, and who approved it. Some of those answers are uncomfortable. That's rather the point of asking.
Then we should talk
Ninety minutes, no slides, and a plan you keep either way.
Talk to us
Tell us what you're trying to build
Or what you're trying to get off. Either way, the first conversation is about what the thing has to do.
Write to us and a person reads it. You'll get a straight answer about whether this is work we should be doing, and a quote written for you if it is.
- What we arePlan, create, launch, maintain
- What we areSentrello Premier Partner
- What we areEvery quote written for you