Columbus, OH · Full-stack developer
Jonathan SchaferFull-stack developer with a designer's eye.
I build software end to end, with a strong focus on the interface. I'm a recent Computer Science graduate from Ohio University, and I care about type, spacing, and the small interactions that make software feel considered.
About
I build software end to end, then sweat the details most people skip.
A Computer Science degree taught me to work across the stack: frontend, backend, and the glue in between. What I care about most is the part where software meets people. Type scale, spacing rhythm, and the first 200 milliseconds after a button press all matter. They are small details, but they change how finished a product feels. Most recently I've taken that beyond any single app, designing and building a complete desktop environment around one coherent design system.
My capstone, Quorum, is where that clicked. On a five-person team I led the UI/UX and built major parts of both the Flutter frontend and the Firebase backend. I learned to make design and engineering calls under the same constraints: time, scope, team size, and what the product needed. Right now I'm going deeper on React and the modern full-stack JavaScript ecosystem, and this site is part of that.
Away from a screen, I'm a competitive strength athlete. Training toward a 600-plus-pound deadlift taught me how I like to work: measure honestly, stay patient with long feedback loops, and keep making small improvements.
Skills
Frontend
What users work with
- React
- Next.js
- JavaScript
- HTML / CSS
- Tailwind CSS
- Flutter / Dart
- Qt / QML
Backend & data
What holds it up
- Node.js
- Fastify
- PostgreSQL
- Firebase
- Python
- SQL
- SQLite
Languages & tooling
The rest of the toolbox
- TypeScript
- C++
- C
- OCaml
- Git
- Docker
- Linux
- Bash
Design
The edge I bring to all of it
- Figma
- UI/UX design
- Design systems
- Design tokens
- Wireframing
- Prototyping
- Responsive layouts
Featured project
Crosstown
Columbus bus reliability, measured.
A live map of every COTA bus in Columbus, plus the reliability record the schedule can't give you. A TypeScript worker polls COTA's realtime feeds around the clock into Postgres, derives delay data against the published schedule, computes each route's on-time numbers in SQL, and streams positions to a Next.js + MapLibre front end over server-sent events. Designed, built, and shipped solo. Live and recording since June 2026.
- TypeScript
- Node.js
- PostgreSQL
- Next.js
- MapLibre
Other work
Contact
Have a role or a project in mind?
I'm looking for junior software and full-stack roles in Columbus, Cincinnati, Pittsburgh, or remote. If you think I'd be a fit, or you want to talk through a project, my inbox is open.
