<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Joshua Matthews</title>
    <description>The latest articles on Forem by Joshua Matthews (@logicleap).</description>
    <link>https://forem.com/logicleap</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3691560%2Ff58a5c68-3b14-411a-8bee-9c2070ada39e.png</url>
      <title>Forem: Joshua Matthews</title>
      <link>https://forem.com/logicleap</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/logicleap"/>
    <language>en</language>
    <item>
      <title>Developer Burnout Is Real: Signs, Prevention, and Recovery</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:57:33 +0000</pubDate>
      <link>https://forem.com/logicleap/developer-burnout-is-real-signs-prevention-and-recovery-595a</link>
      <guid>https://forem.com/logicleap/developer-burnout-is-real-signs-prevention-and-recovery-595a</guid>
      <description>&lt;p&gt;Burnout isn't weakness. It's what happens when sustained stress exceeds recovery. Developers are particularly vulnerable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Warning Signs
&lt;/h2&gt;

&lt;p&gt;Cynicism about work you once enjoyed. Projects feel meaningless.&lt;/p&gt;

&lt;p&gt;Exhaustion that sleep doesn't fix. Mental fatigue persists.&lt;/p&gt;

&lt;p&gt;Declining performance despite effort. Simple tasks feel hard.&lt;/p&gt;

&lt;p&gt;Detachment from colleagues and work. Isolation increases.&lt;/p&gt;

&lt;p&gt;Physical symptoms. Headaches, sleep problems, changes in appetite.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Developers Are Vulnerable
&lt;/h2&gt;

&lt;p&gt;Always-on culture. Slack notifications at midnight. Weekend deployments.&lt;/p&gt;

&lt;p&gt;Imposter syndrome. Constant learning can feel like never being good enough.&lt;/p&gt;

&lt;p&gt;Unclear success metrics. "Ship more features" isn't a healthy goal.&lt;/p&gt;

&lt;p&gt;Cognitive load. Keeping complex systems in your head is exhausting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prevention Strategies
&lt;/h2&gt;

&lt;p&gt;Set boundaries. Working hours should end. Notifications should stop.&lt;/p&gt;

&lt;p&gt;Take actual vacation. Not working-from-beach vacation. Real disconnection.&lt;/p&gt;

&lt;p&gt;Build non-coding interests. Your identity shouldn't be your job title.&lt;/p&gt;

&lt;p&gt;Exercise regularly. Physical activity genuinely helps mental health.&lt;/p&gt;

&lt;p&gt;Maintain relationships outside work. Diverse social connections matter.&lt;/p&gt;

&lt;p&gt;Say no to some opportunities. Not every project needs you.&lt;/p&gt;

&lt;h2&gt;
  
  
  When You're Already Burned Out
&lt;/h2&gt;

&lt;p&gt;Acknowledge it. Denial prolongs suffering.&lt;/p&gt;

&lt;p&gt;Talk to someone. Manager, HR, therapist, friend. You're not the first.&lt;/p&gt;

&lt;p&gt;Take time off if possible. Even a few days of genuine rest helps.&lt;/p&gt;

&lt;p&gt;Identify what's unsustainable. What specific factors are draining you?&lt;/p&gt;

&lt;p&gt;Make changes. Sometimes that means a new team, sometimes a new company, sometimes just new boundaries.&lt;/p&gt;

&lt;h2&gt;
  
  
  For Managers
&lt;/h2&gt;

&lt;p&gt;Watch for signs in your team. Sudden performance drops, withdrawal, cynicism.&lt;/p&gt;

&lt;p&gt;Model healthy behaviour. If you email at midnight, you set that expectation.&lt;/p&gt;

&lt;p&gt;Staff appropriately. Permanent crunch mode burns people out.&lt;/p&gt;

&lt;p&gt;Check in genuinely. "How are you?" asked with time to listen.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Long View
&lt;/h2&gt;

&lt;p&gt;Your career spans decades. Burning bright for two years then crashing isn't success.&lt;/p&gt;

&lt;p&gt;Sustainable pace beats heroic effort. Every time.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we believe sustainable work practices are a competitive advantage. Building a team culture that prevents burnout? We've learned some things.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;How do you maintain sustainable pace in your work?&lt;/p&gt;

</description>
      <category>burnout</category>
      <category>mentalhealth</category>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Technical Documentation That People Actually Read</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:54:04 +0000</pubDate>
      <link>https://forem.com/logicleap/technical-documentation-that-people-actually-read-592a</link>
      <guid>https://forem.com/logicleap/technical-documentation-that-people-actually-read-592a</guid>
      <description>&lt;p&gt;Bad documentation isn't just unhelpful—it actively damages adoption. Here's how to write docs developers actually use.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Documentation Audit
&lt;/h2&gt;

&lt;p&gt;Before writing, assess: What questions do users actually have?&lt;/p&gt;

&lt;p&gt;Support tickets reveal gaps. What do people ask repeatedly?&lt;/p&gt;

