<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Skylimit Dev Blog]]></title><description><![CDATA[Blog about Skylimit, a curating Bluesky client]]></description><link>https://blog.skylimit.dev</link><image><url>https://substackcdn.com/image/fetch/$s_!Zr4M!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607d4ef-b38f-4254-ae3f-5bf07161f62e_660x660.png</url><title>Skylimit Dev Blog</title><link>https://blog.skylimit.dev</link></image><generator>Substack</generator><lastBuildDate>Sat, 09 May 2026 16:42:15 GMT</lastBuildDate><atom:link href="https://blog.skylimit.dev/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[R. Saravanan]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[skylimitdev@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[skylimitdev@substack.com]]></itunes:email><itunes:name><![CDATA[R. Saravanan]]></itunes:name></itunes:owner><itunes:author><![CDATA[R. Saravanan]]></itunes:author><googleplay:owner><![CDATA[skylimitdev@substack.com]]></googleplay:owner><googleplay:email><![CDATA[skylimitdev@substack.com]]></googleplay:email><googleplay:author><![CDATA[R. Saravanan]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Skylimit: A Better Way to Read Social Media]]></title><description><![CDATA[What if your social media feed worked like a newspaper instead of a slot machine?]]></description><link>https://blog.skylimit.dev/p/skylimit-a-better-way-to-read-social</link><guid isPermaLink="false">https://blog.skylimit.dev/p/skylimit-a-better-way-to-read-social</guid><dc:creator><![CDATA[R. Saravanan]]></dc:creator><pubDate>Wed, 25 Mar 2026 19:26:47 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3e177d3a-c639-4ccd-a97b-d481222b32dc_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Social media can be useful, but also frustrating. As a climate scientist, I use it to engage with a wide range of people. But most platforms are designed to maximize screen time, not to help you read well. Even on newer, open platforms like Bluesky, the default experience is still a firehose: everything from everyone you follow, all the time.</p><p>That doesn&#8217;t scale. I follow hundreds of people. Some post occasionally; others post constantly. Important things get buried, and the only way to keep up is to keep scrolling.</p><p>That led me to build <strong><a href="https://skylimit.dev">Skylimit</a></strong>, a <a href="https://bsky.app/">Bluesky</a> client designed to help me make better use of my limited screen time. If most social media apps are built around <em>infinite scrolling, </em>Skylimit is built around the opposite idea:<em> finite scrolling.</em></p><p>Think of it like a newspaper. An editor has limited space and has to decide what makes the cut. Not everything goes in&#8212;only what&#8217;s worth your time.</p><p>Or think of it like a calorie budget. If you only have so much to consume in a day, you want to spend it on the good stuff.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0p--!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0p--!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png 424w, https://substackcdn.com/image/fetch/$s_!0p--!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png 848w, https://substackcdn.com/image/fetch/$s_!0p--!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png 1272w, https://substackcdn.com/image/fetch/$s_!0p--!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0p--!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png" width="1456" height="541" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:541,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1407406,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.skylimit.dev/i/192130230?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0p--!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png 424w, https://substackcdn.com/image/fetch/$s_!0p--!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png 848w, https://substackcdn.com/image/fetch/$s_!0p--!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png 1272w, https://substackcdn.com/image/fetch/$s_!0p--!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543f4e35-fbf0-4970-a2c2-bfc6c9f71aea_3549x1319.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"><em>Skylimit home page (left) and aged post (right)</em></p><p>Skylimit applies that idea to your feed. You choose how many posts you want to see each day. Every post is numbered, starting fresh at midnight. By clicking on a post&#8217;s number, you can boost or downweight individual voices. Your feed should reflect what you actually care about&#8212;not just who posts the most.</p><p>Instead of endlessly scrolling, you start to read more deliberately. Skylimit also tracks whether you&#8217;ve already read a post. About fifteen minutes after you first view it, a checkmark appears and the post background visibly &#8220;ages,&#8221; like paper. As you scroll, you can also see how many unread posts remain.</p><p>One of Skylimit&#8217;s most distinctive features is its Editions feed. Skylimit can generate editions at set times of day&#8212;say, <em>Morning, Noon, </em>and<em> Evening</em>. Within each edition, posts are grouped into sections based on criteria you define.</p><p>For example, you might create:</p><p>- a <em>Substacks</em> section in the Morning Edition for recent blog posts,</p><p>- a <em>Humor</em> section in the Noon Edition,</p><p>- or a <em>Friends/Colleagues</em> section to make sure you don&#8217;t miss posts from people you care about.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1pWd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1pWd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png 424w, https://substackcdn.com/image/fetch/$s_!1pWd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png 848w, https://substackcdn.com/image/fetch/$s_!1pWd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!1pWd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1pWd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1540498,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.skylimit.dev/i/192130230?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1pWd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png 424w, https://substackcdn.com/image/fetch/$s_!1pWd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png 848w, https://substackcdn.com/image/fetch/$s_!1pWd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!1pWd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011bbb9-817c-47d1-82d6-d862c6a9c8da_3641x2048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"><em>Sample edition layout specification (left) and rendering (right)</em></p><p>Editions are a bit like Bluesky lists&#8212;but they are also structured in time. That helps solve a familiar problem: FOMO. The fear that if you stop scrolling, you&#8217;ll miss something important. In Skylimit, you can treat people like columnists and make sure their posts appear where and when you expect them.</p><p>Another problem with social media is that prolific posters can dominate your attention. Skylimit uses a statistical algorithm to make sure quieter voices are still heard, while still letting you control how much attention prolific posters get.</p><p>Try out the beta version of Skylimit at <a href="https://skylimit.dev/">skylimit.dev</a>. You can use it as a normal website, but you can also install it on your phone&#8212;or even on a desktop computer&#8212;as a web app, without going through an app store. The site includes an install link with instructions.</p><p>To log in, you&#8217;ll need to create a <em><a href="https://bsky.app/settings/app-passwords">Bluesky App Password</a></em> using the link on the site. Once you log in, your session will usually be remembered, so you won&#8217;t need to repeat that step often. Give the app a minute or two to initialize. Skylimit downloads roughly a day&#8217;s worth of posts from your feed so it can set up its probabilistic curation system.</p><p>(Technically, Skylimit is a serverless <a href="https://github.com/mitotic/skylimit#readme">open-source</a> web app hosted on GitHub Pages. There is no Skylimit server, and all of its curation data is stored locally in your browser. That means the curation data stays private.)</p><p>Once initialization is complete, you&#8217;ll start seeing numbered posts in your feed. From there, go to <em>Settings</em> and choose how many posts you want to see per day. That number is a statistical target, not a hard cap. On busy days, you will see more posts. On quiet days, you will see fewer.</p><p>At the top of the feed, the <em>Next Page</em> and <em>New Posts</em> buttons let you move forward. At the bottom, the <em>Prev Page</em> button lets you go back. (There is also an &#8220;infinite scroll&#8221; option buried in <em>Settings</em> that will automatically click <em>Prev Page </em>for you&#8212;but turning it on rather defeats the whole point!)</p><p>In future posts, I&#8217;ll explain more about what Skylimit can do. That includes practical features, like how to design your own periodic editions, and stranger ones, like the built-in bug reporting system. If you&#8217;re technically inclined, you can even use that system to debug or customize the app while it&#8217;s running&#8212;by literally talking to it.</p><p><em>Note: You can view my intro <a href="https://atmosphereconf.org/event/xX5yRJr">Lightning Talk Video</a> from <a href="https://atmosphereconf.org/">ATmosphereConf 2026</a> (the global AT Protocol community conference).</em></p><p><em>Bluesky: <a href="https://bsky.app/profile/sarava.net">@sarava.net</a></em></p>]]></content:encoded></item></channel></rss>