{"id":50464416,"url":"https://github.com/shadrach16/event-scanner-ocr","last_synced_at":"2026-06-01T06:31:54.697Z","repository":{"id":325980478,"uuid":"1103251328","full_name":"shadrach16/event-scanner-ocr","owner":"shadrach16","description":"Mobile utility that uses AI to scan event flyers and automatically populate the phone's calendar.","archived":false,"fork":false,"pushed_at":"2026-05-04T14:02:14.000Z","size":6323,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-04T16:07:08.791Z","etag":null,"topics":["capacitor","ocr","productivity-tool","react-native"],"latest_commit_sha":null,"homepage":"https://play.google.com/store/apps/details?id=com.waoapps.photo2calendar","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shadrach16.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-24T16:15:36.000Z","updated_at":"2026-05-04T14:05:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/shadrach16/event-scanner-ocr","commit_stats":null,"previous_names":["shadrach16/event-scanner-ocr"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shadrach16/event-scanner-ocr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadrach16%2Fevent-scanner-ocr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadrach16%2Fevent-scanner-ocr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadrach16%2Fevent-scanner-ocr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadrach16%2Fevent-scanner-ocr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shadrach16","download_url":"https://codeload.github.com/shadrach16/event-scanner-ocr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadrach16%2Fevent-scanner-ocr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33763648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["capacitor","ocr","productivity-tool","react-native"],"created_at":"2026-06-01T06:31:53.910Z","updated_at":"2026-06-01T06:31:54.692Z","avatar_url":"https://github.com/shadrach16.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📅 Photo2Calendar: Event Flyer to Calendar AI\n\n![Status](https://img.shields.io/badge/Status-Beta_Release-blue)\n![Platform](https://img.shields.io/badge/Platform-Android_|_iOS_(Capacitor)-green)\n![Tech](https://img.shields.io/badge/AI-OCR_Image_Processing-purple)\n\n\u003e **\"Never manually type a date from a flyer again.\"**\n\u003e An AI-powered utility app that scans physical or digital event flyers, extracts the details (Date, Time, Venue), and automatically syncs them to your phone's native calendar.\n\n---\n\n## 📱 App Interface\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/shadrach16/event-scanner-ocr/blob/main/assets/scan-screen.png.jpg?raw=true\" alt=\"Scanning Interface\" width=\"250\" style=\"margin-right: 20px;\"\u003e\n  \u003cimg src=\"https://github.com/shadrach16/event-scanner-ocr/blob/main/assets/calendar-sync.jpg?raw=true\" alt=\"Calendar Confirmation\" width=\"250\"\u003e\n  \u003cp\u003e\u003cem\u003eFigure 1: The Image Scanning Process (Left) and the Auto-Populated Event Details (Right).\u003c/em\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n## 🚀 The Problem \u0026 Solution\n\n**The Problem:** In Nigeria (and globally), event invitations often come as image flyers on WhatsApp or Instagram. Transferring these details to a Google/Apple Calendar requires switching apps and manually typing dates, times, and complex addresses.\n\n**The Solution:** Photo2Calendar allows users to simply \"Share\" an image to the app. The AI analyzes the text and creates a calendar event instantly.\n\n---\n\n## ✨ Core Features\n\n### 1. Context-Aware OCR (Nigerian Context)\nGeneric OCR tools often fail with stylized fonts on party flyers or specific Nigerian date formats (e.g., \"20th of Nov\", \"No African Time\").\n* I fine-tuned the parsing logic to identify **venues** (Events Centers, Landmarks) vs. standard text.\n* It intelligently handles colloquial time formats like \"10am Prompt\".\n\n### 2. One-Tap Calendar Sync\n* Uses the **Capacitor Calendar Plugin** to interface directly with the device's native calendar (Google Calendar on Android, iCal on iOS).\n* Users can review and edit details before saving.\n\n### 3. global Multi-Language Support\n* The app features full localization support for **8 different languages**, making it accessible to a diverse user base.\n* It is optimized to recognize keywords in both formal English and local dialects (e.g., Pidgin) common in event descriptions.\n\n### 4. In-App Purchases (Monetization)\n* Integrated **In-App Purchase (IAP)** functionality allows users to disable ads.\n* Connects directly to Google Play Billing and Apple StoreKit for a seamless checkout experience.\n\n---\n\n## 🛠️ Technical Implementation\n\nThis project demonstrates the power of **Hybrid Mobile Development**:\n\n* **Frontend Framework:** `React.js` (for the UI logic and state management).\n* **Native Runtime:** `Capacitor` (wraps the web app into a native binary for Play Store/App Store).\n* **AI/OCR Engine:** Integration with **Google Nano Vision API** for raw text extraction, followed by a Regex/NLP parsing layer to classify data into \"Date,\" \"Time,\" and \"Location.\"\n* **Storage:** `SQLite` (for local history of scanned events).\n\n---\n\n## 👨‍💻 Developer Role\n\n**Tunde Oluwamo**\n*Full Stack \u0026 Mobile Developer*\n[LinkedIn Profile](https://linkedin.com/in/oluwamo-shadrach-740242185)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadrach16%2Fevent-scanner-ocr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshadrach16%2Fevent-scanner-ocr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadrach16%2Fevent-scanner-ocr/lists"}