&lt;p&gt;Search analytics show intent. What are people looking for?&lt;/p&gt;

&lt;p&gt;User interviews surface confusion. Where do people get stuck?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Four Types of Documentation
&lt;/h2&gt;

&lt;p&gt;Tutorials guide newcomers through first experiences. Hand-holding is appropriate.&lt;/p&gt;

&lt;p&gt;How-to guides solve specific problems. Task-focused, assume basic knowledge.&lt;/p&gt;

&lt;p&gt;Reference documentation provides precise technical details. Completeness matters.&lt;/p&gt;

&lt;p&gt;Explanations give context and background. Help users build mental models.&lt;/p&gt;

&lt;p&gt;Most projects need all four. Each serves different needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing Principles
&lt;/h2&gt;

&lt;p&gt;Start with what the user wants to accomplish, not what your product does.&lt;/p&gt;

&lt;p&gt;Use concrete examples. Abstract explanations confuse; code samples clarify.&lt;/p&gt;

&lt;p&gt;Keep paragraphs short. Scannable beats dense.&lt;/p&gt;

&lt;p&gt;Link liberally. Users arrive at different points—help them find context.&lt;/p&gt;

&lt;h2&gt;
  
  
  Structure Matters
&lt;/h2&gt;

&lt;p&gt;Consistent navigation. Users should always know where they are.&lt;/p&gt;

&lt;p&gt;Progressive disclosure. Don't overwhelm upfront. Basics first, advanced later.&lt;/p&gt;

&lt;p&gt;Searchable content. Ctrl+F is often the first interaction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Maintenance
&lt;/h2&gt;

&lt;p&gt;Docs rot. Code changes; docs lag behind.&lt;/p&gt;

&lt;p&gt;Build docs into the development process. PR should update relevant docs.&lt;/p&gt;

&lt;p&gt;Version docs with releases. Old versions need accessible documentation.&lt;/p&gt;

&lt;p&gt;Set up alerts for broken links and outdated examples.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing Documentation
&lt;/h2&gt;

&lt;p&gt;Have someone unfamiliar follow your tutorial. Watch where they struggle.&lt;/p&gt;

&lt;p&gt;Check code examples actually run. Stale examples destroy trust.&lt;/p&gt;

&lt;p&gt;Review regularly. Quarterly audit is a reasonable cadence.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we believe good documentation is a competitive advantage. Need help creating docs that actually get read? We can help.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What documentation practices have worked for your team?&lt;/p&gt;

</description>
      <category>documentation</category>
      <category>writing</category>
      <category>devrel</category>
      <category>programming</category>
    </item>
    <item>
      <title>Learning to Code in 2025: What's Changed, What Hasn't</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:50:54 +0000</pubDate>
      <link>https://forem.com/logicleap/learning-to-code-in-2025-whats-changed-what-hasnt-388l</link>
      <guid>https://forem.com/logicleap/learning-to-code-in-2025-whats-changed-what-hasnt-388l</guid>
      <description>&lt;p&gt;The path to becoming a developer has changed. But some fundamentals remain timeless.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Changed
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AI Tools Are Part of the Workflow
&lt;/h3&gt;

&lt;p&gt;New developers should learn with AI assistants, not despite them. But understand what the AI generates—don't just accept it blindly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Frameworks Move Faster
&lt;/h3&gt;

&lt;p&gt;The "right" framework changes yearly. Focus on patterns and principles that transfer between frameworks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Remote Work Is Normal
&lt;/h3&gt;

&lt;p&gt;Collaboration skills matter more than ever. Written communication, async work, self-direction.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Bar Has Shifted
&lt;/h3&gt;

&lt;p&gt;Basic tutorials aren't enough. You're competing with people who can spin up production apps with AI assistance.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Hasn't Changed
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Fundamentals Still Matter
&lt;/h3&gt;

&lt;p&gt;Data structures, algorithms, how computers actually work. AI tools make this knowledge more valuable, not less.&lt;/p&gt;

&lt;h3&gt;
  
  
  Problem-Solving Is the Core Skill
&lt;/h3&gt;

&lt;p&gt;Languages and frameworks are tools. The ability to break down problems and think systematically transfers everywhere.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reading Code Matters More Than Writing It
&lt;/h3&gt;

&lt;p&gt;You'll read far more code than you write. Practice understanding others' code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Projects Beat Tutorials
&lt;/h3&gt;

&lt;p&gt;Building something teaches more than following along. Get uncomfortable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Learning Path That Works
&lt;/h2&gt;

&lt;p&gt;Start with one language. Python or JavaScript. Master basics before branching out.&lt;/p&gt;

&lt;p&gt;Build projects that interest you. Motivation sustains learning.&lt;/p&gt;

&lt;p&gt;Read documentation, not just tutorials. Primary sources beat interpretations.&lt;/p&gt;

