Bill Baran.

Bill Baran

Software architect in Boise, Idaho, building reliable payment, cloud, and AI-enabled systems.

I build systems that stay up, retire technical debt on purpose, and bring new technology into critical environments responsibly. For 28 years that has mostly meant government payment and licensing services; lately it also means AWS architecture and AI-assisted development. Below are four apps I run every day, each with a working demo. There's also how I build with LLMs, and you can email me.

  • Government payments
  • Legacy platform retirement
  • AWS modernization
  • AI-assisted development

Things I run every day

These are self-hosted apps I use daily. Each demo runs the app's own page code on invented data, because the live data comes from services licensed for personal use.

Kotoba no Sekai

Learn a few real Japanese words a day from today's news.

TypeScript, Node, kuromoji, SQLite, Ollama, Docker

Equity Watch

Price alerts that don't stop at "it fired."

AI agents can drive it through WebMCP, the new browser standard for agent tools.

TypeScript, Node, WebMCP, MCP, Vanilla JS dashboard, Lambda

Outlier Caucus

Scores every stock trade Congress discloses for how unusual it is.

TypeScript, Node, MuPDF, Ollama vision OCR, SEC EDGAR, Docker

Spread Book

Daily exit decisions and greek risk heatmaps for a book of credit spreads.

JavaScript, Node, SheetJS, SVG, Docker, supercronic

Scheduled agents that are cheap and reliable

Three MCP servers I wrote, for Substack, Medium and Spotify, plus the Hermes skills and cron jobs that use them. They produce a daily reading digest and a playlist twice a week. Moving the bookkeeping out of the prompt and into code cut the Medium digest from $3.26 to $0.27 a run. The Substack digest and the playlist now run entirely on a local model.

Step through a real run
The model acts at steps 2, 3, 4 and 6. Everything in the server lane is code.
One digest run, split between the model and the server
Modelanswers narrow questions against a JSON schema; never calls a toolCodethe job and the MCP server: fetching, ranking, refs, layout, state, delivery1
digest_begin
Fetches everything new, drops what was already reported, ranks every headline with Jev, gives each post a ref: F1 T2 Y3
2
Shortlist
From the ranked headlines, which refs are worth reading. Fewer when a section is weak
3
read_post "F3"
The job fetches each shortlisted post; the server looks the ref up in the run file
4
Verdict per post
Type, gist, depth 1–5 and why, from the full text. Never sees a URL
5
Stars
Which posts are worth reading in full. None is a valid answer
6
digest_finish
Checks every ref, refuses a section left empty by mistake, saves state, lays out the message
7
Discord webhook
The job posts the message. No model handles it

The model acts at steps 2, 3, 4 and 6. Everything in the server lane is code.

Skills

Software architecture
System integration, Event & queue-driven design (RabbitMQ, SQS), Reactive systems (Reactor, RxJava), API design (REST, SOAP), Retiring legacy platforms
AWS cloud
CloudFormation, Elastic Beanstalk, ElastiCache (Valkey), Aurora PostgreSQL, S3 + CloudFront, Lambda, SQS, Route 53, IAM least-privilege, ECR, Bedrock
Docker, IaC & CI/CD
Docker & Compose, Infrastructure as code, GitHub Actions, Jenkins, Gerrit code review
Java
Spring / Spring Boot, Micronaut, Grails, Groovy, Embedded Tomcat, Apereo CAS, JUnit
TypeScript & Node
Node.js, TypeScript, Vitest / node:test, Playwright, Zod
LLM & agent engineering
MCP servers, Claude Code (incl. on Bedrock), Team conventions & CLAUDE.md, Agent skills & cron workflows, Local models (Ollama, Qwen), Eval-driven prompt & classifier tuning
Data
ANSI SQL, Oracle & PL/SQL, PostgreSQL, MySQL, SQLite, Oracle to Postgres migration, PDF & OCR parsing pipelines
Security & compliance
PCI DSS deployment scanning, Audit documentation, PII handling, Encryption (incl. WebCrypto)
Payments & government systems
Payment processing services, Scheduled & recurring payments, Subscription invoicing, Licensing systems

