• Stars
    star
    128
  • Rank 279,382 (Top 6 %)
  • Language
    TypeScript
  • Created over 1 year ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

iMessage Wrapped, Semantic Search, and AI Chats

MiMessage

MiMessage is a free, open source, privacy preserving UI to help search, export and visualize your iMessage conversations. It helps export conversations, search conversations, and visualize stats about your conversations.

Installation

To install the application, check out the releases tab and download the app for your architecture. https://github.com/jonluca/mimessage/releases

Features

This alternative UI provides several advanced features, including:

  • Semantic Search: Using OpenAI and a locally running version of chroma you can do semantic search on your messages
  • Wrapped: See the stats for all your iMessage conversations
  • Custom Filters: Apply custom filters to refine your search results and find exactly what you're looking for.
  • Custom Filters: Apply custom filters to refine your search results and find exactly what you're looking for.
  • Conversation Export: Export all the data of a given conversation in a user-friendly format for archival purposes or analysis.
  • Regex Search: Search your conversations using powerful regular expressions to find specific messages or patterns.
  • Media Export: Easily export all media (images, videos, etc.) from a conversation to a separate folder.
  • AI Conversation: Have a conversation with anyone you've talked to before, in their voice

Please note that this application is for viewing and managing iMessage conversations only. It does NOT allow you to send messages.

App screenshot

Wrapped

Mimessage also creates an "iMessage Wrapped" - a Spotify Wrapped, but for your conversations. It will generate some statistics about your conversations.

Wrapped

Fun sidenote: ChatGPT actually came up with a lot of the stats that would be interesting to see.

ChatGPT ideas

My stats look wrong

If a lot of your conversations are missing attachments, or the stats look wrong, you can try the following:

  • Open up iMessage settings
  • Unselect "Enable Messages in iCloud"
  • In the prompt, select "Only this device"
  • Re-enable Messages in iCloud
  • Wait for the messages to sync and download (You can see progress in the bottom right of the iMessage app)

This will force iMessage to download all the attachments and messages to your computer. This process might take a while depending on how many messages you have.

Creating embedding is slow

The OpenAI rate limits are dependent on your tier and account age. Make sure you're on the "Pay as you go" plan, and your acount is at least 48 hours old.

Developing

First clone the repo, then run yarn to install dependencies. Then run yarn dev to start the application.

The recommended node version is v19

git clone [email protected]:jonluca/mimessage.git
cd mimessage
yarn install
yarn dev

Important note: your IDE or your terminal must have full disk access enabled in permissions. It will also request contacts permissions, to be able to read your contacts to map the phone numbers to names.

Credits

  • imessage-exporter was used to help understand the database schema
  • BlueBubbles was used to understand some messages specific types and enums

More Repositories

1

Anubis

Subdomain enumeration and information gathering tool
Python
1,180
star
2

vite-typescript-ssr-react

πŸš€ A Vite Typescript SSR React boilerplate!
TypeScript
336
star
3

MasterRepo

APT Repository list and Debian install file for Cydia
Shell
79
star
4

har-to-openapi

HAR to OpenAPI spec generator
TypeScript
77
star
5

RideShare-Trip-Stats

Chrome Extension to visualize your uber trip statistics
TypeScript
66
star
6

Anubis-DB

Database to store previously found subdomains
TypeScript
56
star
7

Never-Ending-Netflix

πŸ“ΊChrome extension that skips title sequences, automatically plays the next episode, and never asks you if you're still watching on Netflix!
JavaScript
53
star
8

Stream-Enhancer-Site

Actual site that converts m3u8 to a video stream
CSS
35
star
9

Stream-Enhancer

Watch your favorite streams without ads or interruptions!
JavaScript
32
star
10

electron-extension-installer

Install extensions into devtools
TypeScript
32
star
11

PasteBinApp

iOS app for PasteBin
Swift
27
star
12

Federalist-Papers-NLP

