Skip to main content

My Biggest Update Yet

12th July 2025

Announcing my biggest update yet, further improving security and user experience.

In this blog post, I'm sharing details of my biggest update yet, focused on enhancing security and user experience across the site.

Security Enhancements

  • hCaptcha Integration: I've integrated hCaptcha on the contact form to prevent spam and ensure only genuine messages are sent. This adds an extra layer of security while maintaining user-friendliness.
  • Serverless Handlers: API routes are now secured with serverless handlers and in-memory caching patterns. This improves performance and reduces the risk of data leaks and unauthorized access.
  • Data Storage Consent: I now request explicit permission to store your data when you submit. Previously, it was implicit via a disclaimer. It's now a checkbox to confirm you agree to the Privacy Policy and Terms of Service. (Implemented in the previous update).
  • Vercel Analytics: The website now uses Vercel Analytics to provide insights into user interactions while respecting privacy and consent. This helps me understand behaviour and improve the site.

User Experience Improvements

  • Accessibility Section: I added a dedicated Accessibility section in the navbar (wheelchair icon in the top right). This section currently supports:
    • Increasing & decreasing text size
    • Enabling high contrast mode
    • Enabling grayscale mode
    • Enabling various colourblind modes
    • Reduced motion ("Disable Animations")
  • ARIA Attributes: All interactive elements now have appropriate ARIA attributes and focus management to ensure keyboard navigation is smooth. This is crucial for users who rely on assistive technologies.
    These were also added in the previous update.

New Additions This Update

  • Feedback Mechanism: I've introduced a feedback widget so users can easily report issues or suggest improvements. You'll find this in the bottom-right corner of all pages.
  • Performance Optimizations: I made several optimizations — image tuning, code-splitting, and lazy loading — so the site loads faster and runs smoothly across devices.
  • Attachment Support: The contact form now supports file attachments, allowing users to send documents or images directly.
  • Blog & Portfolio Search Functionality: I've added search to the blog and portfolio sections, with filters for date, category, and tags.
  • Complete and Fulfilled Tests: This update introduces testing via Jest, Playwright, and Lighthouse to ensure quality before deployment.
  • FAQ page: There's a new FAQ page for common questions. It's accessible from the footer or directly here.
  • API Documentation: While primarily for internal use, I've made API docs publicly accessible here for those who are curious.
  • Ratelimiting: I implemented rate limiting on API endpoints to prevent abuse and ensure fair usage.
  • Blog RSS: There's now an RSS feed for the blog at this link.
  • Sitemap: A sitemap helps search engines index the site more effectively. See it here.
  • Improved Robots.txt File: I updated robots.txt to better control how crawlers index the site.
  • Blog & Portfolio Sharing: Social sharing buttons make it easier to share content.
  • PWA Support: The site now supports Progressive Web App features for an app-like experience, including offline support and faster loading.

Conclusion

Much more has been added outside of the listed items, mostly QoL and cleanup. The overall commit for this was +111257 and -4049 with 303 files changed — my biggest update yet.

Next Steps

I'm excited about these updates and believe they significantly enhance the user experience. I encourage you to explore the new features and share feedback — it's invaluable as I continue to evolve the platform. My current plan is:

  • Client/User Accounts: I'm planning optional client accounts to streamline contact requests and data-related requests, and to enable future features like a client dashboard and payment management.
  • Expanded Accessibility Features: I'll continue improving accessibility with more customization options and broader assistive technology support.
  • Ongoing Security Enhancements: I'll keep monitoring and improving security — regular audits and infrastructure updates.
  • Performance Monitoring: I'll watch performance metrics and user feedback to guide further optimizations.