Inspiration

Tibb started with a simple observation: people already use messaging apps to message themselves.

We send ourselves links, notes, screenshots, files, reminders, and voice messages, but a normal chat interface was never really designed to be a personal information system. Important things get buried in years of messages, and moving something between a phone and computer often means sending it through another cloud service.

We wanted to take the simplicity of messaging yourself and turn it into something more intentional: a private inbox where your information stays on your phone, can be organized into separate boxes, and can move directly between your phone and computer over your own Wi-Fi.

That idea became Tibb.

Your personal information should be easy to save, easy to find, and accessible across your devices without giving it to another cloud.

What it does

Tibb is a private personal inbox for saving and organizing the things you normally send to yourself.

You can:

  • Save text, links, notes, files, photos, videos, and voice memos.
  • Create separate boxes such as Personal, Work, Receipts, or Projects.
  • Search your saved information using local full-text search.
  • Lock boxes using fingerprint or Face ID.
  • Import years of personal chat history from an exported WhatsApp chat.
  • Export your entire Tibb library, optionally encrypted.
  • Share content into Tibb directly from other Android apps.

The main feature is Tibb Bridge.

Tibb Bridge lets your computer connect directly to your phone over the same Wi-Fi network. The phone serves the Tibb web interface locally, so there is no content server sitting between your devices.

After entering the short pairing code shown on the phone, you can:

  • Drag files from your computer into Tibb.
  • Download files from Tibb.
  • Send and receive clipboard content.
  • Search your Tibb library from the browser.
  • Browse and manage your saved items.

Tibb also has a Pro tier powered by RevenueCat. Pro unlocks features such as additional boxes, media, voice memos, locked boxes, Tibb Bridge, and WhatsApp media import.

RevenueCat manages the Pro entitlement, lifetime purchase, yearly subscription, offerings, restore flow, and contextual purchase prompts.

How we built it

Tibb is built with Flutter, with Android as the primary tested platform and iOS support in the codebase.

The application uses SQLite with FTS5 for local storage and search.

We designed the storage layer around an append-only change log. Instead of treating the database as the only source of truth, edits are recorded as events and the application's tables are derived from those events. This also makes repeated imports safer because operations can be made idempotent.

Files are stored locally using a content-hash based store. Media is streamed to disk while being hashed with SHA-256, so Bridge uploads and downloads do not require loading entire files into memory.

Tibb Bridge is implemented using a local HTTP server running on the phone and a browser interface served directly by the phone. Communication happens over the user's local network.

Android share integration is implemented natively in MainActivity.kt, allowing text, links, photos, videos, audio, PDFs, and other files to be shared into Tibb.

For search, Tibb uses SQLite FTS5 rather than sending personal content to an external search service.

For monetization, we integrated RevenueCat with a custom Flutter paywall. The paywall reads the configured RevenueCat offering, supports lifetime and yearly purchases, provides restore functionality, and checks the pro entitlement to unlock features.

The project also includes automated tests covering WhatsApp parsing, archive encryption, repository behavior, search, idempotent events, and export/import flows.

Challenges we ran into

The biggest challenge was building a useful phone-to-computer experience without creating a cloud backend.

Normally, device synchronization is handled by sending data to a remote server. Tibb intentionally avoids that for user content, which meant we had to solve local networking, pairing, file transfer, clipboard transfer, authentication, and live updates directly between devices.

Another challenge was designing the storage system around imports and repeated operations. We wanted users to be able to import their existing information without accidentally creating duplicates, which led to the append-only change-log and idempotent event architecture.

We also had to handle large files carefully. Loading an entire video or other large file into memory during a Bridge transfer would be inefficient, so the file pipeline was designed around streaming.

Building for both Android and iOS introduced another set of constraints. Android can keep Bridge running using a foreground service, while iOS requires Tibb to remain in the foreground for Bridge.

Finally, integrating monetization required more than simply displaying a paywall. We had to connect actual product capabilities to RevenueCat entitlements, handle restores and cancellations, and make sure users don't lose access to their existing information if their Pro access ends.

Accomplishments that we're proud of

We're proud that Tibb can provide a genuinely useful cross-device workflow without requiring an account or cloud storage for personal content.

The Tibb Bridge is probably the feature we're most proud of. A phone can serve its own web interface, allowing a computer to connect directly over Wi-Fi and transfer files and clipboard content without routing those files through our servers.

We're also proud of the local-first architecture. Tibb combines SQLite, FTS5 search, a change log, content-hash file storage, local networking, and native Android sharing into one application.

The WhatsApp import feature was another meaningful accomplishment. Instead of forcing users to abandon years of information stored in their personal chat, Tibb can parse an exported chat and bring that history into the user's local library.

On the monetization side, we integrated RevenueCat as a real part of the product architecture. The Pro tier uses RevenueCat's entitlement system, offerings, purchases, restores, and Test Store rather than implementing a simulated competition-only paywall.

Most importantly, we built the project as a real open-source application with setup instructions, tests, architecture documentation, and a working Android implementation.

What we learned

Building Tibb taught us that removing the cloud changes almost every layer of an application.

When the phone is the source of truth, storage, networking, search, file handling, security, and synchronization all have to be designed differently.

We also learned that a simple user experience can require a surprisingly deep technical foundation. From the outside, Tibb looks like a place to message yourself. Underneath, it involves local databases, full-text search, content-addressed storage, event-based data management, local HTTP networking, file streaming, native Android integrations, and purchase entitlements.

We learned that monetization also works better when it is connected to meaningful product capabilities. Instead of putting the basic experience behind a paywall, Tibb keeps the core personal inbox available while Pro unlocks capabilities that add significant functionality.

Most importantly, we learned how to build around a strong product constraint: personal information should remain personal.

What's next for Tibb

The next step for Tibb is to continue improving the cross-device experience while preserving its local-first architecture.

We want to expand the iOS experience, including the Share Extension, improve Bridge behavior and reliability, and continue refining the import and export system.

The change-log architecture also provides a foundation for eventually adding synchronization between devices without redesigning the underlying data model.

Other areas we want to explore include stronger local-network security, additional organization and search capabilities, and more ways to move personal information between devices without requiring a cloud content server.

The long-term vision is for Tibb to become a private personal information layer: the place where the things you save for yourself live, remain searchable, and move between the devices you own.

Built With

Share this project:

Updates

Submission history