AI agents · Automation · Integrations · Apps

Automate the busywork.Keep the judgment.

I build AI agents, internal tools, and integrations for small teams — new systems where you need them, better connections where you don't.

Services

What I build

For small teams with repetitive, document-heavy, or operational work that off-the-shelf tools keep making awkward.

01

AI agents & workflow automation

Document, research, and reporting work turned into a reviewed system — with a person still approving what matters.

02

Custom internal tools

Focused apps built around how your team actually works, instead of a general-purpose tool bent into shape.

03

MVP & prototype builds

A real, testable product in weeks, so you learn what customers need before committing to a roadmap.

04

Integrations

n8n, Make, and direct API work to get your systems talking — including the ones never designed to.

05

Websites & landing pages

Fast, clear sites that explain the offer and give the right customer somewhere useful to go.

06

AI strategy & advisory

Plain help deciding where AI earns its keep, where it needs guardrails, and where it isn't worth the cost.

Selected work

Work I can show

Independent projects, described the way I'd describe yours: what the problem was, what I built, and what I can honestly claim.

MOBILE APP

HagaLog — commercial diver logbook

After 17 years in commercial diving, I built HagaLog to modernize a tedious paper logbook without losing what made the records trustworthy — digital signatures and verifiable supervisor stamps. Approved for release on Apple and Android.

PRODUCT QA

Finding what the tests missed

Automated tests were passing while the product was still hard to use. I rebuilt the review so realistic examples, small-screen checks, and human review in the working product all had to agree before approval.

AI RETRIEVAL

Context routing for AI agents

A local-first retrieval layer that gives an assistant the right evidence instead of a whole knowledge base. On a documented five-query baseline: 5/5 target items recovered, estimated retrieval tokens down 81.4% — specific to that benchmark, not a universal claim.

Mobile app · Independent project

HagaLog — commercial diver logbook

17 years doing the work showed me what the software needed to preserve.

iOS + AndroidProfessional PDFsDigital signaturesBackup + export

The problem

Commercial dive logs are kept on paper. The paperwork is tedious, but it is also the record that proves who did the work, who supervised it, and who signed it off. Most attempts to digitize a process like this simplify away the very things that make the record worth trusting. Having done the work for 17 years, I could separate the tedious steps worth simplifying from the trust-critical steps worth keeping.

What I built

  1. Simplify the tedious workFaster entry, automatic totals, readable PDFs, backup, and export.
  2. Preserve authenticityDigital signatures show who reviewed and approved the work.
  3. Add verifiabilityRegistered supervisor stamps can be checked instead of taken on faith.
  4. Keep the useful outcomeA modern iOS and Android workflow that still produces a familiar, trustworthy record.

The product

The HagaLog logbook home screen: a bound diver log book showing total dive counts, above entry points for logging dives, opening medical and personal pages, and building a dive log package.
The logbook home
A completed Record of Supervision in HagaLog: dive tables filled in, running panel-hour and dive-count totals, a handwritten supervisor signature, and a registered diving contractor stamp.
A record, signed and stamped

Screenshots from the shipping app. The dive data shown is synthetic.

From working app to store-ready product

The job was not just uploading a build. Every customer path had to be understandable, testable, and truthful.

  1. Map what the app really doesPurchases, local records, identity checks, support, backup, and account deletion.
  2. Check it on real devicesPhone and tablet layouts, purchases, restore, restricted access, and core workflows.
  3. Prepare a safe review pathSynthetic reviewer data and exact instructions, without exposing customer credentials.
  4. Keep the release human-controlledPrivacy answers and store copy grounded in the product; the final release stayed a deliberate decision.

Automate the friction. Preserve the controls.The reusable lesson

Approved for release on Apple and Android. This is my own independent product, not client work.

Product quality · Independent project

The tests passed. The product still failed users.

I rebuilt the review process so technical checks and real-world usability had to agree.

AI quality reviewUsability checksDesktop + mobileHuman approval

What was going wrong

  1. The automated tests passedBut they only checked the things they were programmed to check.
  2. Real examples exposed problemsLabels crowded together, screens clipped, and relationships between things became unclear.
  3. Work was called "done" too soonA green test result was being mistaken for a good customer experience.

How I changed the process

  1. Test with realistic informationThe same kinds of busy screens and edge cases customers actually see.
  2. Review desktop and small screensLook at the working product instead of relying only on a test report.
  3. Fix, recheck, then approveAutomation catches repeat bugs; a person decides whether it is ready.

A test report can say “pass.” The customer experience gets the final vote.The new operating rule

The result: a clearer path from “the software runs” to “the product works for the customer.” Independent project work; the application is not identified.

AI retrieval · Independent project

Context routing for AI agents

A local-first retrieval layer that gives an AI assistant the right evidence — without dumping an entire knowledge base into the prompt.

Context engineeringPython + SQLite FTS5LLM evaluationPrivacy controls

The approach

Separate evidence selection from model reasoning. Deterministic retrieval first, bounded AI synthesis second — so what the model sees is chosen by rules you can inspect, not by the model itself.

  1. Identify the taskNormalize the query and detect known projects, sources, and terms.
  2. Route the evidenceSearch a local SQLite FTS5 index and rescore cited sections.
  3. Build a safe packetRedact sensitive patterns and enforce a fixed context budget.

Measured result

5/5target evidence items recovered
81.4%estimated retrieval-token reduction
0whole files opened at query time

From a documented five-query baseline benchmark. These are project-specific results, not a universal performance claim.

How this works

Projects start on Upwork for now

Flying Fish Digital's own contracts aren't open yet, so work runs through Upwork.

What that means for you

  1. Upwork is a contracting platformIt handles the agreement, the milestones, and the payments between us.
  2. Your money isn't sent on trustOn fixed-price work, payment is held in escrow and released as each milestone is approved.

You'll need an Upwork account to send the first message. If you'd rather email me directly: hello@flyingfishdigital.io

Start small. Fix something real.

Have a process that eats your week?

Tell me what it looks like today. If it's a fit, I'll come back with a written scope and a fixed price before any work starts.

Flying Fish Digital's direct service is still being built, so projects run through my Upwork profile for now — where contracts, escrow, and payment protection are already in place.

Or email hello@flyingfishdigital.io