Skip to content

James Allman | JA Technology Solutions LLC

Custom applications for the work no package fits

If the way your business runs a process doesn't match any product you can buy, and you've patched the gap with a spreadsheet, a manual rekeying step, or an export-and-reimport ritual someone redoes every week, that gap is what custom software is for. I design and build applications that fit how your operation actually works, on IBM i, Linux, Windows/.NET, and the web.

The problem custom development solves

A packaged system does eighty percent of what you need, and the missing twenty percent is the part that makes the business yours. So the work happens around the software: a clerk rekeys orders between two screens, finance maintains a parallel workbook the ERP can't produce, and a temporary Access database from 2014 is now load-bearing.

Each workaround is fragile, undocumented, and invisible to leadership. It costs an hour here, a data-entry error there, and it breaks the moment the routine is interrupted or a step is done out of order. Custom development replaces those rituals with software that does the actual job: an application that captures the order once, a report the system generates on its own, a database with validation and an audit trail instead of a shared spreadsheet anyone can overwrite.

The same order, before and after: keyed into the ERP, rekeyed into a parallel spreadsheet, then exported into a side database nobody owns, versus a single application that captures it once, validates it, and keeps the audit trail.

Before

ERP · Order Entry
orders keyed in here
rekey by hand ⚠
orders.xlsx
finance's parallel workbook
export / reimport ⚠
tracker.mdb
Access, 2014 — now load-bearing

After

Order Intake
Validated
CustomerSmith Grocery
PO number48217
Line items12
StatusPosted to ERP
Audit trail: entered once, validated, synced, logged

See a custom web application in action →

What I build

  • Workflow-specific tools and utilities
  • Applications that extend or complement existing enterprise systems
  • Maintaining, enhancing, and modernizing existing custom applications, including undocumented or hard-to-change legacy code
  • Spreadsheet-to-database conversions for workbooks several people depend on
  • Web applications connected to existing business logic and data
  • Mobile applications for field operations, remote access, and ruggedized handheld devices: including programmable barcode scanners and mobile data terminals
  • Reporting applications with interactive data visualization
  • Automation of manual processes: data entry, file processing, reconciliation
  • Cross-platform applications that work across IBM i, Linux, Windows, and web

How I choose the technology

The technology fits the environment, not the other way around: Java, RPG, and SQL on IBM i; Java, Go, and Rust for cross-platform services on Linux, with Bash, Zsh, and Python for scripting and automation; C# and .NET on Windows, with PowerShell for scripting and automation; native mobile apps for iOS (Swift) and Android (Kotlin), including ruggedized Zebra handhelds and barcode scanners with full EMDK support; and JavaScript and TypeScript with React or Vue for web interfaces, on any platform. I build with longevity in mind, because most custom software stays in service far longer than the project that created it.

See it in action for an example of a modern web application built with the same tools and approach I use for client work.

Existing code, not just new builds

Custom development is as much about the application that already runs your business as the one that does not exist yet. Often the work is inheriting an existing custom system (a VB6 front end, an Access database, a set of RPG programs, a Linux service with no documentation, an in-house tool that has grown brittle and undocumented) and keeping it running, extending it, and modernizing it in place rather than through a rewrite nobody asked for. Reading unfamiliar code and making it safe to change is part of the job.

How an engagement starts

Most custom work starts small: a discovery conversation about the workflow, then a tightly scoped first piece that proves the approach before anyone commits to the whole thing. I would rather ship something useful in week one and expand from there than disappear for three months and hope the spec was right. I review the work and provide a quote before any billable work begins.

Free developer tools

Developers building or extending custom applications can use these free browser-based tools for the everyday utilities that come up during development: pattern testing, auth inspection, ID generation, and query formatting.

Related capabilities

Custom applications often connect with system integration, database development, modernization, custom reporting, and cloud deployment.

Further reading

Off-the-Shelf vs Custom Software: when standard software handles the common case but not the part that makes your business different.

When Your Spreadsheet Should Have Been a Database: the most common trigger for custom application development.

Microsoft Access, Excel, and VBA: when these tools need to become professional applications.

Build faster with the free developer tools: regex tester, JWT decoder, cron builder, hash generator, and more. Browse free tools →