<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Bytefo — AI automations and cool things, built by two people.</title><description>Bytefo is a two-person studio building AI automations, custom AI tools and our own products. You talk to the people who build it.</description><link>https://bytefo.com/</link><language>en</language><item><title>Why we automate the boring parts first</title><link>https://bytefo.com/blog/why-we-automate-the-boring-parts-first/</link><guid isPermaLink="true">https://bytefo.com/blog/why-we-automate-the-boring-parts-first/</guid><description>The flashiest AI project is rarely the one that pays for itself. Here is the test we run before we build anything, and where automation quietly goes wrong.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Most people who contact us arrive with the same idea: build the impressive thing. A chatbot, an agent, something with a demo that gets applause in a meeting. We almost always talk them out of it, at least for the first project.&lt;/p&gt;
&lt;p&gt;The valuable work is usually hiding underneath it — the copying and pasting, the inbox that eats an hour a day, the report somebody rebuilds by hand every Monday because the last person who knew the query left.&lt;/p&gt;
&lt;h2 id=&quot;boring-is-a-technical-term-here&quot;&gt;Boring is a technical term here&lt;a href=&quot;#boring-is-a-technical-term-here&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A task is a good automation candidate when three things are true:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;It repeats.&lt;/strong&gt; Weekly or more often. One-off tasks are not worth automating; you will spend longer building the thing than doing it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;It has a shape.&lt;/strong&gt; A clear input, a predictable decision, a known destination. If the output format lives in one person’s head, that is a documentation problem first, and a code problem second.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Somebody notices when it is wrong.&lt;/strong&gt; There is a real consequence if the automation drops a step, which means you will actually maintain it.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If a task passes all three, the economics are almost boringly predictable. If it fails one, no amount of clever model selection saves it.&lt;/p&gt;
&lt;h2 id=&quot;the-shape-of-the-work&quot;&gt;The shape of the work&lt;a href=&quot;#the-shape-of-the-work&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The pattern we build most often looks like this: something arrives, it needs to be read, classified, enriched, and sent somewhere useful.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-light&quot; style=&quot;background-color:#fff;color:#24292e; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word;&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// The shape, not the implementation: read → decide → enrich → deliver.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D73A49&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#D73A49&quot;&gt; async&lt;/span&gt;&lt;span style=&quot;color:#D73A49&quot;&gt; function&lt;/span&gt;&lt;span style=&quot;color:#6F42C1&quot;&gt; triage&lt;/span&gt;&lt;span style=&quot;color:#24292E&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#E36209&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color:#D73A49&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#6F42C1&quot;&gt; Incoming&lt;/span&gt;&lt;span style=&quot;color:#24292E&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D73A49&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#005CC5&quot;&gt; reading&lt;/span&gt;&lt;span style=&quot;color:#D73A49&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#D73A49&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#6F42C1&quot;&gt; read&lt;/span&gt;&lt;span style=&quot;color:#24292E&quot;&gt;(item);            &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// an LLM reads messy input&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D73A49&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#005CC5&quot;&gt; decision&lt;/span&gt;&lt;span style=&quot;color:#D73A49&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#6F42C1&quot;&gt; classify&lt;/span&gt;&lt;span style=&quot;color:#24292E&quot;&gt;(reading, &lt;/span&gt;&lt;span style=&quot;color:#005CC5&quot;&gt;RULES&lt;/span&gt;&lt;span style=&quot;color:#24292E&quot;&gt;);   &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// rules decide, not the model&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D73A49&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#005CC5&quot;&gt; enriched&lt;/span&gt;&lt;span style=&quot;color:#D73A49&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#D73A49&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#6F42C1&quot;&gt; enrich&lt;/span&gt;&lt;span style=&quot;color:#24292E&quot;&gt;(item, company); &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// your tools, your data&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D73A49&quot;&gt;  return&lt;/span&gt;&lt;span style=&quot;color:#6F42C1&quot;&gt; deliver&lt;/span&gt;&lt;span style=&quot;color:#24292E&quot;&gt;(enriched, decision.destination);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#24292E&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Two opinions are baked into those four lines, and both of them matter more than the model choice.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The model reads; the rules decide.&lt;/strong&gt; Language models are excellent at turning a messy email into structured fields, and unreliable at being consistently right about policy. So we let it extract, and let ordinary deterministic code decide what happens next. When something goes wrong you can read the rules and point at the line. Try doing that with a prompt.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enrichment uses your tools.&lt;/strong&gt; If the answer lives in your CRM, the automation reads your CRM. It does not keep a hopeful copy of your data in a separate system that drifts out of sync by week three.&lt;/p&gt;
&lt;h2 id=&quot;where-it-goes-wrong&quot;&gt;Where it goes wrong&lt;a href=&quot;#where-it-goes-wrong&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We have seen the same three failure modes enough times that we now check for them before we start.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Failure&lt;/th&gt;
&lt;th&gt;What it looks like&lt;/th&gt;
&lt;th&gt;What we do instead&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Automating a process nobody understands&lt;/td&gt;
&lt;td&gt;Two people describe the same workflow differently&lt;/td&gt;
&lt;td&gt;Map it on one page first, with the people who do the work&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Full autonomy on the edge cases&lt;/td&gt;
&lt;td&gt;The 5% of odd inputs silently go nowhere&lt;/td&gt;
&lt;td&gt;Route anything uncertain to a human queue with context attached&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Building on tools the team resents&lt;/td&gt;
&lt;td&gt;The automation works, nobody uses it&lt;/td&gt;
&lt;td&gt;Automate inside the tools people already open every day&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The second one is the expensive mistake. It is tempting to promise full autonomy, because that is the version that sounds impressive. But “the automation handles 90% and hands you the tricky 10% with a summary” is a system people trust. A system that quietly loses 5% of invoices is a system people stop using, and then you have paid for two processes instead of one.&lt;/p&gt;
&lt;h2 id=&quot;how-we-measure-it&quot;&gt;How we measure it&lt;a href=&quot;#how-we-measure-it&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Not with a benchmark. With three numbers that a non-technical person can check:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hours back per week.&lt;/strong&gt; Measured before and after, from the people doing the work.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Touch rate.&lt;/strong&gt; How often a human has to intervene. This is the maintenance bill, and it should fall over the first month.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time to answer “why did it do that?”&lt;/strong&gt; If nobody can explain a decision in a couple of minutes, the automation is not finished.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;If the only person who understands the automation is the person who built it, you have bought yourself a dependency instead of a system.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;what-we-would-do-first-at-your-company&quot;&gt;What we would do first at your company&lt;a href=&quot;#what-we-would-do-first-at-your-company&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ask the team one question: &lt;em&gt;what did you do this week that you have done before?&lt;/em&gt; Collect the answers, count how often each one repeats, and pick the top one. It is almost never the task that got mentioned in the strategy meeting.&lt;/p&gt;
&lt;p&gt;Then build it small, in days, with the people who own the process watching. If it survives a month of real use, automate the next one. If it does not, you have lost a week instead of a quarter, and you have learned something true about how your business actually runs.&lt;/p&gt;
&lt;p&gt;That is the whole trick. The flashy project is still available afterwards — it just gets built on top of a company that already has a bit more room to breathe.&lt;/p&gt;
</content:encoded><category>Automations</category><category>Approach</category><author>Bytefo</author></item><item><title>Two people, one AI studio</title><link>https://bytefo.com/blog/two-people-one-ai-studio/</link><guid isPermaLink="true">https://bytefo.com/blog/two-people-one-ai-studio/</guid><description>Why we are deliberately staying small, the stack we actually use, and the four kinds of work we now say no to without hesitating.</description><pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bytefo is two people. When we say that, most people politely wait for the part where we mention the team we are about to hire, or the agency we are partnering with.&lt;/p&gt;
&lt;p&gt;There is no such part. Two is the plan.&lt;/p&gt;
&lt;h2 id=&quot;why-small-is-the-feature-not-the-limitation&quot;&gt;Why small is the feature, not the limitation&lt;a href=&quot;#why-small-is-the-feature-not-the-limitation&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Every hand-off in a project costs something. A message gets summarised, the summary loses the detail that mattered, somebody builds the slightly wrong thing, and a week goes by before anyone notices. In a big team, process exists to make those losses survivable. In a two-person studio, we can simply skip the hand-off.&lt;/p&gt;
&lt;p&gt;The practical result is that the person who understands your problem is the person writing the code that solves it. When you describe the annoying thing on a Tuesday call, that same person can be halfway through a working version on Thursday. There is no translation layer to lose it in, because there is no layer.&lt;/p&gt;
&lt;p&gt;We are not pretending this scales. It does not, and we do not want it to. What it does is let us take on a small number of projects and finish them properly.&lt;/p&gt;
&lt;h2 id=&quot;the-stack-honestly&quot;&gt;The stack, honestly&lt;a href=&quot;#the-stack-honestly&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We have no interest in a technology stack as a personality trait. Here is what we use and why, so you can judge whether it fits you.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TypeScript for almost everything.&lt;/strong&gt; Automations, internal tools, glue. One language across the stack means one of us can pick up what the other started, which matters a great deal when there are only two of you.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Off-the-shelf models, treated as replaceable.&lt;/strong&gt; The interesting engineering is the plumbing around the model: the retries, the validation, the human queue for uncertain cases. We keep that layer separate so swapping a model is a config change, not a rewrite.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Static sites and simple deploys.&lt;/strong&gt; This site is plain HTML built from markdown, deployed as files. No database, no server to babysit, no monthly invoice for a page that changes twice a month.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cron, webhooks, and queues before frameworks.&lt;/strong&gt; Most automation problems are solved by something that runs on a schedule and calls two APIs in the right order. Reaching for a platform first is how you end up maintaining a platform.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Markdown and git for everything written.&lt;/strong&gt; Decisions, client notes, this blog. If it is not in the repository, it does not exist.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The common thread: we prefer tools that a competent developer can understand completely in an afternoon. Boring tools fail in boring ways.&lt;/p&gt;
&lt;h2 id=&quot;what-we-say-no-to&quot;&gt;What we say no to&lt;a href=&quot;#what-we-say-no-to&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Refusing work is the most reliable quality control we have. These four are automatic no’s.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Six-month roadmaps.&lt;/strong&gt; If a project needs a quarter before anything works, the plan is wrong, not the deadline. We would rather find the smallest version that can be in use next week and grow it from there.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;“AI strategy” documents.&lt;/strong&gt; Nobody ever needed a document about AI. They needed the Monday report to build itself.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Projects where nobody owns the process.&lt;/strong&gt; We can automate a workflow; we cannot automate a disagreement. If two departments describe the same process differently, that conversation has to happen before we write code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Anything we would not use ourselves.&lt;/strong&gt; It is a small studio, so our reputation is the only marketing budget we have. Work we are not proud of is not worth the money.&lt;/p&gt;
&lt;h2 id=&quot;juggling-four-jobs-with-two-people&quot;&gt;Juggling four jobs with two people&lt;a href=&quot;#juggling-four-jobs-with-two-people&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Running a studio this size means each of us is doing product, engineering, writing, and support on the same day. A few things make that survivable:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Defaults instead of debates.&lt;/strong&gt; We settled the tools and conventions once, wrote them down, and stopped relitigating them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;One page of thinking before code.&lt;/strong&gt; Short, plain-language, written for the person who will read it in six months.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Working software before polish.&lt;/strong&gt; A rough thing that runs tells you whether the idea is right. A beautiful thing that does not run tells you nothing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ship it, then automate our own job.&lt;/strong&gt; Every repetitive task we do twice gets automated. It is both useful practice and the only reason two people can look like more than two.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Small teams do not win by working more hours. They win by having fewer places where the work can get lost.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;working-with-us&quot;&gt;Working with us&lt;a href=&quot;#working-with-us&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you have a process that eats somebody’s week, tell us about it in a couple of paragraphs. You will get a real reply from one of the two of us, an honest read on whether AI helps here, and — if it does — a plan with days in it instead of phases.&lt;/p&gt;
</content:encoded><category>Studio</category><category>Process</category><author>Bytefo</author></item><item><title>Building in the open: our first product</title><link>https://bytefo.com/blog/building-in-the-open-our-first-product/</link><guid isPermaLink="true">https://bytefo.com/blog/building-in-the-open-our-first-product/</guid><description>Client work pays the bills, products compound. What we are building, why we are publishing the messy middle, and the rules we set for ourselves before writing any code.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Automations are wonderful and slightly thankless. Each one solves a specific problem for a specific team, it works beautifully, and then it is done — quietly running somewhere, saving somebody an afternoon a week, generating no further momentum.&lt;/p&gt;
&lt;p&gt;Products are the opposite. Harder, slower to pay off, and the only thing that compounds: build it once and the hundredth user costs you almost nothing extra.&lt;/p&gt;
&lt;p&gt;So we are building one. This is the first note in a series about it, written while it is still small enough to be embarrassing.&lt;/p&gt;
&lt;h2 id=&quot;what-we-are-building&quot;&gt;What we are building&lt;a href=&quot;#what-we-are-building&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The short version: an AI toolkit for the operational busywork that small teams drown in — the same category of work we automate for clients, packaged so that a team can run it themselves.&lt;/p&gt;
&lt;p&gt;We are deliberately not naming it yet, and not committing to a feature list, because we have watched other people do that and then spend six months defending a promise they made before they understood the problem.&lt;/p&gt;
&lt;p&gt;What we will commit to is the shape of the problem. A small team has a handful of repeating jobs: intake that needs sorting, documents that need reading, updates that need writing, follow-ups that need remembering. These jobs are individually too small to justify software, and collectively they eat a person.&lt;/p&gt;
&lt;h2 id=&quot;why-build-in-the-open&quot;&gt;Why build in the open&lt;a href=&quot;#why-build-in-the-open&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Two reasons, one of them selfish.&lt;/p&gt;
&lt;p&gt;The selfish one: writing about what we are doing forces clarity. A decision that seemed obvious in a conversation turns out to have three unexamined assumptions when you try to explain it in a paragraph. We catch those in the writing, which is cheaper than catching them in the code.&lt;/p&gt;
&lt;p&gt;The other reason is that most product writing is written backwards — after the decision, polished until it looks inevitable. That version is useless to anyone in the middle of the same problem, which is exactly where we are. So we will publish the parts that are normally edited out: what we tried first, what we threw away, and the numbers we are willing to share.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A launch post tells you what somebody wants you to think. A build log tells you what is actually true.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;the-rules-we-set-before-writing-code&quot;&gt;The rules we set before writing code&lt;a href=&quot;#the-rules-we-set-before-writing-code&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;One job, done properly.&lt;/strong&gt; The product should do a single thing well enough that people describe it in one sentence without adding “sort of”.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ship before it is comfortable.&lt;/strong&gt; A rough version in front of ten real users beats a polished version in front of nobody. We would rather have something live in days and improve it in public than announce a date we cannot defend.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Charge from day one.&lt;/strong&gt; Free betas attract people who like trying things, not people with the problem. A small price is the cheapest honest signal we know of.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No roadmap promises.&lt;/strong&gt; We will tell you what we are working on, not what will exist in March.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;If a client problem keeps appearing, that is the roadmap.&lt;/strong&gt; Our client work is the best research we have. When three teams ask for the same thing, the product should already be doing it.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;what-we-are-not-doing&quot;&gt;What we are not doing&lt;a href=&quot;#what-we-are-not-doing&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We are not raising money. We are not hiring. We are not building a platform, an ecosystem, or anything with a marketplace in it. Every one of those is a way to spend a year on something other than the product.&lt;/p&gt;
&lt;p&gt;The plan is smaller and more boring than that: find the sharpest version of the problem, build it with the two of us, put it in front of people, and let what happens next decide the next step.&lt;/p&gt;
&lt;h2 id=&quot;following-along&quot;&gt;Following along&lt;a href=&quot;#following-along&quot; class=&quot;heading-anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;New posts land on the blog and in the RSS feed — no newsletter, no popup, no tracking pixel. Posts about the product will be tagged &lt;a href=&quot;/blog/?tag=Products&quot;&gt;Products&lt;/a&gt;, and when there is something you can actually use, it will be the loudest thing on this site.&lt;/p&gt;
</content:encoded><category>Products</category><category>Workshop</category><author>Bytefo</author></item></channel></rss>