&lt;p&gt;Join communities. Discord servers, local meetups, online forums. Learning alone is harder.&lt;/p&gt;

&lt;p&gt;Contribute to open source early. Real codebases teach lessons tutorials can't.&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI Question
&lt;/h2&gt;

&lt;p&gt;"Will AI replace developers?" misses the point. AI changes what developers do, not whether they're needed.&lt;/p&gt;

&lt;p&gt;Learn to work with AI tools. Learn to verify and refine AI output. Learn the fundamentals that let you know when AI is wrong.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we help aspiring developers and career changers navigate the path to their first tech role. Starting your learning journey? We can help guide it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What advice would you give to someone learning to code today?&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>learning</category>
      <category>programming</category>
    </item>
    <item>
      <title>Email Marketing for SaaS: The Sequences That Actually Convert</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:47:37 +0000</pubDate>
      <link>https://forem.com/logicleap/email-marketing-for-saas-the-sequences-that-actually-convert-2051</link>
      <guid>https://forem.com/logicleap/email-marketing-for-saas-the-sequences-that-actually-convert-2051</guid>
      <description>&lt;p&gt;Most email sequences are forgettable. Here's how to build sequences people actually open and act on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Welcome Sequence
&lt;/h2&gt;

&lt;p&gt;First impressions matter. The welcome sequence sets expectations.&lt;/p&gt;

&lt;p&gt;Email 1 (Immediate): Deliver what they signed up for. Guide them to one clear next step.&lt;/p&gt;

&lt;p&gt;Email 2 (Day 1-2): Share your best content. Build credibility through value.&lt;/p&gt;

&lt;p&gt;Email 3 (Day 3-4): Address the main objection or question new subscribers have.&lt;/p&gt;

&lt;p&gt;Email 4 (Day 5-7): Soft pitch or trial invitation. They know you now—make an offer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Onboarding Sequence
&lt;/h2&gt;

&lt;p&gt;For trial users and new customers. Get them to value quickly.&lt;/p&gt;

&lt;p&gt;Focus on one action per email. Don't overwhelm with feature lists.&lt;/p&gt;

&lt;p&gt;Celebrate milestones. "You just completed your first project!" reinforces progress.&lt;/p&gt;

&lt;p&gt;Address common drop-off points. If users churn at day 3, email them on day 2.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Re-Engagement Sequence
&lt;/h2&gt;

&lt;p&gt;For users going cold. Bring them back before they're gone.&lt;/p&gt;

&lt;p&gt;Acknowledge the absence. "We noticed you haven't logged in lately."&lt;/p&gt;

&lt;p&gt;Remind them of value. What problem does your product solve for them?&lt;/p&gt;

&lt;p&gt;Make it easy to return. One-click actions, direct links.&lt;/p&gt;

&lt;p&gt;Last chance before cleaning. "Should we keep sending these?" gets responses.&lt;/p&gt;

&lt;h2&gt;
  
  
  Subject Lines That Get Opened
&lt;/h2&gt;

&lt;p&gt;Curiosity gaps work. "The mistake most [role] make" gets clicks.&lt;/p&gt;

&lt;p&gt;Personal beats promotional. "[First name], quick question" outperforms "New feature announcement!"&lt;/p&gt;

&lt;p&gt;Short often wins. Mobile previews are limited.&lt;/p&gt;

&lt;p&gt;Test constantly. Your audience is unique.&lt;/p&gt;

&lt;h2&gt;
  
  
  Metrics That Matter
&lt;/h2&gt;

&lt;p&gt;Open rate tells you about subject lines. Click rate tells you about content.&lt;/p&gt;

&lt;p&gt;Reply rate matters for relationship building. Engaged subscribers respond.&lt;/p&gt;

&lt;p&gt;Unsubscribe rate signals content-audience fit. Some churn is healthy.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we help SaaS companies build email sequences that convert trials to customers. Need to improve your email game? Let's talk.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What email sequences have worked best for you?&lt;/p&gt;

</description>
      <category>email</category>
      <category>saas</category>
      <category>marketing</category>
      <category>startup</category>
    </item>
    <item>
      <title>Content Strategy for Tech Companies: What Actually Gets Shared</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:44:19 +0000</pubDate>
      <link>https://forem.com/logicleap/content-strategy-for-tech-companies-what-actually-gets-shared-1lh5</link>
      <guid>https://forem.com/logicleap/content-strategy-for-tech-companies-what-actually-gets-shared-1lh5</guid>
      <description>&lt;p&gt;Most tech company blogs sit unread. Here's what separates content that spreads from content that sinks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Most Tech Content Fails
&lt;/h2&gt;

&lt;p&gt;It's written for search engines, not humans. Keyword-stuffed, shallow, forgettable.&lt;/p&gt;

&lt;p&gt;It sounds like everyone else. Same topics, same angles, same conclusions.&lt;/p&gt;

