Data Visualization Projects in IslamabadData Visualization Projects in Islamabad
Cover image for OCR Receipt Parsing Microservice (AI-Powered
OCR Receipt Parsing Microservice (AI-Powered Backend System) Most receipt-based systems fail because the data is messy, inconsistent, and spread across formats that machines don’t naturally understand. People don’t realise it, but the real problem isn’t capturing receipts, it’s turning them into reliable, structured data that can actually be used. This system removes that friction entirely. You send a receipt (image or PDF), and it comes back as clean, structured JSON ready to plug into any workflow. The core problem it solves: Receipt data is chaotic. Different formats, inconsistent naming, missing structure, and OCR noise make it hard to extract anything usable. Even when OCR works, the output is raw text, not something you can build logic on top of. This project builds a full processing layer that doesn’t just read receipts, it understands and standardises them. What was built: A backend microservice that acts as a structured data engine for receipts. The system accepts images or PDFs via an API, runs OCR, extracts merchant details, dates, totals, and line items, and converts everything into a strict JSON schema. But the real value sits in what happens after OCR. A normalization layer cleans and standardises item names so inconsistent inputs like “BANANA”, “Bananas”, or “Banana 1lb” all map to a single canonical item. Quantities and prices are cleaned, structured, and validated so the output becomes consistent across different stores and formats. The system can also plug directly into Airtable, pushing structured items into a live database, enabling automated workflows like pantry tracking, expense logging, or analytics pipelines without needing a full backend system. Everything is exposed through a simple /parse-receipt API, making it easy to integrate into mobile apps, SaaS products, or internal tools. Technical architecture: FastAPI-based microservice designed for simplicity and performance, with OCR powered by Tesseract or cloud services like AWS Textract and Google Vision depending on accuracy requirements. The parsing layer combines rule-based extraction with AI-assisted cleanup to handle real-world receipt noise. The system is fully containerized using Docker, deployable on platforms like Render or Heroku, and comes with OpenAPI (Swagger) documentation for quick testing and integration. Designed as a stateless service, it avoids database complexity and instead integrates with external systems (like Airtable), making it lightweight and easy to scale. Business value built in: This isn’t just an OCR tool, it’s a data standardization engine. The same system can power expense tracking apps, inventory systems, meal planning products, or financial analytics platforms. Because the parsing and normalization layers are modular, the microservice can be exposed as a standalone API, creating opportunities for reuse across multiple products or even external licensing.
0
159
Cover image for Innovative 3D Jewelry Configurator Showcasing Premium Designs
Interactive 3D Jewelry Configurator & Product Showcase Full Description Developed a premium 3D Jewelry Configurator that enables customers to explore and personalize jewelry through an immersive browser-based experience. The platform features real-time 3D visualization, interactive product rotation, metal customization, realistic gemstone rendering, smooth animations, and responsive controls. Built using modern WebGL technologies to deliver a luxury digital showroom that enhances customer engagement and online product presentation. Similar configurators are increasingly used by jewelry brands to let customers preview metals, gemstones, and designs before purchase. Role Senior Full Stack Three.js Developer Work Description Led the end-to-end development of a luxury 3D Jewelry Configurator, creating an immersive digital experience for showcasing premium jewelry collections. Built the interactive frontend using React, Three.js, React Three Fiber, TypeScript, WebGL, and GSAP, enabling photorealistic rendering, real-time material customization, smooth animations, and responsive 3D interactions. Optimized 3D assets and rendering pipelines to deliver a fast, high-quality experience across desktop and mobile while maintaining scalability for future product collections. Technologies React • Three.js • React Three Fiber • TypeScript • WebGL • GSAP • GLTF/GLB • HDR Lighting • PBR Materials • Node.js • REST APIs Key Contributions Built a luxury 3D jewelry experience Real-time metal & material customization Photorealistic gemstone rendering Smooth 360° product interaction Performance optimization for WebGL Responsive cross-device experience
0
255
Cover image for ShopVerse is a modern, high-performance
ShopVerse is a modern, high-performance iOS e-commerce application built using Swift (SwiftUI) and powered by Firebase as its backend infrastructure. 🏛️ System Architecture: MVVM Pattern The application is structured around the Model-View-ViewModel (MVVM) architecture to guarantee clean separation of concerns, high maintainability, and testability across both customer and administrator workflows. 1. The Model Layer The Model layer consists of lightweight, immutable data structures conforming to Swift's Codable and Identifiable protocols. Product Model: Stores product details such as unique IDs, titles, descriptions, pricing, stock levels, rating summaries, and array paths for high-resolution images stored in the cloud. Order Model: Captures transaction details including item snapshots, delivery addresses, customer identification, pricing breakdowns, and status states (Pending, Packed, Shipped, Delivered, or Cancelled). User & Cart Models: Manage profile attributes, assigned roles (Customer or Admin), saved shipping addresses, and live active shopping cart items. 2. The View Layer Built declaratively using SwiftUI, the View layer handles everything rendered on the screen. Views remain strictly focused on layout rendering, animations, and capturing user interactions (e.g., button taps, pull-to-refresh gestures, and navigation transitions). Views do not contain business logic or direct database call implementations; instead, they observe state changes exposed by their corresponding ViewModels. 3. The ViewModel Layer ViewModels act as the reactive middleware between the data layer and UI screens. Utilizing @MainActor and @Published properties, ViewModels manage screen-specific states (e.g., loading spinners, active product filters, and checkout step validations). They process user input, execute asynchronous data operations via async/await, and automatically trigger UI redraws whenever data updates. 4. The Service Layer Encapsulated as injected singletons or protocols, services manage external network interactions. Handles low-level Firebase authentication triggers, Cloud Firestore read/write streams, image uploads to Firebase Storage, and payment gateway SDK integrations (e.g., Stripe or Apple Pay). 🔥 Firebase Backend Mechanics & Data Management Firebase serves as the serverless engine driving ShopVerse, enabling real-time database syncing, secure authentication, and scalable media storage. 1. Authentication & Role-Based Access Control (RBAC) Security and session management are handled through Firebase Authentication. Multi-Provider Auth: Supports native Email/Password credentials alongside one-tap sign-ins via Apple ID and Google accounts. Session Persistence: Authenticated tokens are stored securely in the iOS Keychain, allowing users to remain logged in across app restarts. Role Verification: Upon successful authentication, the system queries the user's Firestore profile document to check their role attribute. If designated as admin, the app routes the user to the store management dashboard; otherwise, it presents the primary shopping portal. 2. Cloud Firestore Database Structure Firestore operates as a real-time, NoSQL document-oriented database structured into clean top-level collections. 3. Offline Persistence & Caching Firestore's local disk caching mechanism is enabled during app launch. Uninterrupted Browsing: Product listings and cart states are cached locally on the device disk. If the device loses internet connection, users can still view products and manipulate their cart without app crashes or blank screens. Background Sync: Any state changes made offline are queued locally and automatically committed to the cloud database once connectivity is restored. 4. Real-Time Data Synchronization via Snapshot Listeners Instead of relying on traditional HTTP polling or manual screen pulls, ShopVerse utilizes Firestore addSnapshotListener connections. Live Order Tracking: When an administrator updates an order status in the admin portal (e.g., changing an order from Processing to Shipped), a persistent WebSocket listener pushes the updated state directly to the customer's device in real time, updating the UI timeline instantly. 📱 Advanced SwiftUI Concepts & Interactive UX Patterns To deliver a refined, native iOS user experience, ShopVerse incorporates several specialized SwiftUI and iOS framework capabilities. 1. Skeleton Loading Shimmer Effect Rather than displaying a generic activity indicator (ProgressView), ShopVerse uses a custom shimmer modifier during initial data fetches. Visual Continuity: Placeholder wireframe cards matching the dimensions of actual product cards are rendered instantly. Linear Gradient Wave: An animated gradient mask sweeps horizontally across the placeholder shapes, signaling active loading while maintaining visual context. 2. Tactile Feedback & Haptic Engine Integration To make digital interactions feel physical, ShopVerse leverages the device's Taptic Engine via UIImpactFeedbackGenerator. Action Reinforcement: Tapping the Add to Cart button, toggling a wishlist heart icon, or confirming a checkout step triggers precise physical haptic ticks, increasing user confidence during interactions. 3. Query Debouncing using the Combine Framework Unrestrained search fields can send dozens of unnecessary database queries while a user types, causing performance lag and inflated database read costs. The Debounce Pattern: Utilizing Combine's .debounce(for: .milliseconds(300)) operator, search queries are held in a reactive pipeline. Cost Optimization: Database search requests are only fired after the user pauses typing for at least 300 milliseconds, dropping all intermediate keystroke queries. 4. Administrative Data Visualization via Swift Charts The integrated Admin Portal transforms raw Firestore sales data into actionable visual insights using Apple's native Charts framework. Real-time Metrics: Aggregated sales figures, daily order totals, and revenue metrics are compiled into interactive bar charts and line graphs, allowing store managers to assess revenue trends dynamically.
0
101