First of all, Who Am I?
I'm a Father, a Husband, and a Senior Software Engineer. Writing software has been my passion since 1982, first as a hobby, then as a career beginning in 1989. It's my life's passion and I'm just as excited about it today as I was when I first got started.
Career
I've worked for small, indie shops, all the way up to Fortune 500 Financial firms.
Career Projects
Interesting projects I got paid to work on:
- Hurricane Katrina Relief - On-site in Mobile AL, as software lead for the FEMA trailer distribution system for the whole state. I maintained and rewrote the software that managed it. I'd generate reports every night that were on the President's desk every morning (yes, George W. Bush's desk).
- I created a blank neural network, pragmatically with TensorFlow and trained it to recognize about 100 different document pages and versions of those documents to automatically categorize incoming faxes identifying what contracts they were, what page from those contracts, and what versions of those pages.
- I created a Windows app for humans to draw fields around original images of the blank documents that had places for signees to sign them and fill out data. The app let us identify the coordinates of where the fields were and what kind of data those fields represented (names, addresses, social security numbers, digits, zip codes, cities, states, etc...). My software then, after identifying which document/contract, page, and version was faxed in, then identified how much rotation was in the scanned image, how much horizontal and vertical skew, how much vertical and horizontal stretching or compression, then recalculated where each field SHOULD be on that distorted scanned document to near pixel accuracy. From that we then sent that image to Google handwriting OCR, which sent us back all the characters it found and where. We looked at the ones inside our coordinate areas for handwriting to extract the handwritten text. Google's handwriting OCR was horrendously bad, but we were able to use our typed data to correct much of their errors. For example, if Google identified the capital letter "A" in a phone number, we translated it to the most visually similar digit, which would be "4". I significantly improved the accuracy of what Google sent us. Then I extracted that handwritten data and was able to enter it into a database.
- Barcode scanning, radio transmitted, live to-the-second inventory system. This was done in 1993 for a railroad company in NY that had lost control of their inventory. We designed a whole system from their mainframe to handheld Symbol barcode scanners on the floor in the warehouses to let them know exactly where every bolt and pipe was at any moment, even if it was en-route from the warehouse to an office in the same building.
- Missile System in Huntsville Alabama. I had to get a security clearance to work on this one. I just wanted to mention this one because it SOUNDS impressive. In reality, all I did was work on an antiquated Visual BASIC paycheck app in a small office for a month for a missile defense system. But HEY! I get to tell the truth that I've worked on a missile defense system! ;)
Personal Projects (for fun)
These are a few examples of some fun and interesting personal projects that I've created over the decades.
- I invented a technique to cancel sound in January 1991. I called it "anti-sound". It basically digitally inverted a sound wave and played that inverted sound in a speaker next to the original sound source. The louder I played the anti-sound, the quieter things got. It was bizarre to see it work. You know it today as "noise canceling technology". Unfortunately, I can't take credit for the one you're using today. That was developed independently from what I did.
- XBox 360 Video Game: Around 2010 or so, when MS released the .Net game SDK for Windows and XBox, my kids and I created an XBox 360 2D platformer game named Chunker (never released). My kids hand drew pictures of the characters and I digitized them to put them in the game and they voiced the sound effects. I recorded them and put them in the game. We had a LOT of fun with that and the game was actually pretty fun to play.
- BitCoin Neural Network price predictor: Created in Python with TensorFlow for the neural network. I programmatically created a neural network and trained it on scraped BitCoin price history to predict the price of BitCoin in the next 1 minute, 5 minutes, 10 minutes, and hour. I wrote a scraping service in .Net that downloaded the last hour's price history for every cryptocurrency CoinBase had, in 10 second precision. I kept that in a database and let it run for 1.5 years and trained the neural network on that data. It was mildly successful, but the hard lesson I learned at the time (around 2017) was that BitCoin is the price leader and is the hardest one to predict of all the cryptos.
- AI document scanning: For my own needs, I wrote a program using an open source AI downloadable model to extract text from my hundreds of scanned documents, then used an LLM to identify what type of document it was (gas bill, electric bill, receipt, etc...) and extract the useful information out of it.
- I'm currently developing a multi-platform transcriber that uses locally installed AI to transcribe video files, audio files, YouTube videos, and Rumble videos. I'm writing it in Avalonia, which is a tech stack similar to WPF (Windows Presentation Foundation), except it runs on Linux, Windows, and Mac, all from the same binary. It's all in .Net.
- I'm also currently developing an open source RAG (Retrieve Augmented Generation) application to let you have your LOCAL and PRIVATE A.I. read your personal documents and let you ask the AI questions about the contents of them all, so you don't have to go digging for information. The AI will just TELL YOU. For example, if you wrote someone's phone number or address or a password down in piles and piles of files, rather than spending hours looking for it, you can just ask this app, "What is Joni's phone number?" or "What password did I create for my benefits account?" and it can tell you, in plain English (or whatever language you prefer), what it is. Or you can ask it questions about instructions on how to do something for a specific use case, right now, based on generic instructions you have written down in various files. It'll give you customized and accurate instructions tailored for what you need at this moment.
It's never stale because:
I've developed software from 8 bit 6502 Assembly all the way up to creating my own Neural Networks with TensorFlow and Keras to going through the biggest paradigm shift in my life with the advent of A.I. I haven't written a single line of code for almost 2 years (aside from SQL queries), yet I've gotten MORE code written in the last 2.5 years than in the prior 41 years! All thanks to A.I.
In the back of my mind, I've been thinking of making a personal showcase website for my wares but never really had the time to spend on it, until now, thanks to A.I.
I used Claude-Code to do the manual labor of writing the code, while I shifted roles as micro-manager and System Architect for the genius A.I. programmer that simultaneously has no common sense. I started working on this site Friday night (It's now Monday morning) and it's now feature complete and ready for deployment.
The amount of quality code, adhering to best practices, and with comprehensive, full coverage unit tests that I can get in a short amount of time, was beyond every Software Architect's dreams just 3 years ago. A single developer with A.I. can EASILY beat a team of highly qualified, skilled, and experienced Software Engineers. We no longer live in the time where humans write code. That's not to say that there aren't humans STILL writing code; there are. But that's only because they're behind the times and are falling further and further behind the longer they delay leveling up OR because they genuinely love the hands-on manual coding, which is entirely understandable.
Per the comprehensive A.I. realistic man-hour estimation of all the features of this website, they total up to 880 man-hours. Looking at the breakdown of the AI's estimate based on the features it knows are implemented, I would not disagree. Note that I started this Friday night and it's ready to deploy Monday morning. I babysat the A.I. for roughly 16 hours of my time... maybe as much as 20 hours. But I was also actively monitoring a completely different project with A.I. at the same time, while also watching YouTube videos and playing with social media. So my ACTUAL time on this site was probably 2-4 actual hours of my own time.
Here's what the A.I. offered as man-hour estimates to develop this website, based on all the features that it created and the unit tests.
Total Development Time
| Category | Hours |
|---|---|
| Core Infrastructure | 120 |
| Frontend Development | 160 |
| Public Features | 168 |
| Admin CMS | 240 |
| Testing | 96 |
| Documentation & Deployment | 32 |
| Bug Fixes & Refinements | 64 |
| TOTAL | 880 hours |
I'm not bragging. This is simply where we're at now with software development today. We don't write the code anymore. A.I. does the manual labor and a good bit of the lower end mental labor, while we focus on the features and user experience... the bigger picture. It's so much more rewarding now to see my ideas come to life... ideas that I simply would not humanly have the time to get out there if I were still burdened with the manual labor of typing in the code and hunting down the bugs and testing. Those days are gone and now all my ideas are finally seeing the light of day. And I couldn't be happier!