&lt;p&gt;It lacks a point of view. Neutral summaries don't inspire sharing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Content That Actually Works
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Contrarian Take
&lt;/h3&gt;

&lt;p&gt;Challenge conventional wisdom with evidence. "You don't need microservices" gets more engagement than "10 benefits of microservices."&lt;/p&gt;

&lt;p&gt;Be willing to be wrong publicly. Strong opinions, loosely held.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Battle-Tested Lesson
&lt;/h3&gt;

&lt;p&gt;Share what you actually learned building something. Specific details beat generic advice.&lt;/p&gt;

&lt;p&gt;Include failures. "What didn't work" is often more valuable than "what worked."&lt;/p&gt;

&lt;h3&gt;
  
  
  The Definitive Resource
&lt;/h3&gt;

&lt;p&gt;Create the reference you wished existed. Be comprehensive enough that people bookmark it.&lt;/p&gt;

&lt;p&gt;Update it regularly. Evergreen content requires maintenance.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Data Story
&lt;/h3&gt;

&lt;p&gt;Original research or analysis. Numbers give people something to share and cite.&lt;/p&gt;

&lt;p&gt;Visualise data compellingly. Good charts get embedded everywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  Distribution Strategy
&lt;/h2&gt;

&lt;p&gt;Don't just publish and pray.&lt;/p&gt;

&lt;p&gt;Share in relevant communities. But add value, don't just drop links.&lt;/p&gt;

&lt;p&gt;Engage with responses. Discussion extends reach.&lt;/p&gt;

&lt;p&gt;Email list matters. Owned audience beats algorithmic reach.&lt;/p&gt;

&lt;p&gt;Repurpose across formats. Blog post becomes thread becomes video becomes podcast clip.&lt;/p&gt;

&lt;h2&gt;
  
  
  Metrics That Matter
&lt;/h2&gt;

&lt;p&gt;Time on page over pageviews. Did they actually read it?&lt;/p&gt;

&lt;p&gt;Return visitors over uniques. Are you building an audience?&lt;/p&gt;

&lt;p&gt;Backlinks over social shares. Long-term authority signals.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Consistency Factor
&lt;/h2&gt;

&lt;p&gt;One great post per month beats four mediocre posts per week. Quality compounds.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we help tech companies create content worth reading. Need a content strategy that actually works? We should talk.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What content has performed best for your company?&lt;/p&gt;

</description>
      <category>content</category>
      <category>marketing</category>
      <category>startup</category>
      <category>seo</category>
    </item>
    <item>
      <title>Accessibility Isn't a Feature: Building Inclusive Interfaces</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:40:56 +0000</pubDate>
      <link>https://forem.com/logicleap/accessibility-isnt-a-feature-building-inclusive-interfaces-3ig9</link>
      <guid>https://forem.com/logicleap/accessibility-isnt-a-feature-building-inclusive-interfaces-3ig9</guid>
      <description>&lt;p&gt;Accessibility isn't an extra feature to add later. It's a quality of good engineering that benefits everyone.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Business Case
&lt;/h2&gt;

&lt;p&gt;15% of the global population has some form of disability. That's a massive user base you might be excluding.&lt;/p&gt;

&lt;p&gt;Legal requirements exist in many jurisdictions. WCAG compliance isn't optional for many organisations.&lt;/p&gt;

&lt;p&gt;Accessible interfaces are often better for everyone. Captions help in noisy environments. Good contrast helps in bright sunlight.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Foundation: Semantic HTML
&lt;/h2&gt;

&lt;p&gt;Most accessibility problems come from breaking HTML's built-in accessibility.&lt;/p&gt;

&lt;p&gt;Use buttons for actions. Not divs with click handlers.&lt;/p&gt;

&lt;p&gt;Use links for navigation. Screen readers announce them differently than buttons.&lt;/p&gt;

&lt;p&gt;Use headings in order. h1, then h2, then h3. Don't skip levels for styling.&lt;/p&gt;

&lt;p&gt;Use form labels. Every input needs an associated label. Placeholders aren't labels.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keyboard Navigation
&lt;/h2&gt;

&lt;p&gt;Can you use your entire interface without a mouse? Tab through it. Can you reach everything? Can you see where focus is?&lt;/p&gt;

&lt;p&gt;Focus indicators matter. Don't remove outlines without providing alternatives.&lt;/p&gt;

&lt;p&gt;Tab order should match visual order. Unexpected tab sequences confuse users.&lt;/p&gt;

&lt;h2&gt;
  
  
  Screen Reader Essentials
&lt;/h2&gt;

&lt;p&gt;Alt text for images. Describe what the image conveys, not what it looks like.&lt;/p&gt;

&lt;p&gt;ARIA labels when semantic HTML isn't enough. But semantic HTML first—ARIA is a last resort.&lt;/p&gt;

&lt;p&gt;Live regions for dynamic content. Announce changes that users need to know about.&lt;/p&gt;

&lt;h2&gt;
  
  
  Colour and Contrast
