HACKATHON STARTS IN
00
Days
:
00
Hours
:
00
Min
:
00
Sec
50 members to unlock
PASSHACK v1 — BUILD. SHIP. WIN. $100 PRIZE — APPLE WALLET PASSES — MOBILE FIRST MORETHANCODER COMMUNITY HACKATHON MARCH 2026 — ONE WEEK — SHIP OR SINK PASSHACK v1 — BUILD. SHIP. WIN. $100 PRIZE — APPLE WALLET PASSES — MOBILE FIRST MORETHANCODER COMMUNITY HACKATHON MARCH 2026 — ONE WEEK — SHIP OR SINK
wallet
MoreThanCoder Community Hackathon

BUILD A
PASS MAKER

Design and develop a mobile-first app that creates real Apple Wallet passes (.pkpass). Templates, live preview, server-signed passes. One week. One winner. $100.

$100
Prize
1 WK
Timeframe
50+
Members to Start
LIVE DEMO

Real pass.
Real wallet.

This is what your app needs to produce — a valid signed .pkpass file that downloads and adds directly into Apple Wallet. No mockups. No fakes. The real thing.

Build This →
01

How to Enter

01

Like the Post

Find the PASSHACK announcement post in the Skool group and hit like. This registers your interest.

02

Drop a Comment

Comment on the post. Tell us your stack, hype yourself up, or just say "I'm in." Anything counts.

03

Invite 2 Developers

Share the group link with at least 2 developer friends. We grow together — more devs, better competition.

02

When Does It Start?

The hackathon officially begins once we hit 50 enrolled members in the Skool group — and the deadline to hit that number is Monday, March 9th, 2026.

Once the threshold is met, you'll have one full week to build and submit your app. The clock starts immediately, so be ready.

Spread the word. Invite your friends. Let's make this happen.

03

The Challenge

Build a mobile-first web app that lets users create real Apple Wallet passes (.pkpass) from customizable templates.

Users pick a template from a store, fill in their data through a dynamic form, see a live preview of the pass, and when they're ready — press "Add to Wallet" to sign it through our API and download the real .pkpass file.

The passes must be signed using the MoreThanCoder signing API. Submissions that don't produce downloadable, valid .pkpass files from the API will be automatically rejected.

See full requirements →

R

Full Requirements

Every requirement marked REQUIRED must be implemented. Items marked BONUS earn extra points.

Authentication

  • Gmail / Google sign-in is required. No email+password fallback needed. Required
  • Sign out, sign in, and delete account must be available in Settings. Required
  • All app routes must be protected behind auth. Required
  • Guest sign-in — guests can only create cards from the default template. They must sign in to purchase templates or use "Add to Wallet." Bonus

Template Store

  • Templates are fetched from a database (Firebase, Supabase, or your choice). Required
  • Each template includes: category, fields array, and metadata. Each field has: field name, type, and default value. Required
  • Users "buy" templates via a mocked purchase flow (no real payment). Purchased templates appear in the user's library. Required

Create Pass Page

  • Displays the user's purchased templates, grouped by category. Required
  • Selecting a template generates a dynamic form based on that template's fields. Each form input must match the field's declared type. Required
  • Supported field input types: Text, Number, Date, Date+Time, URL, Phone, Email, Image/Thumbnail, Barcode/QR, Color, Location, Currency. Required
  • The create page must show a live preview of the pass as the user fills in the form. The preview must reflect the pass category layout. Required
  • After creating a card, it is saved to the user's cards and displayed in an Apple Wallet-style card view with an "Add to Wallet" button. Required

Apple Wallet Integration

  • When user presses "Add to Wallet", the app sends pass data to the MoreThanCoder signing API. Required
  • The API signs the data into a valid .pkpass file and returns the binary. The user downloads it. Required
  • Do NOT send signing requests for cards the user has only created/saved but hasn't pressed "Add to Wallet" for. Signing only on explicit user action. Required
  • Submissions will be automatically rejected if the pass is not downloadable from the API. Required

Signing API Reference

Base URL:

http://signpkpass.api.morethancoder.com

Method Endpoint Description
GET/healthHealth check (no auth)
POST/passes/genericGeneric / loyalty / membership pass
POST/passes/couponCoupon / discount pass
POST/passes/event-ticketEvent ticket pass
POST/passes/boarding-passBoarding pass (requires transitType)
POST/passes/store-cardStore card / retail loyalty pass
POST/passes/business-cardBusiness card (generic style)
POST/passes/documentDocument pass (generic style)

The API is protected by JWT. The JWT secret will be provided to participants in the Skool group resources.

All pass endpoints accept multipart/form-data with a pass_data JSON field and optional image files.

Response is application/vnd.apple.pkpass binary (ZIP archive).

