Tagaby: Full-Stack RFID Lost & Found System featured image

Tagaby: Full-Stack RFID Lost & Found System

Architected and built a complete lost & found solution from concept to launch, featuring a Flutter app, Node.js API, and C# desktop client to connect parents and schools.

Contributors: David Carta (Concept), Stephanie Galland (Business)

Overview

Tagaby is a comprehensive lost and found solution designed to eliminate the daily frustration faced by parents and schools. Every day, countless items like jackets, water bottles, and backpacks are lost, creating overwhelming clutter for schools and stress for families. Tagaby bridges this gap with a modern, integrated system that uses RFID and QR code technology to reconnect lost items with their owners quickly and securely. The platform consists of a Flutter mobile app for parents, a C# desktop application for school administration, and a robust Node.js backend.

As the sole developer, I was responsible for the entire product lifecycle, transforming the CEO’s initial concept into a fully realized, market-ready product. I architected and built the entire technical stack from the ground up, designed all branding and product assets, and implemented a full CI/CD pipeline for seamless deployment. This ongoing project for Telaeris, Inc. showcases my ability to lead full-stack development and deliver a multi-platform solution that solves a tangible, real-world problem.

Key Features

  • Multi-Platform Ecosystem: A cohesive system where parents use a cross-platform Flutter app (iOS & Android) to manage tags and receive notifications, while school staff use a dedicated C# desktop application to scan items with enterprise RFID readers.
  • Instant Scan & Notify: When a lost item is found, a simple scan of its NFC or QR tag instantly triggers a push notification to the parent’s mobile app with pickup instructions, automating the entire return process.
  • Real-Time Parent-School Communication: A secure, WebSocket-powered direct messaging system built into the Flutter app allows parents and school staff to communicate in real-time to coordinate the retrieval of a lost item.
  • Versatile Tag Technology: The system supports multiple tag types for different items, including durable iron-on NFC patches for clothing, keychain NFC fobs for backpacks, and QR code stickers for hard surfaces like water bottles and lunch boxes.
  • Complete Brand & UI/UX Design: I designed the entire brand identity, including the logo, mascot, and product print designs using Adobe Illustrator, ensuring a friendly and cohesive user experience across all platforms.

Technologies & Implementation

I engineered Tagaby’s architecture to be scalable, real-time, and efficient across mobile, desktop, and web. The technology stack was carefully chosen to support a seamless user experience and robust administrative control.

  • Mobile: Flutter was selected for its cross-platform capabilities, allowing for a single, maintainable codebase for both iOS and Android. I used the BLoC (Business Logic Component) pattern for advanced state management, particularly for handling the real-time WebSocket connections.
  • Backend: Node.js and Express.js form the core of the REST API, providing a non-blocking, event-driven architecture perfect for managing thousands of simultaneous connections and real-time messaging.
  • Database: MySQL serves as the primary relational database, reliably storing user data, tag registrations, and item statuses.
  • Desktop: A C# application was developed to interface directly with Telaeris’s enterprise-grade RFID scanners, simplifying the bulk processing of lost items in a school’s administrative office.
graph TD
    subgraph "Users & Devices"
        A["Parent (Flutter App)"]
        B["School Staff (C# Desktop App)"]
        C["Finder (Any Smartphone)"]
    end

    subgraph "Backend Infrastructure"
        D["Node.js / Express.js API"]
        E["WebSocket Server"]
        F["MySQL Database"]
    end

    A <-->|REST & WebSocket| D
    B -->|REST API| D
    C -->|"QR Scan (HTTPS)"| D
    D <--> E
    D <--> F

Challenges & Solutions

The most significant technical challenge was implementing a reliable and battery-efficient real-time messaging system within the Flutter app. The feature required a persistent connection to the backend for instant communication between parents and school staff, but this posed risks of high battery consumption and complex state management, especially when the app was in the background.

To solve this, I engineered a custom WebSocket service on the Node.js backend and integrated it into the Flutter app. I utilized the BLoC pattern to create a dedicated MessagingBloc that managed the WebSocket connection lifecycle and message streams. This isolated the real-time logic from the UI, allowing the app to efficiently process incoming messages and update the UI reactively. By carefully managing connection states and background processes, I delivered a low-latency messaging feature that provided an excellent user experience without a noticeable impact on battery life. This process deepened my expertise in full-stack real-time protocols and advanced mobile state management.

Results & Impact

As the founding engineer, I successfully transformed an idea into a fully functional, multi-platform product ready for market.

  • Concept to Launch: Architected, designed, and built the entire Tagaby ecosystem from scratch, providing the complete technical foundation for the business.
  • Accelerated Go-to-Market: The robust and scalable system I developed enabled the business team to confidently onboard schools and parents, turning a concept into a revenue-generating product.
  • Unified User Experience: By handling both the full-stack development and brand design, I ensured a cohesive and intuitive experience across the mobile app, physical tags, and marketing materials.
  • Ongoing Innovation: The project is ongoing, and I continue to lead its technical development, iterating on features and scaling the infrastructure to meet growing user demand.

{TODO: Add screenshot of the Tagaby App dashboard}