Experience

  1. 2000–now

    Senior Software Engineer, Access Idaho (NIC, now Tyler Technologies)

    Boise, Idaho

    Since 2000 I’ve built and run Idaho’s online government services: payments, billing and licensing handling money and sensitive personal data. In a small office, I own applications end to end and also take on security, audits, legacy retirement, and architecture planning with our Director of Development.

    • Built payment services that stay up. I designed Scheduled Payments for recurring citizen payments and the final version of Subscriber Billing for monthly business invoicing. Both run on NIC’s payment platform and have operated for about 15 years with no real downtime.
    • Retired a legacy platform without a big-bang rewrite. Over about ten years, I moved each application off our original billing and app platform using the least risky path for it: rewrite onto NIC payments, handoff to the agency, or migration to NIC or Tyler low-code products. The last pieces retire by the end of 2026.
    • Built reactive licensing middleware for recoverable delivery. I designed services connecting a Tyler low-code licensing product to an agency database of record. They use Micronaut and Spring Boot with Reactor, RxJava and RabbitMQ, with message handling designed to preserve work through service and broker failures. They were our first production use of both frameworks.
    • Automated infrastructure and deployment. I automated production deploys from Jenkins and made CloudFormation the standard for new AWS environments, reducing sysadmin work. I’m now preparing applications for separate sandbox, test and production accounts, containers, and ElastiCache-backed load balancing.
    • Modernized application and database platforms. I’m moving Grails applications from Grails 3 on Java 11 to Grails 5 on Java 17, and databases from Oracle to Aurora PostgreSQL; newer services run on Java 21. I also run PCI DSS security scans on production deployments and write audit documentation for outside approval.
    • Brought AI-assisted development into the office. I made the case for developer experimentation, served as an early-access AI champion in Tyler’s rollout, and wrote Claude Code conventions for our Grails stack and in-house plugins. I introduced Playwright and pushed us to use AI for tests and documentation that had long been deferred.
  2. 1998–2000

    DBA / Developer, Geneer

    Chicago, Illinois

    • DBA on a global Oracle system for Dow Chemical that tracked the distribution of a controlled termiticide. I wrote the PL/SQL and the batch jobs that loaded bulk data into the system of record.
    • Worked on site with the client’s lead DBA, gathering requirements for changes to the whole data model.
  3. Education

    BS Computer Science, Rose-Hulman Institute of Technology

    Minor in mathematics

  • cloudformation-foundation ↗My personal infrastructure-as-code toolkit: reusable CloudFormation building blocks.
  • cron-llm ↗The runtime for scheduled LLM jobs: JSON-schema questions, a bounded tool loop, an MCP client and Discord delivery, with no agent framework in between. The digests and the playlist run on it.
  • etf-compare ↗Upload ETF holdings files and compare their overlap side by side.
  • job-ledger ↗Bookkeeping for scheduled LLM jobs: runs, refs, seen sets and atomic state, so the model only judges. The shared library under the MCP servers.
  • paced-fetch ↗Polite HTTP for MCP servers: per-host pacing, Retry-After, and a fail-fast stop when a site blocks you.

Off the clock

Self-hosting

A home server runs my Docker stack: every app on this site, the scheduled jobs that publish them, an agent harness, and a local GPU model that handles most of the LLM work for free. If a SaaS has a monthly fee and an API, I have probably thought about replacing it.

3D printing

Functional parts, designed myself. I learned Fusion 360 to model them, most recently a set of brackets for LED lighting. Measure, model, print, then reprint once more.

Learning Japanese

Slowly, through real news. Kotoba no Sekai began as my own study tool: a few new words a day, at my level, each with the sentence it came from. See Kotoba no Sekai.

Options and markets

I trade credit spreads and track a long-term portfolio, so I build my own tools for it: alerts that suggest what to do next, risk heatmaps, and a look at what Congress is trading. See Spread Book.

Contact

I take on occasional consulting and contract work, and I'm open to the right senior engineering or architecture role. The problems I know best are moving systems to AWS, retiring legacy platforms, payment and integration architecture, and bringing AI-assisted development to a team. If that's what you're working on, or you're curious how something here works, email is the best way to reach me.

GitHub ↗

The address appears when you click, which keeps it out of spam scrapers.