&lt;/h2&gt;

&lt;p&gt;4.5:1 contrast ratio for normal text. 3:1 for large text. Test with tools, not eyeballing.&lt;/p&gt;

&lt;p&gt;Don't rely on colour alone. Use icons, patterns, or text alongside colour coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing
&lt;/h2&gt;

&lt;p&gt;Use your keyboard. Use a screen reader. Lighthouse and axe-core catch many issues automatically.&lt;/p&gt;

&lt;p&gt;Include users with disabilities in testing. Automated tools miss context.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we believe accessibility is part of quality engineering, not an afterthought. Need help building inclusive interfaces? We can help.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What accessibility improvements have had the most impact on your projects?&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>webdev</category>
      <category>ux</category>
    </item>
    <item>
      <title>Authentication Patterns: JWTs, Sessions, and When to Use Each</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:37:18 +0000</pubDate>
      <link>https://forem.com/logicleap/authentication-patterns-jwts-sessions-and-when-to-use-each-4290</link>
      <guid>https://forem.com/logicleap/authentication-patterns-jwts-sessions-and-when-to-use-each-4290</guid>
      <description>&lt;p&gt;"Should I use JWTs or sessions?" is the wrong question. The right question is "What are my requirements?"&lt;/p&gt;

&lt;h2&gt;
  
  
  The Session-Based Pattern
&lt;/h2&gt;

&lt;p&gt;Server stores session data. Client gets a session ID in a cookie. Simple, proven, well-understood.&lt;/p&gt;

&lt;p&gt;Advantages:&lt;br&gt;
Server can invalidate sessions instantly. User logs out everywhere immediately.&lt;br&gt;
Session data stays server-side. Client can't tamper with it.&lt;br&gt;
Works naturally with HTTP-only cookies. Better XSS protection.&lt;/p&gt;

&lt;p&gt;Disadvantages:&lt;br&gt;
Server state required. Every request needs session lookup.&lt;br&gt;
Scaling complexity. Sessions need shared storage across servers.&lt;br&gt;
Cookie limitations for cross-domain scenarios.&lt;/p&gt;

&lt;h2&gt;
  
  
  The JWT Pattern
&lt;/h2&gt;

&lt;p&gt;Token contains claims, signed by server. Client stores and sends token. Server verifies signature without state.&lt;/p&gt;

&lt;p&gt;Advantages:&lt;br&gt;
Stateless on the server. No session storage needed.&lt;br&gt;
Works well for APIs. Easy to use in headers.&lt;br&gt;
Cross-domain friendly. Not tied to cookies.&lt;/p&gt;

&lt;p&gt;Disadvantages:&lt;br&gt;
Can't truly revoke tokens before expiry. Only workarounds (blocklists, short expiry).&lt;br&gt;
Token size. JWTs are larger than session IDs.&lt;br&gt;
Complexity. Refresh tokens, token storage decisions, signature algorithms.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to Choose Sessions
&lt;/h2&gt;

&lt;p&gt;Traditional web apps with server rendering. Sessions work naturally with cookies.&lt;br&gt;
You need instant invalidation. Logout must mean logout.&lt;br&gt;
Simpler security model preferred. Fewer moving parts to secure.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to Choose JWTs
&lt;/h2&gt;

&lt;p&gt;API-first architectures. Mobile apps, SPAs talking to APIs.&lt;br&gt;
Microservices. Services can verify tokens without central session store.&lt;br&gt;
Short-lived authorisation. Where token expiry is acceptable revocation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hybrid Approach
&lt;/h2&gt;

&lt;p&gt;Many systems use both. Sessions for web clients, JWTs for API access. Refresh tokens for mobile apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security Fundamentals (Either Way)
&lt;/h2&gt;

&lt;p&gt;Use HTTPS everywhere. Authentication without encryption is theatre.&lt;br&gt;
Hash passwords properly. bcrypt, Argon2. Never MD5 or SHA1.&lt;br&gt;
Rate limit authentication endpoints. Prevent brute force.&lt;br&gt;
Implement proper logout. Don't just clear client state.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we help teams implement authentication correctly the first time. Security architecture questions? Let's talk.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What authentication patterns have worked for you?&lt;/p&gt;

</description>
      <category>security</category>
      <category>webdev</category>
      <category>authentication</category>
      <category>backend</category>
    </item>
    <item>
      <title>Performance Budgets: The Metric That Changes Everything</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:33:48 +0000</pubDate>
      <link>https://forem.com/logicleap/performance-budgets-the-metric-that-changes-everything-cpa</link>
      <guid>https://forem.com/logicleap/performance-budgets-the-metric-that-changes-everything-cpa</guid>
      <description>&lt;p&gt;Performance optimisation without a budget is just guessing. Here's how to set meaningful limits and stick to them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's a Performance Budget?
&lt;/h2&gt;

