<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Articles by Tom Norton</title>
        <link>https://www.tpjnorton.com</link>
        <description>A blog about all things code, design and software engineering.</description>
        <lastBuildDate>Fri, 13 Mar 2026 08:26:03 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>Copyright © Tom Norton</copyright>
        <item>
            <title><![CDATA[Building an Electronic Press Kit (EPK) for Your Band]]></title>
            <link>https://www.tpjnorton.com/blog/posts/building-electronic-press-kit</link>
            <guid>https://www.tpjnorton.com/blog/posts/building-electronic-press-kit</guid>
            <pubDate>Sat, 08 Apr 2023 08:54:29 GMT</pubDate>
            <description><![CDATA[In today's digital age, having a strong online presence is crucial for a band's success. One important tool for promoting your music and getting noticed by industry professionals is an electronic press kit (EPK).]]></description>
            <author>info@tpjnorton.com (Tom Norton)</author>
        </item>
        <item>
            <title><![CDATA[Awesome Next.js API Routes with next-api-decorators]]></title>
            <link>https://www.tpjnorton.com/blog/posts/awesome-next-js-api-routes-with-next-api-decorators</link>
            <guid>https://www.tpjnorton.com/blog/posts/awesome-next-js-api-routes-with-next-api-decorators</guid>
            <pubDate>Tue, 09 Nov 2021 17:31:10 GMT</pubDate>
            <description><![CDATA[Building a modern Web application can be a complex task - it's likely that if you're looking to build something you'll start thinking about…]]></description>
            <author>info@tpjnorton.com (Tom Norton)</author>
        </item>
        <item>
            <title><![CDATA[Next.js 12 Performance Test: Builds Appear to be Slower, Not Faster]]></title>
            <link>https://www.tpjnorton.com/blog/posts/next-js-12-performance-test-builds-appear-to-be-slower-not-faster</link>
            <guid>https://www.tpjnorton.com/blog/posts/next-js-12-performance-test-builds-appear-to-be-slower-not-faster</guid>
            <pubDate>Mon, 01 Nov 2021 13:31:10 GMT</pubDate>
            <description><![CDATA[This week, Vercel announced the release of Next.js 12 at Next.js conf, surprising everyone, given the relatively short time span since the…]]></description>
            <author>info@tpjnorton.com (Tom Norton)</author>
        </item>
        <item>
            <title><![CDATA[If It Isn’t Already, Your Startup’s React Project Should Be Written in TypeScript]]></title>
            <link>https://www.tpjnorton.com/blog/posts/if-it-isnt-already-your-startups-react-project</link>
            <guid>https://www.tpjnorton.com/blog/posts/if-it-isnt-already-your-startups-react-project</guid>
            <pubDate>Wed, 25 Nov 2020 07:02:47 GMT</pubDate>
            <description><![CDATA[I used to object to the idea of TypeScript. To me, it didn’t seem to make sense to add static typing to a language...]]></description>
            <author>info@tpjnorton.com (Tom Norton)</author>
        </item>
        <item>
            <title><![CDATA[5 Lessons I Learned While Releasing A Mobile App]]></title>
            <link>https://www.tpjnorton.com/blog/posts/5-lessons-from-releasing-a-mobile-app</link>
            <guid>https://www.tpjnorton.com/blog/posts/5-lessons-from-releasing-a-mobile-app</guid>
            <pubDate>Mon, 26 Oct 2020 08:54:29 GMT</pubDate>
            <description><![CDATA[This year I wrote and released Still, a mobile app for iOS and Android. Still is an app designed to help people with Anxiety and OCD relax…]]></description>
            <author>info@tpjnorton.com (Tom Norton)</author>
        </item>
        <item>
            <title><![CDATA[Useful Custom Hooks for Tired React Devs]]></title>
            <link>https://www.tpjnorton.com/blog/posts/useful-custom-hooks-for-tired-react-developers</link>
            <guid>https://www.tpjnorton.com/blog/posts/useful-custom-hooks-for-tired-react-developers</guid>
            <pubDate>Sun, 25 Oct 2020 07:31:10 GMT</pubDate>
            <description><![CDATA[React hooks are awesome. By abusing the power of JavaScript closures and with a few caveats, it’s possible to hold state in a function…]]></description>
            <author>info@tpjnorton.com (Tom Norton)</author>
        </item>
        <item>
            <title><![CDATA[Animations in React Native Just Got a Whole Lot Easier]]></title>
            <link>https://www.tpjnorton.com/blog/posts/animations-in-react-native-just-got-easier</link>
            <guid>https://www.tpjnorton.com/blog/posts/animations-in-react-native-just-got-easier</guid>
            <pubDate>Mon, 05 Oct 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Ah, React Native animations. Long-considered to be one of the pain points of React Native development, due to their steep learning curve…]]></description>
            <author>info@tpjnorton.com (Tom Norton)</author>
        </item>
        <item>
            <title><![CDATA[Better React Code Using Functional Programming]]></title>
            <link>https://www.tpjnorton.com/blog/posts/better-react-code-using-functional-programming</link>
            <guid>https://www.tpjnorton.com/blog/posts/better-react-code-using-functional-programming</guid>
            <pubDate>Wed, 30 Sep 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[We’ve all come across stuff like this before. You’ve got a component that can display errors locally, but calls external code...]]></description>
            <author>info@tpjnorton.com (Tom Norton)</author>
        </item>
    </channel>
</rss>