<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Social Media on Build in Public</title><link>https://build.ralphmayr.com/tags/social-media/</link><description>Recent content in Social Media on Build in Public</description><generator>Hugo</generator><language>en-us</language><copyright>©️ Ralph Mayr 2026</copyright><lastBuildDate>Sun, 05 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://build.ralphmayr.com/tags/social-media/index.xml" rel="self" type="application/rss+xml"/><item><title>Automating Instagram is a nightmare!</title><link>https://build.ralphmayr.com/posts/97-automating-instagram-is-a-nightmare/</link><pubDate>Sun, 05 Oct 2025 00:00:00 +0000</pubDate><guid>https://build.ralphmayr.com/posts/97-automating-instagram-is-a-nightmare/</guid><description>&lt;p&gt;This one isn't entirely related to poketto.me, but it's still an interesting lesson I learned the hard way the other day: If you want to build a &amp;quot;simple&amp;quot; app that automatically posts content to your Instagram account, it's much more difficult than you'd think.&lt;/p&gt;
&lt;p&gt;First, there's a GitHub project called instagrapi that seems to offer a nice Python automation library for Instagram. It can post photos, videos, etc. Looks good, right? Don't use it. Ever. It&amp;rsquo;s based on unofficial APIs, and using it &amp;mdash; especially in a script running in a cloud environment &amp;mdash; will get your Instagram account blocked almost instantly.&lt;/p&gt;</description></item><item><title>Social media “previews” are tricky (part 2)</title><link>https://build.ralphmayr.com/posts/63-social-media-previews-are-tricky-part-2/</link><pubDate>Mon, 01 Sep 2025 00:00:00 +0000</pubDate><guid>https://build.ralphmayr.com/posts/63-social-media-previews-are-tricky-part-2/</guid><description>&lt;p&gt;Yesterday, I described my elegant solution to the social media &amp;ldquo;preview&amp;rdquo; problem: Direct the share URL to the Python backend, render a skeleton HTML page with machine-readable metadata, and send real browsers to the Angular app&amp;rsquo;s proper &amp;ldquo;read&amp;rdquo; page.&lt;/p&gt;
&lt;p&gt;But&amp;hellip; how exactly do you redirect the user?&lt;/p&gt;
&lt;p&gt;My first, naive idea was to use the age-old HTML redirect tag:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;meta http-equiv=&amp;quot;refresh&amp;quot; content=&amp;quot;0; url=http://example.com/&amp;quot; \&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;My assumption: social media bots wouldn&amp;rsquo;t follow these &amp;ldquo;semantic&amp;rdquo; redirects, but they would follow HTTP redirects (which they definitely do). This worked perfectly &amp;mdash; except for LinkedIn 😅&lt;/p&gt;</description></item><item><title>Social media “previews” are tricky (part 1)</title><link>https://build.ralphmayr.com/posts/62-social-media-previews-are-tricky-part-1/</link><pubDate>Sun, 31 Aug 2025 00:00:00 +0000</pubDate><guid>https://build.ralphmayr.com/posts/62-social-media-previews-are-tricky-part-1/</guid><description>&lt;p&gt;When you add a link to a website to post on Bluesky, Facebook, or LinkedIn, your post will often contain a &amp;ldquo;preview&amp;rdquo; of the target page. That&amp;rsquo;s great &amp;mdash; it makes the post more appealing and more likely to get clicks. But how do social media platforms fetch the exact content they embed in that preview? That&amp;rsquo;s&amp;hellip; a tiny rabbit hole.&lt;/p&gt;
&lt;p&gt;Enter: the &amp;ldquo;Share&amp;hellip;&amp;rdquo; feature of poketto.me. You can share any saved content with others via poketto.me. Anyone who opens the link gets the same distraction-free reading experience, whether or not they use poketto.me.&lt;/p&gt;</description></item></channel></rss>