Bad At Computer

Hey, I’m John

Bad At Computer is my portfolio site. Here you’ll find projects and musings related to my work in software development.

I live in Sweden and hold a passion for developing and maintaining impactful, useful applications. I draw inspiration from futurism and retro tech, and I focus on solutions that are innovative, yet simple and resilient.

Latest Projects

Journeys: Discover Your Cosmology

Inspired by a creative blogpost by Buster’s Rickshaw, I converted his clean logic into a neat, compact flowchart application with the best kind of subject: our beliefs about the nature of reality. This app uses dotnet’s Blazor WASM Standalone framework to deliver an app that runs entirely in the browser – no server interaction needed!

Food Tours Website

A WordPress website built using WooCommerce to handle tour bookings and checkout. In addition to designing a custom website, this project proved to be an exploration of brand strategy, content creation, and e-commerce.

AI Retro Logo Generator

This Blazor web app makes use of Azure AI Foundry to produce consistent, miniature images in the style of Super Nintendo sprites. I built this app to sharpen my AI implementation skills while streamlining icon generation for Bad At Computer.

Eurozones: Money, Power, and Borders

An interactive map using .NET and Blazor app to help visualize the different currencies and memberships of European countries in terms of EU, EEA, Schengen, NATO, and Eurozone.

Neighbourhood Website

A custom website for a Canadian neighbourhood association. Built using WordPress with plenty of customization, plus Cloudways hosting and lots of project documentation.

Microcycle Web App

A Blazor web app for Canadian retailers and wholesalers to make sense of environmental regulations. Built using ASP.NET Core and PostgreSQL, styled with MudBlazor, and hosted in Azure.

little robot sprite

Bluetooth Robot

An Android app that provides Bluetooth communication between a Temi robot and a retro gamepad. Our team’s objective was to help hospital staff connect to Bluetooth-enabled medical devices with a Temi as an automated assistant.

pizza

Pizzeria Website

Revamped the online presence for Rehoboth House of Pizza, a beloved local restaurant in Massachusetts. The goal was to keep this site simple and user-friendly while infusing a contemporary design.

colorful bar chart

DataDocket Website

Built a prototype site with my college classmates for a local business. We used the Python Django framework, Azure for hosting and blob storage, and a PostgreSQL database.

                                      
                                                               
                                     :::::::::........::::::::::::-------------                      
                               ...::::::::::::::::::::::::::::::::=-=------------                    
                              ..:**##*****########%%%%%%@@@@@@@:::=-=-----------=                    
                              ..-#%#==========+++***##%%%@@@@@%::-=-=-----=======                    
                             ..:+#@#+===++++****####%%%@@@@@@@#::-===============                    
                             .::*#@#**+++*####%%%%%%%@@@@@@@@@+::=================                   
                             ::-*%@%#%+..+%%@@@@@@@@+=+*@@@@@@=::+================                   
                             ::=*%@@@=+-+*=@@@@@@@#-#=+%*%@@@@-:-+================                   
                             ::=*%@@@++*#=+@@@@@@@*-*@@**%@@@@:--+================                   
                             ::=*@@@@@#==*@@@@@@@@@%*++*%@@@@@:--+================                   
                             ::=*%@@@@@@@@@@@@@@@@@@@@@@@@@@@%:--+================                   
                             ::=*%@@@@@@@@###%%%%%@@@@@@@@@@@%---=================                   
                             ::=*%@@@@@@@..:::::---*@@@@@@@@@%---=================                   
                             ::-**###%%%%*:::::::+@@@@@@@@@@@%---=================                   
                             ::::::::::::::--=++**+=--------=----=================                   
                               -------:----::--------------------================                    
                          ..::::::--=+**##%%%%%%%%%%%%##*+===---=====+*##%#*++                       
                          ::::::::::::::::::::::::::----==+**##%%##**++==========                    
                         ::::::::::::::::::::::::::::::----:::--=================-                   
                    ...::::.:::::::::::::::::::::::::::-------====================                   
                .....::::::::::::::::-:-:::::-::::::::::::----====================                   
              :::::::::......:::::::::::.:-:::::::::::::------+=================                     
              -++====-----:::.::::::::-:.:.::-:::.:.:-:--===-=+=========+##                          
                       %%#****+====-----:::::::::-=---==+***+++=++*#                                 
                                      

                                                                                                 

← Back

Thank you for your response. ✨

Message sent!

I’d to hear from you!