I have an announcement! CappaWork makes software now.
CappaWork.com is live.
CappaWork has become a Catholic Product Development Agency. We make products that help people flourish. We build our own tools — and yours too. I’m the lead developer.
Exciting right?!?!
“But Nate, you’ve never taken a computer science class.” (I heard you say that.)
You’re correct.
Read on.
Pivot and Go
A year ago I didn’t know the difference between a client and a server, or Java and JavaScript. In college I studied biology - like cells and DNA. In business school I studied business (surprise!) - like strategy and excel pivot tables.
But never have I ever been to a computer science class.
I’ve always wanted to be able to build software though. When I was a product developer at CVS, my work on physical products always had some software component. We had to make developer requests for changes and I always wished that I could just change it myself. But the barrier to entry was too high. I didn’t know how to code after all.
For the last 6 months I’ve been on a mission to learn how to build software.
I’m pleased to say it’s been a phenomenal success.
Vibe-Coding
In 2024, Anthropic and OpenAI both released updates to their foundational models that allowed their models to code with fidelity. Prior to that there were just too many hallucinations to make the code work.
LLMs work by auto-completing. They make a statistically-significant guess at what the next best word will be, based on the context provided. Every time you query an LLM the query and output are split into tokens. The total input and output of tokens gives you the “context window”. When these models launched in 2023, their context windows were an order of magnitude smaller than what they are now in 2025. Because software works together as a whole, when you write code in one file, it has cascading effects throughout the rest of the project. But, because the total window for input and output was too small to keep the whole project in context for the LLM, models in 2023 would write code that sounded good in that one small file, and had deleterious effect across the project. AI co-pilots literally deleted other files (it still happens).
However, in the middle of 2024 there were updates to the foundational LLM models, which included wider context windows and something called “interleaved thinking” which allows the model to take in new context while it is creating a solution. It’s wicked cool. That allowed the model to both see the wider context of the file they were modifying and allowed it to “think” through how changes in that file would affect the rest of the project.
Long story short, the models can now code really well.
So well that a new form of coding came about. In February of 2025 Andrej Karpathy, a co-founder of OpenAI, dubbed it “Vibe-Coding.” You create code by writing prompts in english. You prompt, AI codes, software comes out! It’s a vibe.
For example, rather than coding:
import { ExternalLink, Calendar } from "lucide-react"
import { getSubstackPosts } from "@/lib/substack"
export default async function Blog() {
// Add error handling for the async data fetching
let blogPosts
try {
blogPosts = await getSubstackPosts()
} catch (error) {
console.error('Error loading blog posts:', error)
// Use empty array as fallback - the getSubstackPosts function has its own fallback
blogPosts = []
you simply prompt:
Create a clickable preview of the substack posts from "natepinches.substack.com" at the bottom of the homepage. Use the same styling as the rest of the page.
It’s incredible how well it works…. at first. Vibe-coding is insane for getting a prototype, but falls apart when pushed toward production. The bigger the project, the harder it is to prompt your way to completion.
But, I saw the potential for a new extraordinary capability for me - the ability to make software by myself - so I dove in.
Looking dumb
A friend once told me “The good thing about you is that you’re not afraid to look dumb. You just ask the question. I don’t. I just pretend I don’t have a question.”
I took that as a compliment?
But it’s true. To learn anything new you have to look dumb for a bit. Sometimes in public. I have no bones about looking like a dummy, so I went to the library and got “A Complete Beginners Guide to JavaScript” and read it cover-to-cover.
I also used AI to make a coding course to teach me like a beginner.
And made an AI-GPT trained to help a newbie learn how to code.
And watched hours and hours of YouTube tutorials.
And most importantly, I tried and failed and tried and failed and … you get the picture.
I looked dumb. I learned by doing.** And it worked. My projects went from simple prompts to make a front-end, to writing Javascript directly in Cursor and connecting 3rd party authentication to a postgres backend. It’s fun.
CappaWork 2.0
Today I’m pleased to announce the relaunch of CappaWork. Call it 2.0. The CappaWork Planner was our first product, a SaaS product will be our second. And third. And fourth. And God willing we’ll turn the dreams that you have, the products that you’ve always wished existed, into reality.
CappaWork is a Catholic Product Development agency that makes software that encourages human flourishing. Some of what we make will be explicitly Catholic. Some more quietly so, like a recipe app that helps families cook meals without the distraction of ads.
Good products require a lot of things. They have to solve one problem extremely well. They have to be reliable, intuitive, transform the user, shareable and profitable. And while my skill as a developer, or vibe-coder, or whatever you want to call it is new, the actual process of creating good products is something I’ve done for years. It builds on all my experience with business strategy, design, marketing — the full stack. Actually writing the code was the last piece.
There are an extraordinary number of good products to be made. The first step toward that is the relaunch of CappaWork.com.
I built it myself and I’m proud of it :)
Benediction
Today is the Fourth of July.
We celebrate the birthday of America and in a way, freedom itself. The Declaration of Independence was written and signed by the Founding Fathers because the freedom of the people of the states had been repeatedly and systematically infringed by the King of England. They were unable to create laws, elect representatives, or trade freely - they were subject to the tyranny of the king and they wanted out. The Founding Fathers and our American ancestors wanted freedom from tyranny. And yet they also sought the freedom for life, liberty and the pursuit of happiness.
In our modern times, we seem to have forgotten that there are these two forms of freedom. Freedom from can be good to an extent, where restrictions are cast off and chains are freed. But if pursued to it’s end, self determination becomes its highest form of good, to the detriment of everything else. If we only have this kind of freedom, suddenly all constraints are bad and must be cast off, not just those that are tyrannical.
We forget that there can also be a freedom for - where a life flourishes when a good will, trained through virtuous habits, is aimed toward God by the unique constraints given it.*** A freedom for does not seek to cast off all constraints, but understands many of them to be the very ways in which we are uniquely called to God. My many children are constraints. They take my time, my money, and sometimes my health. But, my callings are also inextricably tied to my constraints. It is through loving my wife and children well that I hear the voice of God calling me to become a good father and more fully me. It is through my son’s confession of doing something stupid again that I can see my own faults and simultaneously know the Father’s love for me as his child. If I can love this little kid, how much more must the Father love me?
Even in my work, my constraints sometimes offer the way, as it is by leaning into my strengths and acknowledging my limits that I can create something no one else can, like what I hope will come with CappaWork.
This weekend I will spend my time with my many little constraints as they run in and out of the waves and get sand in my car. It will be a delight.
I wish a good dose of freedom for to you. May you find it and lean in.
-Nate
*If you spend any time on LinkedIn I’m sure you’ve seen the “I don’t know how to code and I made this app!!!” posts. I had one back in January. It crushed. A secret - those apps don’t really work. They just look like they do. But they make great posts.
** If learning to build software is of any interest to you, now is the time to start. You can get so far, so so fast. And you’re not behind, we’ve barely had the first pitch in the first inning of what you can do with AI. Get in touch if you want to know how to get going.
*** This notion is from one of my favorite books On The Road with St Augustine by James K.A. Smith. It’s wonderful.