Skip to content

About

Peek, the universal parcel tracker. Open source, for iPhone and the web.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Latest commit

 

History

1,118 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Peek's mark: two eyes on a yellow tile

Peek

Universal parcel tracker for iPhone and the web. Open source.

Paste a tracking number, a carrier link or a whole shipping email.
Peek finds the carrier, draws the journey, notifies you when the parcel moves.

The carriers are read by our engine, Universal Parcel Scraper.

CI License: Apache 2.0

Try it: peektracker.com · Run it locally · iPhone app · Host your own

Peek in a browser and on an iPhone. The browser lists deliveries as coloured cards, the next one drawn on a map of its route. The iPhone asks “Where's my parcel?” over a field to paste a tracking number, under a globe that follows a sample parcel from Shenzhen to Zürich.

What you get

Where's my parcel?
Paste what you have. Peek works out which of 3,500+ carriers has the parcel and gives it a page of its own: the journey on a map, every scan, the day it should arrive. No account needed.

Will I know when it moves?
Yes. Choose every scan, the important steps or delivery day only, on your iPhone or in your browser. Quiet hours keep the night quiet, and an email can tell you it arrived.

Following more than one?
Sign in and they share one list, on the web and on the iPhone. Each delivery stamps your passport, which you can compare with friends while your parcels stay private.

Someone else waiting for it?
Share the parcel's page with them. Wrap it as a gift, and what's inside stays a surprise until it arrives.

Four screens: a parcel's page with its route and tracking history, a globe showing a journey from Kyoto to Zürich, a share sheet wrapping a parcel as a gift, and a passport of stamps earned by deliveries.

A parcel's page · its journey · shared as a gift · the passport. Every parcel in these pictures is made up.

Also in the box: light and dark themes, seven languages (English, German, French, Italian, Spanish, Portuguese and Polish), a web app you can install, and on iPhone a barcode scanner, a Share extension and widgets.

Peek shows no ads and sells no data. A parcel followed without an account is forgotten 30 days after it arrives. The privacy notice has the rest.

Stuck? Help says what to check and where to write.

Carriers live next door

Reading carriers is a job of its own, so it has a repository of its own: Universal Parcel Scraper. It works out which carrier a number belongs to, reads that carrier's own site, falls back on universal trackers such as ParcelsApp, Ship24 and 17TRACK, and turns everyone's wording into the same delivery stages.

Peek installs it from npm and builds the rest around it: accounts, checks in the background, notifications and the two apps.

  • A carrier is missing, or tracks wrongly? Tell the scraper.
  • Want tracking without Peek? The scraper runs on its own, as a command-line tool, a Node library or a small HTTP server.
  • Curious how the two fit together? See the scraper package.

Run it locally

You need Node.js 26. No account, no database, no .env file.

git clone https://github.com/plhery/peek-delivery-tracker.git
cd peek-delivery-tracker
nvm use
npm ci
npm run dev

Open localhost:3000 and paste anything: with no server behind it, Peek answers in the browser with made-up parcels.

  • Tap Pip, the parcel with a face, to open a sample parcel.
  • localhost:3000/demo is a whole list of sample deliveries. Refresh moves them along, and Reset demo data in settings starts over.
  • localhost:3000/design/map is a study of three ways to draw a journey, from the globe to a close-up.

For real accounts and real tracking, copy .env.example to .env.local, fill in your Supabase project and set NEXT_PUBLIC_USE_API=true. Authentication has the steps.

iPhone app

A native SwiftUI app for iOS 18 and later. It isn't on the App Store yet, so for now you build it yourself: open ios/PeekDeliveryTracker.xcodeproj in Xcode 27 or newer, pick the PeekDeliveryTracker scheme and an iPhone simulator, and press Run. It starts with sample parcels, so it needs no account, no server and no Apple team.

The iPhone guide covers connecting it to a server, signing it for a real phone, notifications and widgets.

Host your own

Peek is one long-running container (the web app, the API and the worker that keeps checking carriers) next to Supabase for sign-in and Postgres, behind HTTPS. Deployment takes you through the database, sign-in, the build, upgrades and backups.

Under the hood

Next.js, React and TypeScript for the web and the API, SwiftUI for the iPhone. Supabase Auth and Postgres row-level security keep accounts apart, and a queue in the database runs the carrier checks and the notifications.

Contributing

Fixes and ideas are welcome. Contributing has the setup and the checks to run before a pull request. Carrier fixes go to the scraper. Found a security problem? Report it privately.

Made by @plhery. Licensed under Apache 2.0.

About

Peek, the universal parcel tracker. Open source, for iPhone and the web.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages