Caleb Hartley — Freelance iOS Engineer
iOS apps, built end to end.
Seven live on the App Store and everything behind them, built solo — and I build the same way for clients: MVPs, AI features, and the hard backend parts.
Flagship
Chartd
Find, Share & Host Events
A two-sided platform for event discovery and ticketing — live events on a real-time map, in-app ticket sales, business tools, and an AI that surfaces what’s happening around you. Live in 20 U.S. cities on a 53,000-line Swift codebase — designed, built, and shipped solo.
“…I went from an extreme introvert to finding myself checking the app every other night to see what I can go do for fun.”
“Just moved to a new city and it’s been so easy to find events near me!”
Client
SwiftUI with MapKit & Mapbox — a real-time, clustered event map with rich profiles and live photos.
Payments
Stripe checkout wired to serverless ticketing on AWS Lambda + DynamoDB + API Gateway — per-ticket QR codes and atomic check-in.
Data
Supabase (Postgres + PostGIS) powering geospatial features and large-venue submapping from tagged floor plans.
Content
A Python + LLM pipeline that aggregates events nationwide and keeps the map fresh automatically.
Web
Marketing, business, and ticketing site on Cloudflare Pages + R2 — hand-built, no page builder.
Also on the App Store.
Three more products — and the smaller builds where I test ideas.
Products
Sidewall Society
Sports
A marketplace for custom lacrosse stringing — a 360° live-customization view and a stringer-matching algorithm.

Biobility
Health & Fitness
Personal health tracking on HealthKit — scoring algorithms for energy, recovery, and metabolism, normalized by age and gender.

Versora
Reference
An AI Scripture companion — describe what you’re facing and get verses interpreted for your own tradition of faith.

Experiments & utilities
Coming soon.
In App Store review and active TestFlight betas — a look at what’s next.
XRoads
Social · Dating
A CloudKit dating app with AI throughout — compatibility insights, first-date ideas, and a “Dream Match” that reads a reference photo to re-rank your feed. StoreKit 2 premium and on-device moderation built in.
In reviewMetaClaw
AI · Wearables
Your self-hosted AI, mobile — native chat, hands-free voice through AirPods, and live vision through Meta Ray-Bans. Connects straight to your own OpenClaw bot over Tailscale, no cloud middleman. Public beta on TestFlight — the Meta glasses SDK keeps it off the App Store for now.
Public betametaclawapp.com
More than the front end.
Native apps are only half of what ships. Here’s the backend, web, data, and automation behind them.
Backend & Payments
Serverless systems that take money
Production ticketing on AWS Lambda, DynamoDB, and API Gateway, with Stripe checkout, per-ticket QR issuance, and atomic check-in that holds up under real crowds.
If your app takes money, one person builds the checkout and the app it lives in — no hand-off between contractors.
Web
Sites, hand-built and deployed
Multi-page product and marketing sites shipped on Cloudflare Pages with R2 storage — chartdapp.com and metaclawapp.com — no drag-and-drop builders.
Your marketing site and web checkout come from the same person who ships the app — nothing waits on a second vendor.
Data & Geospatial
Maps that know where things are
Postgres and PostGIS with Mapbox for clustering, large-venue submapping, and location features — the geospatial layer most apps never attempt.
If your product needs a map — delivery zones, store finders, live inventory — this layer is already built and running in production.
Python & Automation
AI pipelines doing real work
A nationwide event-aggregation pipeline — scrapers and LLM processing on scheduled jobs — plus agentic workflows that automate the tedious parts of shipping.
Content that maintains itself — your app stays current without a content team behind it.
Cross-Platform
Not just iOS when it counts
A full Kotlin / Jetpack Compose port of Chartd for Android is underway — mirroring the iOS feature set across ~25 screen groups, so a product doesn’t have to stay on one platform.
Start on iOS without closing the door on Android — the same engineer carries the product across when you’re ready.
Work with me.
Three shapes a freelance project usually takes — and how every one of them runs.
MVP Builds
Idea to App Store, one engineer
The whole product — SwiftUI front end, AWS or Supabase backend, Stripe if it takes money. Nothing gets lost between a designer, a dev shop, and a backend contractor, because there’s only one of me.
AI Features
AI that ships inside your app
Chat, vision, voice, and content pipelines wired into production — the same stack behind Chartd AI and the MetaClaw public beta. Model choice, prompts, moderation, and cost control included.
The Hard Parts
Payments, maps, and stuck launches
Serverless Stripe ticketing, PostGIS geospatial features, App Store review trouble — the pieces projects stall on. The ticketing and the maps run in production in my own apps; the review help comes from seven App Store launches of my own.
1 — Consult
A free call to scope what you’re building — and whether I’m the right fit.
2 — Proposal
Written scope, timeline, and price before any code — no surprises later.
3 — TestFlight builds
The real app on your phone as it takes shape — not screenshots, not decks.
4 — Launch & handoff
App Store submission, review handling, then everything is yours — accounts, source, docs.
Built with.
About
Hey, I’m Caleb.
I’m a freelance iOS developer and founder who has been designing and shipping App Store apps since 2015. I build the whole product: the SwiftUI front end, the AWS and Supabase backend, the Stripe payments, and the AI in between.
I’m the co-founder and lead engineer of Chartd, a two-sided event platform live in 20 U.S. cities — and I’m currently porting it to Android in Kotlin and Jetpack Compose. Alongside my own products I take on freelance builds end to end, and I’m completing a B.S. in Software Engineering.
Let’s build something.
A free 30-minute call is the fastest way to find out if this fits — bring the idea, I’ll bring the questions. No prep, no pitch.