TapIn is an open-source keyless living platform that replaces physical keychains with secure digital wallet passes.
Add your building access to Apple Wallet or Google Wallet and unlock doors with a simple tap.
Built for tenants, property managers, and co-ops who want simplicity, security, and ownership, not vendor lock-in.
- π Features
- π― Vision
- πΊοΈ Roadmap
- π οΈ Development Status
- πΈ Screenshots
- π’ Real-World Pilots
- π Quick Start
- π Project Structure
- βοΈ Tech Stack
- π Get Involved
- βοΈ License
- β¨ Credits
- π² Wallet-based access (Apple Wallet and Google Wallet)
- π Secure digital keys with real-time revocation
- ποΈ Multi-property and unit management
- π₯ Role-based access control for tenants, managers, and admins
- π Offline fallback access (QR or time-based)
- π» Admin dashboard for issuing and managing passes
- π Privacy-first and fully self-hostable
- π§ Optional plug-and-play NFC hardware integration
A world where access is effortless, secure, and equitable.
No keys. No barriers. No nonsense.
Read the full Vision, Mission & Manifesto
TapIn is currently in MVP development and preparing for real-world pilot testing.
The roadmap includes:
- Tenant and property manager flows
- Wallet pass generation
- Offline QR fallback support
- Open-source launch with optional SaaS tier
View the full Product Roadmap
π§ Phase 2: MVP Build - Core infrastructure complete
See CHANGELOG.md for detailed progress.
Click to expand screenshots
TapIn is launching pilots with small buildings, co-ops, and co-working spaces.
If youβre interested in testing TapIn at your property, get in touch.
Read the Pilot Plan
- Conda (Anaconda/Miniconda)
- Docker Desktop
- Node.js 18+
-
Verify your environment:
scripts\verify.bat -
Start with Docker (recommended):
scripts\setup-docker.bat -
Create admin user:
docker-compose exec backend python manage.py createsuperuser -
Access the application:
- Backend: http://localhost:8000
- Admin: http://localhost:8000/admin
scripts\test-backend.bat
scripts\test-frontend.batSee SETUP.md for detailed instructions.
TapIn/
βββ backend/ # Django REST Framework API
β βββ core/ # Core app (models, views, API)
β βββ tapin/ # Project settings
β βββ tests/ # Test suite (unit, property, integration)
βββ frontend/ # Next.js web application
β βββ app/ # Pages and layouts
β βββ __tests__/ # Frontend tests
βββ docs/ # Documentation
βββ scripts/ # Helper scripts (setup, test, verify)
βββ README.md # This file
βββ docker-compose.yml # Docker orchestration
Backend: Django 5.0, PostgreSQL, pytest, Hypothesis
Frontend: Next.js 15, React 19, TypeScript, TailwindCSS
Infrastructure: Docker, Docker Compose
Wallet Passes: Apple Wallet, Google Wallet
Security: OAuth2, JWT, end-to-end encryption
TapIn is open-source and community-driven.
We welcome contributors, testers, designers, and builders.
- π¬ Join the discussion
- π Report an issue
- π Star the repo to show your support
See CONTRIBUTING.md for ways to contribute.
TapIn is released under the MIT License
You own your keys. You own your data.
Built with π for people who want to move lighter and live smarter.