Attribution of the Federalist Papers through NLTK/SciKit and ML
Jupyter Notebook
26
star
13

USC-Schedule-Helper

Chrome Extension for USC Students to help with Web Registration!
JavaScript
21
star
14

repo-refactor

Refactor any directory into a different language
C++
17
star
15

javascript-heap-inspector

TypeScript
16
star
16

UberOrLyft

Compare the prices of Uber and Lyft from your browser!
JavaScript
14
star
17

Phone-Audio-Processing

Work done on signal processing in python, resampling audio, and reversing short time fourier transforms
Python
10
star
18

source-map-cloner

TypeScript
7
star
19

USC-Class-Notifier-API

Rewrite of https://github.com/jonluca/USC-Schedule-of-Classes-API
TypeScript
6
star
20

dotfiles

My customized shell and dev environment
Shell
6
star
21

Textbookbot

Slackbot to automatically grab textbooks by ISBN
Python
6
star
22

Burp-Copy-As-Node

Burp extension to copy a request as a node.js requests function
Java
6
star
23

candy-crush-hack

A Java GUI for hacking Candy Crush save game files
Java
6
star
24

Interesting-Snippets

Interesting snippets of text
5
star
25

OpenTable-Reservation-Maker

Python
5
star
26

PasteEnabler

Allows you to copy + paste even on sites that attempt to block you
JavaScript
5
star
27

SPF-Research

Research for my SPF/DKIM/DMARC article
Python
5
star
28

resy-api

Resy API client
TypeScript
4
star
29

blog

Personal Blog
JavaScript
4
star
30

seated-api

Reversing Seateds API
Jupyter Notebook
4
star
31

Perfect-Prime

Chrome Extension to automatically skip trailers and recaps and play the next episode on Amazon Prime
JavaScript
4
star
32

Window-Differ

Finds unique global variables on a given window
JavaScript
4
star
33

GitHub

iOS app to browse GitHub projects!
Swift
3
star
34

PaperCloud

Word cloud of academic papers and their authors
JavaScript
3
star
35

buggy-avassetwriter

This is a repo containing sample code demonstrating the bugginess of ScreenCaptureKit and AVAssetWriter
Swift
3
star
36

BulkReddit

Download large amounts of posts for offline viewing
JavaScript
3
star
37

json-schema-walker

Walk through the properties of a json schema
TypeScript
2
star
38

ts-hnsw

TypeScript
2
star
39

Degallerify

Chrome Extension to change all imgur gallery links on a page to direct links
JavaScript
2
star
40

watermark-remover

Remove watermarks from pdfs
TypeScript
2
star
41

debundler

Debundle and de-obfuscate webpages
JavaScript
1
star
42

Infographics-Moderator-Toolbox

Infographics Tools
Python
1
star
43

PitchforkReviews

Put the rating for Pitchfork reviews on the main page
JavaScript
1
star
44

SimplifyMe

JavaScript
1
star
45

jonlu.ca

Source for my personal website
HTML
1
star
46

Clear-Reddit-Unmoderated

Script to quickly approve all unmoderated posts
Python
1
star
47

AmazeSolver

Algorithm to solve the Amaze!!! Game
HTML
1
star
48

Blackboard-Clone

Phishing clone for Blackboard
JavaScript
1
star
49

Churning-Tools

Tools to help the churning hobby
Python
1
star
50

repo

My tweaks and code. Open source, now and forever
HTML
1
star
51

AddToAmex

Chrome extension to quickly add all new Amex offers to your accounts!
JavaScript
1
star
52

protobuf-extractor

Extract protobuf files from a website
JavaScript
1
star
53

Churning-Traffic-Stats

Data and code for quarterly analysis of traffic to /r/churning
Python
1
star
54

jonluca

NPM introduction!
JavaScript
1
star
55

discord-forum-export

Bot to export forum posts
TypeScript
1
star