Custom software & automation

Software and automation built for how your business actually runs.

I design and build internal tools, backends, and workflows that remove manual steps, connect systems, and give your team a stable place to work. Small fixes are fine. So are multi part platforms. The goal is always the same: something you can rely on next month, not just on launch day. I am based near the Twin Cities and Western Wisconsin, and I am happy to meet on site when it helps the project.

What I do

Most of my work sits in the boring middle of a business: approvals, handoffs, data that lives in three places, reports someone rebuilds every week. I build the pieces that make that calmer. Sometimes it is a script that runs on a schedule. Sometimes it is a full internal app with accounts, permissions, and an audit trail.

Automation is part of it, but I am not interested in automating chaos. I like to understand the process first, then tighten it. That usually means fewer surprises for the people doing the work, and clearer answers when something does go wrong.

Internal tools and custom systems are a big slice of what I take on. That can look like a lightweight CRM shaped around your pipeline, a portal for clients or vendors, or a backend that exposes clean APIs for a product you are growing.

I also care about visibility: dashboards and monitoring that tell you whether the system is healthy, not just whether the homepage loads. If your team is flying blind, we can fix that in a way that matches how you operate.

When you want to own the day to day, I will train your team, write playbooks, and leave you with something you can run without calling me for every tweak. When you want me to stay close, we can set that up too.

Work highlights

A few snapshots of the kind of problems I have actually worked through. Names and stacks stay private. The shape of the work is what matters here.

  • Mobile release pipeline

    A submission form kicks off a fresh build and deploy path for mobile apps. Later rebuilt as a modular API so other services could trigger the same flow without copying scripts around.

  • Lightweight CRMs and pipelines

    Small teams that do not need enterprise weight still need clean stages, owners, and follow ups that match how they actually sell. Built to stay simple and tie into the automations around it.

  • Intake through billing

    Client intake, document routing, signatures, and billing kept in sync so nobody retypes the same details in three places. Follow ups, reminders, and light feedback loops when those help the business without nagging people to death.

  • Fleet and compliance paperwork

    Live vehicle data tied to dashboards and the inspection paperwork regulators expect. Less last minute scrambling before an audit, fewer binders that only one person understands.

  • Warehouse and inventory

    Scanning, floor layout, and stock movement surfaced in a way floor staff can use. Fewer arguments about what is on hand, faster answers when a customer is waiting.

  • Backends, integrations, and visibility

    Glue between apps, scheduled jobs, and the error handling that keeps production quiet. Dashboards and monitoring when you need to see health at a glance, not only when a customer complains.

How it works

No ceremony for its own sake. Just a straight path from messy reality to something your team can run.

  1. 1

    Understand the problem

    We talk through the workflow, the failure modes, and what “done” looks like for the people who touch it. I ask blunt questions on purpose. Surprises are cheaper early.

  2. 2

    Design the system

    I sketch boundaries: what owns the data, what calls what, and what can break without taking everything down. You get a plan you can reason about, not a black box.

  3. 3

    Build and refine

    I ship in slices so you can use it while it grows. Then we tighten based on real usage. Most good systems spend time here. That is normal.

Scope and support

Projects can be small. A single integration, a cleanup job, a form that stops someone from retyping the same spreadsheet every Monday. They can also be large: a hosted internal platform, a multi service backend, something you expect to live for years.

I am flexible on how we work together. Fixed scope, ongoing time each month, or a short burst to get you unstuck. If you want someone who sticks around after the first deploy, that is on the table too. Software keeps moving. Your vendor should not disappear the week after handoff.

If we work together locally around the Twin Cities, I can sit with your team for working sessions when that speeds things up. Remote is fine too when the work is well bounded and we keep communication tight.

Existing clients

Pay open invoices through Stripe. For project status or deliverables, use the client project area when a link is available, or reach out through contact and we will get you set up.

If you need a shared project space, use the contact section and we will point you to the right place.

Contact

Tell me what you are trying to fix, what is painful today, and what a good week looks like if we get it right. I read every message and reply personally. You can also reach me at willowriverautomation@gmail.com .