I began close to the machine: a Commodore 64, x86 assembly, software renderers, and demos small enough to measure in bytes. The tools grew larger. The reason to keep learning became simpler.
This is not the polished résumé version. It is the longer thread — experiments, unfinished work, illness, faith, service, systems at scale, and the responsibilities I carry now.
I learned to program because I wanted to make games. That childlike impulse became an education in what a computer is actually doing.
I started at five or six on a Commodore 64. Before there was an internet to consult, a friend and I attempted a text-to-speech game and a multimedia player. If we did not understand something, we had to reason our way through it or leave it broken.
The demoscene gave that instinct a community. It asked a beautiful question: how much of a world can you coax out of very little code?
The whole craft was learning how much a small machine would agree to become.
1996
NAID and four kilobytes
As Vector with Vertigo, I brought Dream Cycle to NAID 1996 and worked in x86 protected-mode assembly on Faith, a 4K MS-DOS intro with its own software rendering. We also had a lamer moment: Dreaming in Blue had already been presented, so entering it again broke the rules. I do not need to polish that out of the story.
1997
Nature
Nature ran under DOS and Windows with software and 3dfx Glide rendering paths, and placed first at Crash 1997. The surviving scene record suggests it may have been the first released hardware-accelerated 3D demo. I once argued against giving us that credit; another scener later corrected the chronology upward.
1997–1999
From a demo to Synchronous Software
Nature made us think our experimental graphics work might become something larger. We co-founded Synchronous Software in Bradford, where I worked on an in-house 3D engine in C and x86 assembly with rendering paths for Direct3D, Glide, OpenGL, and PowerVR hardware. When the visa situation would not work, that chapter closed.
Nature by Vertigo — code, design, meshes, and art; first place at Crash 1997.Open on YouTube
There was no general-purpose engine beneath this work. Video modes, memory, meshes, transforms, rasterization, and hardware-specific rendering paths were things to understand directly.
I also wrote material for other programmers, including tutorials on VBE 2.0 and 3D shadows. The surviving Hornet archive still carries the VBE tutorial.
A website written for a plane ticket led to a programming department in Guatemala. The years that followed were productive, uneven, and finally life-changing.
After leaving Synchronous, I learned to mix music on turntables and built an ActivePerl website for a travel agency in exchange for a plane ticket. Walking through Zone 10 in Guatemala City, I saw SoluciónWeb and asked whether they needed programmers. They only had a design department, so I helped establish the programming department and eventually served as CIO.
I was learning that technical ability does not automatically make someone dependable. Some work from this period went well; some did not. Both belong in an honest account of the craft.
The most important decision in this story was not technical.
2000–2001
SoluciónWeb
I hired programmers, administered Linux servers, selected equipment, wrote proposals, and managed client relationships. We built Java, PHP, DHTML, and Java-applet systems: real-time chat, room-painting simulation, online/offline catalogs, configurable database presentation, and World Village of Children for Plan International. I left for college before the Plan project was finished; the team was left to carry it, and it was later canceled after the September 11 attacks before its planned United Nations presentation.
2001–2004
Reed, TriMet, and unfinished work
At Reed College I moved from Physics and Economics toward Mathematics and Anthropology, writing programs for students and faculty along the way. A TriMet summer role used Java, ArcGIS, Oracle, and XSLT to turn transit data into web output. In 2004 I also worked on a Java point-of-sale system that was not finished as well as it should have been.
2005–2006
Rails, illness, and the decision that mattered
I began working with Ruby on Rails, including CMS ideas such as Papercup and production tooling explored for Studio C. At Studio C my contribution was mostly Linux support, server administration, and troubleshooting; I was sick and did not do especially strong work. Illness and poor choices also forced me to leave Reed in my junior year. By the grace of God, I gave my life to Jesus Christ — the most important decision in this entire story.
Technology and scope 11 threads
What changed underneath the technology
This period widened the work from graphics into business systems, proposals, hiring, operations, geographic data, and web applications. It also exposed the difference between being able to solve a technical problem and being healthy enough to carry responsibility consistently.
Coming to Christ did not erase the consequences of earlier choices. It changed who the work belonged to and what I believed a life was for.
ActivePerl
Java
PHP
DHTML
Java applets
Linux
Microsoft SQL Server
ArcGIS
Oracle
XSLT
Ruby on Rails
03
03 2007–2014
Animation, applications, and scale
From simulated bodies to systems at scale
Personal graphics experiments reopened professional 3D work, while Rails and backend systems grew into applications serving very large audiences.
I kept experimenting in Unity3D: metaballs, Marching Cubes mesh generation, and a soft-body physics system. By God’s grace, CMune saw that work and contacted me. The path from a personal experiment to a Beijing game team was direct.
At the same time, web applications were becoming a second deep track. The common thread was still interaction: how data, images, bodies, and people move through a system.
2007–2009
Unity3D, CMune, and Biznet
At CMune I led work on a Unity3D character-animation tool with inverse kinematics and custom AI elements, developed an MMORPG proof of concept with AI-controlled enemies, and later moved to Beijing to work on the MMORPG. I also did some basic, unpublished iOS work and an Apple desktop update widget. This overlapped with Biznet, where I audited a major Guatemalan e-commerce platform, led a Rails photography-community application, worked with CMS systems, and administered Linux servers.
2010–2013
Rails for a broad learning audience
I developed and maintained Rails and PHP applications, including upgrading the Rails foundation of 123TeachMe and contributing dynamic learning widgets and tools used to produce grammar workbooks. I also built a PHP WYSIWYG content-management system and kept deepening practical work in Linux, virtualization, networking, and security.
2014
Visual computing behind millions of players
At CrowdStar I worked behind a fashion game with millions of monthly active users without needing to make the product name the center of the story. The work included a low-level server-side garment rasterizer in C, image-similarity and garment-analysis algorithms in D, deep mining of MySQL and Couchbase data for garment correlations, and parallel processing across hundreds of AWS compute workers.
Documentary material
123TeachMe today. My Rails and learning-tool work was from 2010–2013, when the site had a different presentation.
Technology and scope 13 threads
Two tracks that became one practice
The 3D work required geometry, animation, physics, rendering, and tool design. The application work required migrations, APIs, databases, production operations, testing, and attention to real users.
By 2014 those tracks met in backend visual computing: pixels and garments at one end, large datasets and distributed workers at the other.
Unity3D
Marching Cubes
soft-body physics
inverse kinematics
game AI
Ruby on Rails
JavaScript Canvas
C
D / vibe.d
OpenCV
MySQL
Couchbase
AWS parallel processing
04
04 2015–2019
Work was no longer the whole point
The craft became a way to serve
Professional work continued, but these years were also spent preaching, serving people experiencing homelessness, and learning what need looks like up close.
After 2014, by God’s grace, my health and professional performance became steadier. I continued consulting, but I also spent substantial time in Christian ministry across Guatemala, Haiti, Canada, and the United States. Some stops lasted days, others weeks or months. The point was not to collect places; it was to preach Christ and serve whoever was in front of me.
This season changed what I wanted technology to be for. Craft could remain joyful and difficult without becoming the center of the life.
The craft remained important. It stopped being the whole point.
2014–2016
Backends designed to hold up
At MILKnCOOKIES I developed and operated two mobile backends: a Java system on Google App Engine for photo printing, and a carefully tested Rails 4.2 application. One product was Glist, which let people swipe through donated goods available nearby. The work included mobile APIs, geolocation, proximity search, documentation, test-driven development, and production support.
2017–2018
Virginia with a plane ticket
I arrived in Virginia with a donated plane ticket and no housing, stayed first in a homeless shelter, and took the first work I could find. Full-time work at the Goodwill Outlet — the Bins — helped me leave the shelter. I sometimes biked twelve miles through snow or spent two hours on buses to get there. I enjoyed the fast work and the people, and later used my tax refund to continue ministry in Haiti, Oregon, Seattle, and Vancouver.
2015–2019
Intermittent software, ministry, and a brief dinosaur world
Between ministry travel I built websites, WordPress extensions, Linux systems, and a browser-based 3D virtual mall in Unity3D. In 2019 I spent about three weeks reconstructing Dinosaur Adventure Land from satellite imagery, including cabins and roaming dinosaurs. I enjoyed the work, but left when a difference in Biblical interpretation made continuing together unwise.
Technology and scope 11 threads
Why this belongs on a page about craft
Technical judgment is partly judgment about people: what they can afford, what conditions they live under, what can realistically be maintained, and whether a system serves them or merely impresses its maker.
The shelter, the Bins, street ministry, and small consulting jobs taught that lesson in ways an engineering title could not.
Ruby on Rails 4.2
test-driven development
Java / Google App Engine
geolocation
mobile APIs
WordPress
Unity3D web builds
Linux administration
KVM
VirtualBox
Xen
05
05 2019–2025
Security, operations, soil, and students
Wider responsibility, carried more steadily
At PRAIND the work expanded across security, infrastructure, mobile applications, and leadership. At the same time, ministry, farming, and teaching kept it grounded.
I joined PRAIND as a consultant in 2019, became a full-time engineer in 2021, and a partner in 2023. That continuity matters to me. I was no longer moving from experiment to experiment; I was helping carry a living regional system year after year.
The work was technical, operational, and human: modernize without breaking what people depend on, secure the important paths, teach teammates, and keep learning.
2019–present
PRAIND
I work across high-availability infrastructure, security consulting, iOS and Android applications, payments, Django modernization, self-hosted AI, and critical Rust services. The systems include FreeBSD, OpenBSD, Linux, Cloudflare Workers, load balancers, MariaDB Galera, Kafka, and WireGuard. I also guide teammates in software, testing, security, and operational practice.
2020–present
Digital ministry with Impacto
I created a maintainable web presence for Impacto Ministry in 2020 and continue to operate its website and supporting online services. It is digital missionary work with a ministry sharing the gospel and serving children, families, pastors, and communities across Guatemala.
2020
Six last places, one open door
When COVID moved Revision online, I was excited that I could enter a major European demoparty from home. I prepared eleven entries to share the gospel; six were selected for competition, and each placed last in its category. It seemed almost fitting: “the last shall be first.” The placement was not the point. I was grateful that the shown 4K gave me an opportunity to speak about Jesus before so many people.
2023–2025
A farm and a classroom
For much of October 2023 through June 2025 I worked roughly 32–35 hours each week at 12 Seasons Farm while continuing substantial PRAIND engineering. I managed the farm’s intentionally simple online store and installed a Wi-Fi mesh across much of its 23 acres. In 2025 I also taught software development at Sonshine Christian Academy and led four applications supporting school administration, programming education, adult learning, and a council of private schools.
Documentary material
Safety Record — one part of PRAIND’s occupational-safety platform.Impacto Ministry — developed in 2020 and still operated and updated today.Sonshine Christian Academy — one of four education and administration applications led in 2025.
Technology and scope 12 threads
The mature systems lesson
Reliability is not a product screenshot. It is backups that work, migrations that do not strand users, security practices people can follow, and infrastructure that can survive ordinary failures.
Farming and teaching reinforced the same lesson: systems have to work in weather, budgets, schedules, and human hands — not only in an architecture diagram.
Today I may write code directly, guide a human team, or direct AI agents and then review, test, and integrate their work. Honesty about those differences is part of the craft.
I founded Love Jesus Software in 2025 to build useful technology, support gospel ministry, and serve people with genuine needs. The work spans secure web and mobile systems, infrastructure, FPGA prototyping, AI integrations, Bible and translation workflows, and visual media.
The current frontier is not “AI wrote it, therefore nobody is responsible.” The responsibility becomes clearer: define the real problem, provide context, choose an architecture, inspect the result, test it, integrate it, and tell the truth about who or what did each part.
The work is mine to steward, even when every line is not mine to type.
2025–present
Love Jesus Software and FaithStack
The practice now includes ministry and community sites, secure application foundations, Bible Systems, translation workflows involving Hebrew, Greek, Hindi, and other languages, communication infrastructure, and reusable FaithStack patterns. I aim to charge fair rates where organizations can afford them so there is room to help those who cannot.
2026–present
BRECTS
As Co-Founder and Chief Technology Architect at BRECTS, I apply research technology and AI to international-development strategies and investigations. That includes evidence-synthesis experiments using sources such as OpenAlex and SemMedDB, including exploratory work around Ebola, while being careful to describe this as research technology rather than epidemiology. I also help shape websites, online-media strategy, and the pipelines behind communication.
2026–present
Lambelujah
Lambelujah brings human artists and AI tools together to create Christian media for children. Glory to God, its YouTube channel grew from roughly 300 to more than 100,000 subscribers in one month during its second month. I lead product and technical direction, directing AI-assisted implementation and reviewing, testing, and integrating the work. Current development includes an HTML5/WebGPU node-based nonlinear editor with AI decision points, audio analysis, custom word-art generation, and planned live-broadcasting features.
Documentary material
BRECTS — research technology, systems, and communication for international development.Lambelujah — human artists and AI tools creating Christian media for children.
Technology and scope 12 threads
What “worked on” means now
For systems such as the Lambelujah editor, AI agents produce much of the implementation. My work is constructing the product and technical direction around them: requirements, architecture, prompts and context, review, debugging, testing, integration, and deciding what is trustworthy enough to ship.
That is different from writing every line, and the page should say so. It is also different from pressing a button and accepting whatever appears.
TypeScript
HTML5 / WebGPU
WGSL
AI-agent direction
audio analysis
node-based editing
FPGA prototyping
OpenAlex
SemMedDB
evidence synthesis
media pipelines
multilingual Bible tooling
The work now
The tools changed. The responsibility did not.
Today I work with human teams and AI agents across software, infrastructure, research, and media. The tools have changed, but the responsibility has not: understand the real need, build carefully, tell the truth about limitations, and use the craft in service of people.
The aim is not to make technology look impressive. It is to use the part I have been given faithfully, charge fairly where people can pay, and make room to help those who cannot.
Verified release record
Small programs, long memory
The releases below are kept separate from the narrative: a compact record of the early work and the return to the scene years later.