{"id":13809809,"url":"https://github.com/heedrox/abbreviame","last_synced_at":"2025-10-03T15:54:01.996Z","repository":{"id":153181425,"uuid":"612977269","full_name":"heedrox/abbreviame","owner":"heedrox","description":"Get an abbreviated description made by an AI of you based on your latest tweets. What do other users perceive from what you tweet?","archived":false,"fork":false,"pushed_at":"2023-05-14T14:32:16.000Z","size":228,"stargazers_count":152,"open_issues_count":0,"forks_count":21,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-02-15T15:31:44.261Z","etag":null,"topics":["gpt-3","gpt-35-turbo","twitter"],"latest_commit_sha":null,"homepage":"https://abbrevia.me","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heedrox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-03-12T14:47:36.000Z","updated_at":"2024-02-12T18:50:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"df0e99e6-40b4-4cf8-a6a1-c11ba15e3b92","html_url":"https://github.com/heedrox/abbreviame","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/heedrox/abbreviame","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heedrox%2Fabbreviame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heedrox%2Fabbreviame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heedrox%2Fabbreviame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heedrox%2Fabbreviame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heedrox","download_url":"https://codeload.github.com/heedrox/abbreviame/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heedrox%2Fabbreviame/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271604713,"owners_count":24788759,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gpt-3","gpt-35-turbo","twitter"],"created_at":"2024-08-04T02:00:36.524Z","updated_at":"2025-10-03T15:54:01.758Z","avatar_url":"https://github.com/heedrox.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n \u003cimg src=\"https://github.com/heedrox/abbreviame/blob/main/public/logo.png\" width=\"50%\" alt=\"Logo de abbreviame\" /\u003e\n\u003c/p\u003e\n\nOriginally: A proof of concept to know if an AI can answer any question about any user reading all their timeline.\n\nAt the end: Get an abbreviated description made by an AI of you based on your latest tweets.  What do other users perceive from what you tweet? \n\n# What you can do with this\n\nYou can do several things, like:\n- Replicate original abbrevia.me service.\n- Pivot original abbrevia.me for other use cases, e.g. a service for corporates.\n- Use it for other questions. Actually, the code was prepared to accept other questions, beyond the original one. \n  It was never used in production, but you can send an \"anotherQuestion\" parameter in your query :scream:\n  Be creative! For example, you can say: \"Specify 10 keywords that match this user.\"\n\nSome limits you must be aware of:\n- Twitter apps have a rate limit. Check what does this mean for your use case.\n- OpenAI has a max quota of 120 $. If you expect to spend more, fill the form you will find in their site soon.\n\n# Installation \u0026 local execution\n\nIf you have any question or you find a bug, please, let me know. If you want to contribute, go ahead and do it.\nIf you want to do something similar with that code, DM me for help; especially if you belong to an\nunderrepresented group in technology. I might not answer, but if I have time, I am willing to help.\n\nYou can adapt this code to use any database or server. In my case, I use firebase,\nso this is a guide to make it work in firebase.\n\n- Create a firebase project in https://console.firebase.google.com\n\n- Add it as default in your project:\n```shell\nfirebase use --add\n```\n\n- Inside functions folder\n```shell\ncd functions\n```\n\n- Copy .env-example file to .env\n```shell\ncp .env-example .env\n```\n\n- Edit \".env\" file and add your own API keys (from twitter and openAI)\n\n- Use node 16. I usually use NVM in order to use different node versions.\n```shell\nnvm use\n```\n\n- Install dependencies\n```shell\nnpm install\n```\n\n- Change the ROLE_SYSTEM and the prompt, in following files:\n  - functions/app/gpt/query-gpt-chat.js (ROLE_SYSTEM_INSTRUCTIONS variable)\n  - functions/app/prompt.js (PROMPTS variable)\n\n- In your root folder again\n```shell\ncd ..\n```\n\n- Add a \"service-account.json\" for firebase database connection.\n\n- Run an emulator\n```shell\nfirebase emulators:start\n```\n\nThe rest of this, I leave it to you!\n\n# License\n\nMIT License. Read [LICENSE.md](LICENSE.md)\n\nIt is not mandatory to notify me if you use this code, but it would be great to know that you use it.\n\n# Recognition \u0026 Contribution\n\nThanks [@dianait_](https://twitter.com/dianait_) for the abbreviame logo.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheedrox%2Fabbreviame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheedrox%2Fabbreviame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheedrox%2Fabbreviame/lists"}