&lt;p&gt;A performance budget is a limit on metrics that affect user experience. Not a target—a ceiling you won't exceed.&lt;/p&gt;

&lt;p&gt;Example: Main bundle under 200KB. Time to interactive under 3 seconds on 4G. No more than 50 requests on initial load.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Budgets Work
&lt;/h2&gt;

&lt;p&gt;Budgets create accountability. "We need to keep the bundle under 200KB" is actionable. "We should improve performance" is not.&lt;/p&gt;

&lt;p&gt;Budgets prevent regression. That new library looks nice—but does it fit the budget?&lt;/p&gt;

&lt;p&gt;Budgets force trade-offs. When you can't have everything, you prioritise what matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Meaningful Budgets
&lt;/h2&gt;

&lt;p&gt;Start with user research. What devices and connections do your users have? Budget for your actual audience, not your dev machines.&lt;/p&gt;

&lt;p&gt;Benchmark competitors. If competitors load in 2 seconds and you take 5, you're losing users.&lt;/p&gt;

&lt;p&gt;Use real metrics. Core Web Vitals (LCP, FID, CLS) map to user experience better than raw transfer size.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enforcing Budgets
&lt;/h2&gt;

&lt;p&gt;Build-time checks. Fail the build if bundle size exceeds limits. webpack-bundle-analyzer, bundlesize, size-limit.&lt;/p&gt;

&lt;p&gt;CI integration. Lighthouse CI can fail builds that miss performance targets.&lt;/p&gt;

&lt;p&gt;Monitoring. Track real user metrics. Synthetic tests don't catch everything.&lt;/p&gt;

&lt;h2&gt;
  
  
  Budget Examples
&lt;/h2&gt;

&lt;p&gt;JavaScript: Total JS under 300KB compressed. Main bundle under 150KB.&lt;/p&gt;

&lt;p&gt;Images: Largest image under 200KB. Prefer modern formats (WebP, AVIF).&lt;/p&gt;

&lt;p&gt;Fonts: Maximum 2 font families. Subset to needed characters.&lt;/p&gt;

&lt;p&gt;Third parties: Total third-party scripts under 100KB. Audit regularly.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to Exceed the Budget
&lt;/h2&gt;

&lt;p&gt;Sometimes you must. But make it explicit. "We're exceeding the JS budget by 50KB for feature X. Here's the justification."&lt;/p&gt;

&lt;p&gt;Document the decision. Future you will want to know why.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we help teams establish performance cultures that stick. Need help setting and maintaining performance standards? Let's talk.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What performance budgets have worked for your team?&lt;/p&gt;

</description>
      <category>webperf</category>
      <category>performance</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Testing Mobile Apps: Beyond "It Works on My Device"</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:30:30 +0000</pubDate>
      <link>https://forem.com/logicleap/testing-mobile-apps-beyond-it-works-on-my-device-4012</link>
      <guid>https://forem.com/logicleap/testing-mobile-apps-beyond-it-works-on-my-device-4012</guid>
      <description>&lt;p&gt;"It works on my device" is the most dangerous phrase in mobile development. Here's how to actually test mobile apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Device Fragmentation Problem
&lt;/h2&gt;

&lt;p&gt;Android alone has thousands of device configurations. iOS versions matter. Screen sizes vary. Your test device isn't representative.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Testing Pyramid for Mobile
&lt;/h2&gt;

&lt;p&gt;Unit tests form the foundation. Business logic should be testable without a device.&lt;/p&gt;

&lt;p&gt;Integration tests verify component interactions. API calls, database operations, state management.&lt;/p&gt;

&lt;p&gt;UI tests validate user flows. But keep them focused—UI tests are slow and flaky.&lt;/p&gt;

&lt;p&gt;Manual testing remains essential. Some things can't be automated effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Conditions to Test
&lt;/h2&gt;

&lt;p&gt;Network variability. Test on 3G. Test with packet loss. Test offline transitions.&lt;/p&gt;

&lt;p&gt;Battery states. Low battery changes OS behaviour. Background processing gets restricted.&lt;/p&gt;

&lt;p&gt;Interruptions. Phone calls, notifications, app switching—your app will be interrupted.&lt;/p&gt;

&lt;p&gt;Memory pressure. What happens when the OS kills your background app?&lt;/p&gt;

&lt;h2&gt;
  
  
  Device Coverage Strategy
&lt;/h2&gt;

&lt;p&gt;Physical devices for critical paths. Emulators can't replicate everything.&lt;/p&gt;

&lt;p&gt;Cloud testing services for breadth. AWS Device Farm, Firebase Test Lab, BrowserStack.&lt;/p&gt;

&lt;p&gt;Focus on market share. Test the devices your users actually have.&lt;/p&gt;

&lt;p&gt;Don't chase the long tail. Supporting every device isn't cost-effective.&lt;/p&gt;

&lt;h2&gt;
  
  
  Crash Reporting Is Non-Negotiable
&lt;/h2&gt;

&lt;p&gt;Implement crash reporting from day one. Crashlytics, Sentry, Bugsnag—pick one.&lt;/p&gt;

&lt;p&gt;Monitor crash-free rates by device and OS version. Patterns reveal systematic issues.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Release Strategy
&lt;/h2&gt;

&lt;p&gt;Beta testing catches user-facing issues. TestFlight, Google Play Internal Testing.&lt;/p&gt;

&lt;p&gt;Staged rollouts limit blast radius. Don't ship to 100% immediately.&lt;/p&gt;

&lt;p&gt;Have a rollback plan. You will need it eventually.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we help teams build testing strategies that catch issues before users do. Need help establishing a QA process? Let's connect.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What's your mobile testing approach?&lt;/p&gt;

</description>
      <category>testing</category>
      <category>mobile</category>
      <category>qa</category>
      <category>android</category>
    </item>
    <item>
      <title>Cross-Platform vs Native: The Question You're Actually Asking</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:27:05 +0000</pubDate>
      <link>https://forem.com/logicleap/cross-platform-vs-native-the-question-youre-actually-asking-2a8n</link>
      <guid>https://forem.com/logicleap/cross-platform-vs-native-the-question-youre-actually-asking-2a8n</guid>
      <description>&lt;p&gt;The cross-platform vs native debate misses the point. The real question isn't "which technology?"—it's "what are we optimising for?"&lt;/p&gt;

&lt;h2&gt;
  
  
  The Wrong Questions
&lt;/h2&gt;

&lt;p&gt;"Is React Native good enough?"&lt;br&gt;
"Is Flutter ready for production?"&lt;br&gt;
"Should we use Swift or Kotlin?"&lt;/p&gt;

&lt;h2&gt;
  
  
  The Right Questions
&lt;/h2&gt;

&lt;p&gt;"What's our timeline to market?"&lt;br&gt;
"What's our development budget?"&lt;br&gt;
"How much native functionality do we need?"&lt;br&gt;
"What's our team's existing expertise?"&lt;br&gt;
"How important is performance for our use case?"&lt;/p&gt;

&lt;h2&gt;
  
  
  When Cross-Platform Wins
&lt;/h2&gt;

&lt;p&gt;You're testing market fit. Building two native apps to validate an idea is expensive. Cross-platform gets you to users faster.&lt;/p&gt;

&lt;p&gt;Your app is content-focused. News apps, social feeds, e-commerce—these don't need deep OS integration.&lt;/p&gt;

&lt;p&gt;Your team knows JavaScript/Dart. Learning Swift AND Kotlin takes time. Leverage existing skills.&lt;/p&gt;

&lt;p&gt;Time matters more than perfection. First-mover advantage sometimes outweighs pixel-perfect native experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Native Wins
&lt;/h2&gt;

&lt;p&gt;Performance is your product. Games, video editing, AR apps—these need every bit of hardware optimization.&lt;/p&gt;

&lt;p&gt;Deep OS integration is essential. HealthKit, background processing, hardware accessories—some features require native access.&lt;/p&gt;

&lt;p&gt;You're building for longevity. Native apps age better with OS updates. Cross-platform frameworks have migration costs.&lt;/p&gt;

&lt;p&gt;You have the resources. If you can afford two teams, two codebases can mean two better apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hybrid Approach
&lt;/h2&gt;

&lt;p&gt;Many successful apps use cross-platform for most features and native modules for performance-critical sections. You don't have to choose one path entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Honest Answer
&lt;/h2&gt;

&lt;p&gt;There is no universally correct choice. There's only the right choice for your constraints, today.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we help teams choose the right approach for their specific situation—not the one that's trendy this year. Facing this decision? Let's work through it together.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What drove your last platform decision?&lt;/p&gt;

</description>
      <category>mobile</category>
      <category>reactnative</category>
      <category>flutter</category>
      <category>ios</category>
    </item>
    <item>
      <title>Building a Personal Claude Code Toolkit: Templates and Snippets</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:23:56 +0000</pubDate>
      <link>https://forem.com/logicleap/building-a-personal-claude-code-toolkit-templates-and-snippets-1i50</link>
      <guid>https://forem.com/logicleap/building-a-personal-claude-code-toolkit-templates-and-snippets-1i50</guid>
      <description>&lt;p&gt;The best developers have toolkits. With Claude Code, your toolkit becomes a collection of refined prompts and patterns.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Build a Toolkit?
&lt;/h2&gt;

&lt;p&gt;Great prompts are discovered, not invented. When you find something that works, save it. Refine it. Reuse it.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Essential Templates
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Debug Template
&lt;/h3&gt;

&lt;p&gt;"I'm seeing [error/behaviour]. Expected: [what should happen]. Actual: [what's happening]. Relevant code: [paste]. What are the most likely causes and how do I diagnose each?"&lt;/p&gt;

&lt;h3&gt;
  
  
  The Architecture Review Template
