Web-based AR platform that turns physical Polaroids into portals to digital memories. Scan a QR code on a printed photo and watch videos and images overlay on the physical print through your camera.
No app install required — runs entirely in the browser.
- Print a Polaroid
- Generate a QR code pointing to
/m/{memory-id}and attach it - Scan with any phone camera
- Grant camera access
- AR overlay appears anchored to the photo — swipe through the memory stack
- Next.js 14 + TypeScript
- Tailwind CSS
- MindAR.js — marker-based image tracking
- Three.js — 3D overlay rendering
- html5-qrcode — in-browser QR scanning
- qrcode — QR generation
- Framer Motion — swipe animations
git clone https://github.com/4shil/MemoryLink-AR.git
cd MemoryLink-AR
npm install
npm run devVisit http://localhost:3000.
- Place your Polaroid reference image at
public/assets/target.jpg - Compile it to
.mindformat with MindAR Web Compiler - Save as
public/assets/target.mind - Drop videos/photos in
public/assets/videos/andpublic/assets/photos/
Memory pages live at /m/{id}:
/m/seniors_farewell
/m/birthday_2025
Generate a QR code for any memory:
import { generateQRCode } from './utils/qr';
const qr = await generateQRCode('https://yoursite.com/m/seniors_farewell');app/
page.tsx # Landing page
layout.tsx
m/[id]/page.tsx # Dynamic memory experience
components/
ARViewport.tsx # AR rendering (Three.js + MindAR)
CameraPermission.tsx
DigitalStack.tsx # Swipeable memory stack
QRDisplay.tsx
QRScanner.tsx
ScanningOverlay.tsx
utils/
qr.ts
media.ts
public/assets/
photos/
videos/
npm run build
npm startRequires WebGL, camera access, JS enabled. Tested on Chrome 90+, Safari 14+, Firefox 88+, iOS Safari, Chrome Android.
MIT
