Inspiration

The idea for Sincerely came from a recent wedding I attended. The bride and groom had instituted a strict "no physical gifts" policy, requesting only greeting cards or monetary gifts. When giving gifts, I always prefer something personal, lasting, and meaningful rather than a consumable like Chocolate, Fragrances etc.

Faced with that constraint, I decided to build a custom React web app featuring interactive animations, photos, and personalized greetings whilst also adding a section that added a level of "pizzazz" when presenting the present I prepared for them. I printed a physical slip containing a custom QR code that linked directly to the web app that I had slipped into the physical greeting card I prepared. This allowed me to respect the couple's card-only request while delivering an emotional, dynamic experience that a paper card could never achieve.

After seeing the bride's glowing reaction, I realized how powerful this hybrid medium could be. I created Sincerely so that anyone can craft these interactive, digital keepsakes for their loved ones without writing a single line of code; With the hopes of recipients having a similar reaction to that which the bride had.

What it does

Sincerely transforms digital greeting cards from flat, forgettable messages into tactile, multi-sensory emotional keepsakes. It redesigns the concept of a typical card, giving it the digital edge to introduce an entirely new level of personalisation to their cards with Photos, Videos etc.:

The Tactile Unboxing Ceremony: Recipients don't just open a link—they experience an unboxing ritual. They tap to break a 3D seal , watch envelope flaps slide open, and are greeted by ambient drifting particles (falling rose petals, confetti, snow, hearts, or golden sparkles). Multi-Sensory Storytelling: Creators can embed rich modular blocks: Spoken Voice Notes & HD Video Greetings: Recorded directly in-app or uploaded to share authentic emotion. Interactive Scratch-to-Reveal: Shimmering metallic scratch cards where recipients wipe away foil to uncover secret messages, photos, or voucher codes. Photo blocks: Titled photo prints with customizable captions and speech bubbles. Hybrid Physical & Digital Delivery: Senders who want to bring something physical to a party can generate an exportable 300 DPI 4" × 6" printable card slip with cutting guides and a crisp, high-contrast QR code. Zero Friction for Recipients: Recipients do not need to download an app, create an account, or log in. Cards unbox instantly in any mobile or desktop web browser. No-Code Card Studio & Occasions Tracker: A drag-and-drop, direct WYSIWYG editor with live previews, auto-saving drafts, and a built-in calendar with local notifications so users never miss a milestone birthday or anniversary.

How we built it

Sincerely is built as a cross-platform application spanning web, PWA, and native Android:

Frontend & UX: (With Assistance from Figma's AI model)Developed with React 19, TypeScript, and Vite, styled with Tailwind CSS v4.

Mobile Runtime: Packaged for native Android using Capacitor 8

Backend & Cloud Infrastructure: Firebase Firestore for real-time card schema storage and occasion tracking. Firebase Authentication for Google and email sign-ins. Firebase App Check, Crashlytics, & Performance Monitoring for production telemetry and API security. Cloudinary / Firebase Storage for hosting media assets, video greetings, and audio recordings. Interactive Canvas & Media APIs: Custom HTML5 Canvas engine for the scratch-to-reveal interactions. Web Audio API and MediaStream Recording API for capturing voice memos and video clips directly in the studio. qrcode.react and html2canvas to render high-resolution 300 DPI printable card slips. Monetization & Offline Resilience: RevenueCat handles in-app purchases and Pro tier subscriptions, while IndexedDB (idb-keyval) powers background autosaving so creators never lose work mid-sentence.

Quality Assurance: Tested with a CI suite using Vitest, React Testing Library, and Oxlint.

Challenges we ran into

The QR Slips - Constantly changing the metadata (Generated QR code and accompanied link) within the QR slips took longer than initially planned due to the countless bugs that I kept on coming across.

Project Handling with react - To make project handling during development easier, The decision was made to have the source code for the app and the source code for the website be within the same root directory. This had then caused issues with the URL handling as users were able to access the app from unsupported platforms.

Accomplishments that we're proud of

Getting Approved for Production - This is my first time properly creating and shipping an app to the Play Store so after going through the testing process and such. Seeing the Acceptance email finally come in was great because I could see things finally taking shape.

Positive feedback from IRL beta testers - During the external testing process, I was nervous with the kind of feedback that I would be getting but the feedback that I had received from my in-person candidates was positive across the board

What we learned

I had learned more about the process behind getting apps shipped (especially for first time app developers) as well as all of the considerations one needs to take in when it comes to designing an Accessible UI, UX and connecting everything to Google Play and the Play console

What's next for Sincerely - Digital Greetings

Collaborative Group Cards: Allowing multiple friends, family members, or colleagues to co-sign a card, contribute their own photos, and record voice notes (ideal for office farewells, weddings, and milestone birthdays).

AI Sentiment & Poetry Assistant: An optional AI writing companion to help senders overcome writer's block and compose personalized, heartfelt poems or messages based on shared memories.

Print & Post Physical Fulfillment: Partnering with print-on-demand services to let users order a professionally printed, physical textured card with an embedded NFC chip or QR code delivered directly to the recipient's mailbox. Digital Cash & Gift Card Attachments: Allowing senders to tuck real monetary gifts (e.g., Stripe/Apple Pay, coffee cards, or charity donations) directly beneath the interactive scratch-off badge. iOS App Store Release: Expanding the native mobile application to the Apple App Store.

Built With

Share this project:

Updates

Submission history