&lt;/h3&gt;

&lt;p&gt;"I'm building [feature] with [constraints]. Here's my proposed approach: [description]. What are the trade-offs? What alternatives should I consider? What will I regret in 6 months?"&lt;/p&gt;

&lt;h3&gt;
  
  
  The Learning Accelerator
&lt;/h3&gt;

&lt;p&gt;"Explain [concept] as if teaching a developer who understands [related concept] but not [this concept]. Use analogies from [their domain]."&lt;/p&gt;

&lt;h3&gt;
  
  
  The Test Generator
&lt;/h3&gt;

&lt;p&gt;"Generate tests for [function] that cover: happy path, edge cases, error conditions, boundary values. Include setup and teardown. Format for [testing framework]."&lt;/p&gt;

&lt;h3&gt;
  
  
  The Documentation Writer
&lt;/h3&gt;

&lt;p&gt;"Document [code] for three audiences: a quick reference for experienced users, a detailed guide for new team members, and inline comments explaining the 'why'."&lt;/p&gt;

&lt;h2&gt;
  
  
  Building Your Own
&lt;/h2&gt;

&lt;p&gt;Start by saving prompts that get good results. After each session, ask yourself: "Would I use this prompt again?" If yes, save it.&lt;/p&gt;

&lt;p&gt;Refine by iteration. Each time you use a template, note what worked and what didn't. Update the template.&lt;/p&gt;

&lt;p&gt;Organise by task. Group prompts by what you're trying to accomplish: debugging, documentation, learning, code generation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Meta-Toolkit
&lt;/h2&gt;

&lt;p&gt;The most powerful prompt: "I want to accomplish [goal]. What questions should I be asking you to get the best result?"&lt;/p&gt;

&lt;p&gt;Let Claude Code help you build better prompts.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we help teams develop systematic approaches to AI-assisted development. Want to build a team-wide prompt toolkit? We can help.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Share your favourite prompt templates below!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>devtools</category>
      <category>workflow</category>
    </item>
    <item>
      <title>Code Review With Claude Code: A Practical Checklist</title>
      <dc:creator>Joshua Matthews</dc:creator>
      <pubDate>Wed, 21 Jan 2026 19:20:51 +0000</pubDate>
      <link>https://forem.com/logicleap/code-review-with-claude-code-a-practical-checklist-2224</link>
      <guid>https://forem.com/logicleap/code-review-with-claude-code-a-practical-checklist-2224</guid>
      <description>&lt;p&gt;Code reviews catch bugs, but they also teach. Here's how I use Claude Code to make both processes more effective.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pre-Review Checklist
&lt;/h2&gt;

&lt;p&gt;Before pushing code for human review, I run it through Claude Code with specific prompts.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Logic Verification
&lt;/h3&gt;

&lt;p&gt;"Walk through this function step by step. What are the edge cases I haven't handled?"&lt;/p&gt;

&lt;p&gt;This catches the obvious gaps before a colleague has to.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Security Scan
&lt;/h3&gt;

&lt;p&gt;"Review this code for common security vulnerabilities: SQL injection, XSS, improper authentication, exposed secrets."&lt;/p&gt;

&lt;p&gt;Not a replacement for proper security tools, but catches low-hanging fruit.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Performance Questions
&lt;/h3&gt;

&lt;p&gt;"Where are the potential performance bottlenecks in this code? Are there any O(n²) operations hidden in loops?"&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Readability Check
&lt;/h3&gt;

&lt;p&gt;"If a new developer joined the team tomorrow, what parts of this code would confuse them?"&lt;/p&gt;

&lt;p&gt;This question surfaces naming issues, missing comments, and overly clever solutions.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Test Coverage
&lt;/h3&gt;

&lt;p&gt;"What test cases would you write for this function? What boundary conditions should I cover?"&lt;/p&gt;

&lt;h2&gt;
  
  
  The Post-Review Learning Loop
&lt;/h2&gt;

&lt;p&gt;After receiving feedback from human reviewers, I share the comments with Claude Code:&lt;/p&gt;

&lt;p&gt;"My colleague suggested [feedback]. Can you explain why this approach is better and show me an example?"&lt;/p&gt;

&lt;p&gt;This transforms review comments into learning opportunities.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Claude Code Won't Catch
&lt;/h2&gt;

&lt;p&gt;Domain-specific logic errors. Business requirement misalignment. Team conventions that aren't codified. Always pair AI review with human review.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;At &lt;a href="https://logic-leap.co.uk" rel="noopener noreferrer"&gt;Logic Leap&lt;/a&gt;, we believe in augmenting human expertise with AI tools—not replacing it. Need help building effective code review processes? Let's talk.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What's your code review workflow?&lt;/p&gt;

</description>
      <category>codereview</category>
      <category>ai</category>
      <category>programming</category>
      <category>bestpractices</category>
    </item>
  </channel>
</rss>