Refer to the full API documentation provided in the group resources for pass data format, field definitions, barcode formats, and example requests.

Language & Localization

  • Full Arabic language support with proper RTL layout. All UI elements, text, navigation, and icons must mirror correctly. Required
  • English language support with i18n translations and seamless language switching. Bonus

Settings Page

  • Sign out, sign in (if signed out), delete account. Required
  • Light / Dark mode toggle. Bonus

Bonus Points Summary

  • Guest sign-in with limited access
  • Custom fonts on Memo Card text
  • Light / Dark mode toggle
  • English language support with i18n
  • Smooth animations and micro-interactions
  • Offline support / PWA
  • Additional pass categories beyond required
  • Clean, well-documented code and README
  • Responsive across multiple screen sizes

Tech Stack

No restrictions. Use any frontend framework or library you want — React, Next.js, Vue, Nuxt, Svelte, Flutter Web, or anything else. The only rule: it must be mobile-first.

For auth, database, hosting — your choice. Firebase, Supabase, PlanetScale, Vercel, Netlify — whatever you ship fastest with.

§

Rules

  • 01Enrollment: You must like the announcement post, drop a comment, and invite 2 developers to the Skool group. All three actions are required to be enrolled.
  • 02Start condition: The hackathon starts when the group hits 50 members, deadline is Monday, March 9th, 2026. Once triggered, you have one full week to submit.
  • 03Solo or team: You may work solo or in a team of up to 2 people. If team, the $100 prize is split between members.
  • 04Original work: Your submission must be original work built during the hackathon period. Using boilerplate, starter templates, or libraries is fine — copying an existing project is not.
  • 05AI tools: You may use AI coding assistants (Copilot, ChatGPT, Claude, etc.). This is a shipping competition, not a purity test.
  • 06Signing API: Your app must use the MoreThanCoder signing API at signpkpass.api.morethancoder.com. Submissions that produce passes not signed by this API will be automatically rejected.
  • 07JWT Secret: The API is protected by JWT. The secret key will be shared in the group resources. Do NOT hard-code the JWT secret in your frontend code — use environment variables or a backend proxy.
  • 08Mobile-first: The app must be designed and built mobile-first. It should work beautifully on mobile screens. Desktop support is a plus, but mobile is the priority.
  • 09Submission format: Submit a public GitHub repository link + screenshots or a video demo. No live deployment required. Post your submission in the Skool group with the [SUBMISSION] tag.
  • 10Deadline: Submissions must be posted before the deadline. Late submissions will not be judged. The exact deadline will be announced when the hackathon starts.
  • 11Code quality: Clean, well-structured, readable code earns bonus points. Spaghetti code won't disqualify you, but it won't win you any favors either.
  • 12Respect: Be respectful to other participants. Help each other. Ask questions in the group. This is a community event — compete hard, but keep it friendly.
J

Judging Criteria

Submissions will be evaluated across the following criteria. The winner is the submission with the highest total weighted score.

Criteria Weight What We're Looking For
Functionality35%Does the app work? Are all required features implemented? Can passes be signed and downloaded?
UI / UX25%Is the mobile experience smooth and beautiful? Does the live preview feel polished?
Code Quality15%Clean code, good file structure, no spaghetti. Well-documented README.
Live Preview10%How good is the real-time pass preview? Does it update dynamically as users fill in the form?
Bonus Features10%Guest mode, i18n, dark mode, custom fonts, extra pass types, PWA, animations.
Creativity5%Surprise us. Delight us. Do something unexpected.

Note: The judging will be done by Ali Tahseen (MoreThanCoder). Results will be announced in the Skool group within 3 days after the submission deadline.

?

Frequently Asked Questions

No. Submit a GitHub repo with screenshots or a video demo. No live deployment is required.
Yes, teams of up to 2 people are allowed. If a team wins, the $100 prize is split between members.
Yes. Copilot, ChatGPT, Claude — use whatever helps you ship. This is about building, not gatekeeping.
Let's not think about that. Invite your people. Share the link. We're hitting 50.
No restrictions. React, Vue, Svelte, Next.js, Nuxt, Flutter Web — anything that ships a mobile-first web app.
Send your pass data as multipart/form-data to the appropriate endpoint. The API signs it and returns a .pkpass binary file. The API is JWT-protected — the secret will be in the group resources. Full API docs will be provided.
No. Use environment variables or a backend proxy. Hard-coding secrets in frontend code is a security anti-pattern and will count against your code quality score.
Design for mobile screens first. The app should look and feel great on a phone. Desktop support is a nice-to-have, not a requirement.
A simple pass with text displayed on a colored background or over a photo. Think sticky notes in your wallet — reminders, quotes, affirmations. Bonus if you support custom fonts for the text.
In the Skool group. Drop your questions, help each other, and have fun. That's what the community is for.