Skip to main content
jpfchang.org
Pengfan Chang (John)

About

Pengfan Chang

Hacker, researcher, and outdoor wanderer. I build software, poke at data, and write down what I learn on both sides of the tree line.

Hi — I'm John. I've been taking computers apart and putting them back together since I was a kid, and I never really stopped. These days I run Swipht Group, where I make small, privacy-minded apps and tools.

The other half of me lives outdoors. Long hikes, cold mornings, and the kind of quiet you only find a day's walk from the trailhead. That patience leaks into how I build: I like tools that are light to carry, clear under pressure, and honest about their limits. This blog is where the two halves meet.

I build small, careful software

Native apps, browser extensions, and web tools — usually with a privacy bent. I like things that are quiet, fast, and honest about what they do with your data.

I dig into data

SQL, Python, and a lot of spreadsheets. I enjoy the moment where a messy pile of numbers finally tells you something true.

I work in the open

Most of what I make is public and readable. Source, notes, and mistakes included — it keeps me honest and occasionally helps someone else.

Name
Pengfan Chang (people call me John)
Day job
Founder of Swipht Group
Home base
Wherever the work and the mountains overlap
Languages I reach for
Pascal, C, Go, Java, Kotlin, Swift, Python, SQL
Platforms
GNU/Linux, macOS, iOS, iPadOS, watchOS, visionOS, Android, the open web
Research identity
ORCID 0009-0002-9408-5801
Also here
GitHub, LinkedIn, ORCID, Bluesky, YouTube

Native

  • Swift
  • SwiftUI
  • Kotlin
  • Java
  • Flutter
  • Dart
  • StoreKit

Web

  • Astro
  • TypeScript
  • Preact
  • Cloudflare Pages
  • Workers
  • D1

Data

  • SQL
  • Python
  • Excel modeling
  • Plotly
  • research notebooks

Keeping it honest

  • Vitest
  • Playwright
  • accessibility checks
  • CSP
  • rate limits

When I'm not shipping code you'll usually find me somewhere with worse cell signal and better views — hiking, backpacking, taking photos, and learning to read the land. There's a particular clarity that shows up around the second night out that I haven't found anywhere else.

A fair number of posts here start on a trail and get written up once I'm back and thawed.

My code lives on GitHub and my company lives at Swipht Group. For anything else, the contact page is the fastest way to reach me.