Thomas Fishwick
Nice to meet you!
I'm Tom Fishwick
My main experience from work is as a developer for Elite 3E (VB.Net & SQL) and MatterSphere (C#). This involves creating new screens and workflows and integrating them with various APIs. As well as these I have made an ASP.Net site serving a Vue.JS application, and various other JavaScript applications.
In my spare time I have created various apps in Python, JavaScript, React Native and Android. Plus I have some experience in PHP.
Skills
Python
5 Years Experience
SQL (MS SQL Server, SQLite, MariaDB)
10 Years Experience
VB.Net
10 Years Experience
C#
7 Years Experience
JavaScript
12 Years Experience
SQL Server Reporting Services (SSRS)
6 Years Experience
MATLAB
1 Year Experience
HTML
12 Years Experience
Docker
2 Years Experience
Projects
Chart the Stock Market
This project started as my answer to FreeCodeCamp Chart the Stock Market. Here I created a flask app with web sockets. This started life with the JavaScript being in charge of the visualisations in D3. This used a huge amount of code to draw the graph. I then decided to get Python to parse the data and draw the graph, passing the Base64 string back to JavaScript. Jupyter Labs was useful to design the function and then I copied the code out into a python file. After quite a few attempts I got the app onto Heroku. This was quite a bit more complicated than I thought it would be. I first found out about the existence of Gunicorn and then how to use it. From this I also found out about using .env files in Python (something that I had done in Node.JS and thought would be a good idea in Python). This has since moved to first Railway.app and now render.com. With the JavaScript becoming TypeScript and being in charge of the visualisations using ChartJS.
Live Link Source
Predict Health Costs With Regression
This project started as my answer to FreeCodeCamp Predict Health Costs With Regression. Here I created my first Streamlit App, and then discovered how hard it was to put streamlit into a Docker container. Here you can see the difference between the model's predictions and the actual data. You can then use the controls to predict your health costs. I later revisited it to tear out all of the TensorFlow code and replace its model with a Random Forest Regressor
Live Link Source
Cat and Dog Image Classifier
This started out as my answer to FreeCodeCamp Cat and Dog Image Classifier. I created a Node.JS app which uses TensorFlow.JS with the converted model I made to determine whether the image passed is more likely to be a cat or a dog (with not so great accuracy).
Live Link Source
SMS Classifier
This project originally started as my answer to FreeCodeCamp SMS Classifier. In this project I created my first Flask Web App (not including the tutorial I did). Plus my first Docker Container (outside of a tutorial). Originally this used TensorFlow as the machine learning library, but I have now changed this to SciKit Learn. In the web app you can test the classification of various texts, the client side JavaScript will post a request to the API which in turn will consult the saved SKLearn model. You can then press the "Add to database" button, this will push it into the local database (a SQLite database inside the Docker container). In the data table at the front end you can flip the classification of messages between spam and ham. You can also delete that entry out of the database. Pressing the "Retrain Model" button will cause the Flask server to retrain the Machine Learning model on the data in the SQLite database. It will then test the model against the validation data from FreeCodeCamp (the main data is also from FreeCodeCamp). This may take a little while, it will then save the model in the Docker container and then use that. To build the model manually you can run the file modelmaker.py.
Source
XKCD Reader
My XKCD Reader app, which uses React-Native to render the XKCD website. The Android APK file (tested on my phone and in the Android emulator) is available at the link above.
Live Link
Certifications
Contact
I would love to hear about your company and how I could help. Please fill in the form, and I'll get back to you as soon as possible.
Posts
-
Rogue Trader
How to sum up the life of the noble Rogue Trader Darius Von Valensius, bearer of the holy warrant of trade, saviour of Dagonus. Once I was nought but a humble crime lord. Then my great aunt Theodora recognised my natural heroism and recruited me to be her heir1. She may have been a despicable heretic, but she ensured that the sacred warrant of trade fell into my noble hands2. On Rykad Minoris I met Interegor Heinrix Van Calex, who I separated from Lord Inquisitor Defo Heretic3. Abelard Werserian, my faithful companion was by my side the whole time. I saved his family from accusations of heresy and allowed him to keep his silly rituals on my ship. Jae Heydari joined my noble crusade across the Koronus Expanse at Footfall Station. Together we stole everything that wasn’t nailed down across the expanse, and plenty of things that were.
-
Sly's Bad Day
It was supposed to be an easy job. Sly O’Hara kept his hands pressed to his face. From a distance it looked like he was crying, when you got closer it was blood running out from the ruin of his face. Gunther dragged him down the filthy alley, litter billowing in their wake, Pretty Micky tailed them and sent a couple of shots back at their pursuers. The warehouse was meant to have been empty. Jessie had died within thirty seconds of getting into the warehouse. And then the second shotgun blast had caught Sly in the face. “Chris get to the end of the alley now!” Gunther yelled. Sly ran blindly, having to trust that Gunther would guide him well, his face ached dully the shock numbing the pain. He flinched at the sound of a shotgun blast, it was far too far away to do any damage. Mickey’s shot taught the rest of the pursuers to back off a bit. He heard the pur of the van’s electric motors as Chris stopped there. Sly’s leg got bruised as Gunther shoved him into the back of it. Gunther laid down covering fire for Pretty Micky, who jumped in. Gunther slammed the doors and Chris drove off.
-
Dream Case Review
My submission for the IndieWeb prompt: we’ve got to dream past it.
-
Intersecting Interests
My reply to the IndieWeb Carnival prompt from Zachary Kai. 2026-02-01. My main interest I suppose is in creating things. I am a programmer by profession1, my model railway is currently on hold while I move2 and a lot of Warhammer 40k and Trench Crusade miniatures have gone under my brush.
-
2025 Review
Wordle
My best word was Prose that I got in two. On average I solved it in 4.25 guesses.
-
Whodle
Based upon my Whodle page I decided to start saving my Whodle scores.
-
Desert Island Games
The question is: if you were stranded on a desert island, which game would you bring? No internet and everything magically works.
-
What's in my inventory?
Originally from the Bear Blog challenge.
-
Trench Crusade 2
New Antioch versus Court of the seven headed serpent. This was the play test of Guy’s Statue of unknown faith scenario.
-
The Odin Project Review
I have now completed The Odin Project’s Ruby on Rails track.
- More Posts
subscribe via RSS