Skip to content

Latest commit

 

History

History
105 lines (68 loc) · 5.55 KB

README.md

File metadata and controls

105 lines (68 loc) · 5.55 KB

Familia Mongefranco Logo

Bluesky Feeds

Description

Custom post feeds that can be used in the Bluesky micro-blogging platform. Fork this repo to start your own feeds, or simply open the published feed links to follow in the Bluesky app.

Quick Start Guide

  • To add a feed to Bluesky, simply click on one of the feed links below and either pin it or subscribe to it.
  • To further customize a feed, or to build your own based on these custom feeds, open the apropriate JSON file and copy & paste into Skyfeed.app.

Available Feeds

#umichresearch

#umichresearch feed logo
Highlights from research, publications, discoveries and innovations at University of Michigan.

Documentation

#umichresearch

  1. Get all feeds (firehose) from the past 12 hours
  2. Remove replies, leaving only posts and re-posts (to speed up filters that follow)
  3. Remove re-posts, now leaving only posts (to speed up filters that follow)
  4. Filter using regular expressions (regex), searching the post text, images alt text, and links
    • Match pattern "umich research", "umich center", etc.
      • Match the beginning of any word, or words starting with # or @
      • Then match umich, mich med, etc.
      • Then optionally match end of the word or apostrophe s ('s)
      • Then match health, center, institute, research, etc.
      • Then match optional endings in ing, ed, etc.
      • Then match the end of the word (word boundary)
    • OR match links to any sub-domains of umich.edu, umflint.edu or umdearborn.edu (the parent domains are excluded to avoid getting unrelated university announcements)
    • OR match links to specific domains that also contain research articles (e.g. michiganmedicine.org, myuofmhealth.org, depressioncenter.org)
  5. Limit to 200 results (since this could potentially return thousands of posts)
  6. Add posts from a custom #umich-researchers list, from the last 7 days. Since researchers are busy teaching and doing research, pulling longer history makes sense.
  7. Remove replies, to ensure only posts and re-posts from investigators in the previous list are used in the feed. Comments in replies potentially add too much unrelated information
  8. Add posts using any of the following tags: #umichresearch, #umichresearchers, #umich-researchers, #umichscience, #umdepressioncenter, #umichdepressioncenter, #umichmetric, #ummetricsymposium, #umichmetricsymposium, #metricsymposium, #umichisr, #d3center, #umichd3c, #umichpsc
  9. Now try to narrow posts by filtering using regular expressions for research-related keywords, or keywords that researchers are likely to use when referring to studies and research-related events
  10. Then remove potentially offensive or off-topic (non-research) posts with an inverse regular expresison filter
  11. Remove offensive, sexually charged, hate charged, misleading, or spam posts using the Bluesky Moderation Service
  12. Remove duplicates
  13. Finally, sort by creation date to display newest posts first

Additional Resources

About the Author

Gabriel Mongefranco is a Mobile Data Architect and Software Developer. Gabriel has over a decade of experience in API development, automation, backend development, data analytics, dashboard design, database design, middleware development and architecture, mobile data cleaning and analysis, and technical writing.

Contact

To get in touch, please visit: https://gabriel.mongefranco.com.

Credits

Contributors:

This work is based in part on the following projects, libraries and/or studies:

License

Copyright Notice

Copyright © 2024-2025 Gabriel Mongefranco

Software and Library License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/gpl-3.0-standalone.html.

Documentation License

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You should have received a copy of the license included in the section entitled "GNU Free Documentation License". If not, see https://www.gnu.org/licenses/fdl-1.3-standalone.html

Citation

If you find this repository, code or paper useful for your research, please cite it.


Copyright © 2024-2025 Gabriel Mongefranco