James L. Cowan Jr.

Founder & Product Engineer

@jameslcowan

43

Articles

published

38

Narrated

with audio

6

Projects

shipped

About

I run a portfolio of software products and take each one end to end: product, engineering, infrastructure, and distribution.

I keep things simple: small stacks, working software, numbers you can check. This site runs on my own code and its analytics are public.

What I do

All services

Full-Stack Product Engineering

From database to interface, shipped to production
  • APIs and data
  • UI build
  • CI and handoff
Scope this at Kleto

Technical Consulting

Clear architecture and roadmap before you commit
  • Architecture review
  • Build vs buy
  • Delivery roadmap
Scope this at Kleto

SEO and GEO

Found by search engines and AI assistants
  • Technical SEO
  • Structured data
  • Generative visibility
Scope this at Kleto

UX/UI Design

Interfaces designed around the user, then built for real
  • Flows and wireframes
  • Design systems
  • Prototypes
Scope this at Kleto

Branding

A mark, type, and color system that holds together
  • Logo and mark
  • Type and color
  • Usage guidelines
Scope this at Kleto

Stack

  • HTMX
  • Web Components
  • JavaScript
  • Node.js
  • SQLite
  • Progressive Web Apps
  • Service Workers
  • Netlify
  • Design tokens
  • SEO and GEO

Writing

All articles

We moved a production API from Node to Bun in an afternoon @jameslcowan bun, javascript
Types without the build step: why I chose JSDoc + tsc over TypeScript files @jameslcowan typescript, javascript
Stop renting your tools: the case for replacing the software you pay for with software you own @jameslcowan product-engineering, ai
Replacing the SaaS bill: how I built my own analytics, uptime, and BI stack with agentic development @jameslcowan analytics, observability
Holding Company Structure for Bootstrapped Founders: Why I Skipped the Delaware C-Corp @jameslcowan holding-company, bootstrapping
The YC S26 Deadline Just Closed. Here's What Separates the 1.5% From Everyone Else. @jameslcowan startups, yc
Karpathy Was Wrong: OpenClaw Still Outruns Its 5 Real Alternatives @jameslcowan openclaw, ai
Mobile-First Layout That Ships: How PrimaryLayout Solves Real UX Problems @jameslcowan htmx, css

Listen

Narrated articles

The YC S26 Deadline Just Closed. Here's What Separates the 1.5% From Everyone Else. @jameslcowan startups, yc
Karpathy Was Wrong: OpenClaw Still Outruns Its 5 Real Alternatives @jameslcowan openclaw, ai
Mobile-First Layout That Ships: How PrimaryLayout Solves Real UX Problems @jameslcowan htmx, css
OpenClaw: What It Is and How to Get the Most Out of It @jameslcowan openclaw, javascript
Zero-Server Analytics: How I Replaced a SaaS Bill with Netlify Functions and GitHub @jameslcowan netlify, analytics
How do you connect a simple front end to a typed API? @jameslcowan typescript, javascript
What makes an internal tool survive the first hire? @jameslcowan smb, documentation
What is SQLite good for at the edge of a system? @jameslcowan sqlite, postgresql

Projects

What I ship
jameslcowan.com jameslcowan.com
james.qa james.qa
Kleto kleto.com
powerlift.ing powerlift.ing
itrain.ing itrain.ing
ukraineuy ukraineuy.com

Recommended

We moved a production API from Node to Bun in an afternoon @jameslcowan bun, javascript
Types without the build step: why I chose JSDoc + tsc over TypeScript files @jameslcowan typescript, javascript
Stop renting your tools: the case for replacing the software you pay for with software you own @jameslcowan product-engineering, ai

Recommended

We moved a production API from Node to Bun in an afternoon @jameslcowan bun, javascript
Types without the build step: why I chose JSDoc + tsc over TypeScript files @jameslcowan typescript, javascript
Stop renting your tools: the case for replacing the software you pay for with software you own @jameslcowan product-engineering, ai

Search by title, tag, description, or the prose itself. Results appear as you type.