Loading...

A pixelated photo of Matt, wearing an eye mask, a bit like a Ninja Turtle

Recent Projects

Screenshot of Wobble Time

Physical therapy can be a tedious and repetitive process. Wobble Time aims to inject a little bit of fun into the process of rehabilitation by timing how long you can balance on a wobble board.

Built with React Native, Wobble Time makes use of a device's motion sensors to calculate when a user is balancing on a wobble board and when they've "touched-down". All sessions are saved to the user's device, enabling them to track their progress over time.

  • React Native
  • TypeScript
  • Motion sensors
  • Expo
  • Jest
Screenshot of Gluless

In a world increasingly attuned to dietary restrictions and the need for specialized culinary experiences, Gluless stands out as a unique and indispensable resource for those wanting to dine out, gluten-free.

The inspiration for the site's aesthetic was born during a vacation in Ireland, where I came across a price list for beers & spirits in a local pub. This unassuming artifact, brimming with raw simplicity and bold typography, became the muse for Gluless.

The choice of a Brutalist design isn't just about aesthetics; it symbolizes the transparency and straightforwardness of Gluless. The navigation is both intuitive and minimalistic. The site's architecture is uncluttered and free from unnecessary distractions, making it easy for users to quickly find what they're looking for. The site is light-weight and loads quickly, users can search for gluten-free establishments by location, establishment type, or user reviews. Each listing includes vital information, such as address and opening hours. User-generated reviews and ratings add a layer of community engagement, allowing individuals to share their experiences and insights.

Despite its bare-bones aesthetic, Gluless is a powerhouse of functionality. The directory is continuously updated to ensure accuracy, making it a reliable resource for those who need to adhere to a gluten-free diet. It caters not only to those with dietary restrictions but also to anyone looking for gluten-free options, whether by necessity or choice.

  • React
  • TypeScript
  • Next.js
  • CSS Modules
  • MongoDB
  • Google Places API
  • React Testing Library
  • Deno
  • Playwright
  • Jest
Screenshot of Barber Shop Booking

In the wake of the COVID-19 pandemic, businesses across the world have been forced to adapt to the changing landscape of consumer behavior. In this evolving landscape, Barber Shop Booking emerged as a valued SaaS platform that enabled barbers to take online bookings, driving the success of countless barber shops.

One of the key factors behind the platform's success is its relentless focus on user experience. Barber Shop Booking has undergone extensive UX testing to ensure a smooth and low-friction journey for both barbers and customers. From the moment a client visits the website, they are greeted with an intuitive interface that simplifies the booking process. This user-centric approach has made Barber Shop Booking the go-to platform for those seeking a convenient and hassle-free way to secure a haircut.

Payment processing is a crucial component of any booking platform, and Barber Shop Booking has seamlessly integrated Stripe to handle online payments. Clients can confidently make payments, and shop owners have the flexibility to choose whether to collect all the takings themselves or have them go directly to individual barbers. This flexibility streamlines the financial operations of barbershops and ensures everyone gets their due share.

What sets Barber Shop Booking apart from other solutions on the market is its high degree of visual customization. Barbers and salon owners have the freedom to tailor their booking website to match their brand identity and preferences. This level of personalization fosters a sense of ownership and distinctiveness, which is crucial in a competitive industry like the beauty and grooming sector.

To further enhance the reliability of the platform, Barber Shop Booking is hosted on multiple servers. This strategy increases the site's resilience and ensures that there is minimal downtime during upgrades or maintenance. Barbers and salon owners can rest assured that the platform will be available whenever their clients want to book an appointment.

  • Meteor.js
  • MongoDB
  • React
  • MUI
  • Stripe
  • Docker
  • iCal
  • Transactional e-mail
  • TestCafe
  • Mocha
Screenshot of CRWD

CRWD, in its beta stage, is a breath of fresh air in the world of social media. It recognizes the shortcomings of the current social media landscape and seeks to recapture the essence of genuine friendships and meaningful engagement.

CRWD encourages users to create small networks, focused on close friends and family or select groups of like-minded individuals. By limiting the size of these networks, CRWD emphasizes quality over quantity. It provides a space where users can truly connect with the people who matter most in their lives.

CRWD leverages the power of external APIs to facilitate more authentic interaction. By allowing users to share what they're watching, where they've been, and what they're listening to, CRWD sparks conversations rooted in shared experiences and interests. This leads to deeper, more organic engagement among users.

CRWD's design encourages authentic self-presentation. It's a place where users can express themselves without the pressure to create a curated persona. This shift toward authenticity promotes genuine friendships and meaningful connections.

In essence, CRWD aspires to recapture the magic of social engagement that existed before the era of mega social media platforms. It's a return to the roots of social media where connections were authentic, intimate, and rooted in shared experiences and interests. As CRWD evolves from its beta stage, it promises to be a beacon of hope for those seeking a more genuine, human, and less superficial online social experience.

  • Meteor.js
  • React
  • Redux
  • MUI
  • MongoDB
  • Google Places API
  • Spotify API
  • Movie APIs
  • Podcast APIs
  • Serverless functions
  • TestCafe
  • Mocha

Blog posts