Inspiration

Between notifications, deadlines, and everything else competing for our attention, it’s easy to lose track of the things around us. We’ve felt that firsthand: one of our teammates lost their computer charger in the lead-up to this very hackathon! plus we're chronic forgetters.

That experience inspired Crintx. We decided to challenge ourselves and try to make a working physical product, not just software. We wanted to make everyday belongings easier to find and help people understand their habits through the technology they already carry. Our idea pairs a tag you can ring from your phone with on-device AI, working toward a simple goal: Spending less time searching

What it does

Crintx helps you find misplaced belongings using a physical tag and a mobile app. Attach a tag to an everyday item, give it a name, and ring its buzzer from your phone over Bluetooth when you need to find it (utilizing both a vibration motor, and small ringer).

The app brings together tag controls, location history, and an AI model that runs directly on your phone. Our goal is to turn recorded search activity into friendly summaries that help you understand where you tend to search for your belongings. The model runs locally after download, so your data never gets sent to a data center for processing.

How we built it

We built the mobile app with React Native, TypeScript, and expo for fast prototyping, connecting it over Bluetooth Low Energy to an ESP32 board with a buzzer. Our backend uses Java, Spring Boot, and MongoDB, while our offline AI runs Qwen2.5-0.5B-Instruct through llama.rn, powered by llama.cpp. We divided the work across four areas:

  • Gabriel: Frontend and hardware
  • Marcos: Backend and database
  • Carlos: Voiceover integration
  • Jorge Offline AI integration

This let us develop the different parts in parallel before bringing them together. We tested the prototype manually as we integrated each component, checking how the app, hardware, and model behaved together and fixing issues as they appeared. Connecting those pieces was a major part of the challenge and of what we learned.

Challenges we ran into

  • We faced much trouble doing the wiring/soldering for the actual connections for our buzzer and ringer. The cabling was unwieldy, and it was brand new to us!
  • Since we decided to make a mobile app, even though we were using expo for easy building and live typescript changes, we still had to deal with long build times when making new apks to test new code. This slowed down our iteration considerably at points.
  • Since this was our first time all working together, we weren't yet sure how working in parallel would be, and this led to slowdowns when git commits were behind and pull requests were still made.
  • connecting the database to our app took us until the last day to get fully working, so testing features reliant on that was impossible until then, and we had to cobble together test data sets and solutions
  • ultimately, since we weren't super experienced with hardware, we had to devote good time to building an understanding of our esp32 and how it was communicating with our code before we advanced
  • putting the data we were receiving from the gps in a format that was easy for the local (weaker) AI to parse and understand, while still getting useful output was difficult

Accomplishments that we're proud of

  • We built a fully working app!
  • We managed to keep our scope in check and shipped every single feature we planned to have in one weekend: A working BLE connection, live buzzing and ringing, maps integration with automatic address checking, knobs for changing the volume and vibration strength, an ElevenLabs voiceover for each buzz of the device, the local ai for summarizing your data, and a database for storing said data.
  • We worked together effectively and managed to test our code properly before every pull, meaning we never dealt with catastrophic errors in main
  • We didn't crack under pressure

What we learned

We came into this having worked on some individual projects, but this was a completely different experience

  • We learned how to work together efficiently (both in the real world, and through git)
  • We successfully integrated multiple libraries for location checking and bluetooth protocols, which we had never done
  • We learned the processes for using a local AI inside an application
  • We learned proper soldering technique
  • We improved our understand of databases while deploying them to AWS

What's next for Crintx

Ultimately, we wanted to make the device have a much smaller profile. We planned to use kicad to have a pcb made which would significantly decrease our footprint, as our current prototype would realistically be too big to see convenient use. We wanted to add more robust safety features, the same way that other devices that can keep track of location often do. Plus, we plan to expand our listing features for how someone organizes where their stuff has been on the app

Built With

Share this project:

Updates

Submission history