feat: better landing page

This commit is contained in:
2025-05-28 14:38:38 +01:00
parent b7cc066956
commit b3a2e00a7b
2 changed files with 38 additions and 22 deletions

View File

@ -3,27 +3,51 @@ title = 'Home'
date = 2023-11-14T17:55:14Z
+++
# Hi, I'm John
# Hi, I'm John Costa
---
I am a Software Engineer, currently working at Decipad. I'm interested in various subjects including: Compilers, Linux Servers, Web Development, Distributed System and many more.
# About Me
I'm a Software Engineer currently working at Decipad [Decipad](https://www.decipad.com/). I do full-stack products, host my own services under my desk, solve coding problems and love to read.
---
# My Projects
## [Haystack](https://www.youtube.com/watch?v=tPOEJewdj8Y)
A tool that uses AI agents to extract information from images, screenshots or pictures. It then creates entities such as locations, events, notes, etc... and gives the user an easy way to search for them. Currently this is in Alpha stage, if you'd like access you can [email me](mailto:me@johncosta.tech).
## [Converge](https://converge.sh)
A simple website that allows users to list their links, and share them in person using a QR code. Similar to linktree but intended to be used in face-to-face meetings. You can see my profile [here](https://converge.sh/1).
## [Hybrid Poker](https://github.com/JohnCosta27/Poker)
This project has two parts.
1. Poker hand evaluator and game loop. I used Zig's [comptime](https://zig.guide/language-basics/comptime/) to generate arrays that allow any poker hand to be evaluated in O(logn), with potential to expand to a O(1) evaluation, the algorithm is based on [Cactus Kev](https://zig.guide/language-basics/comptime/).
2. Live playing. The idea behind the project is to allow my friends and I to play poker whilst some of us are together in a room, and some of us are away. I've setup a deck with NFC tags which the dealer uses so the program knows which player has which cards. At the end all the hands are saved and can be replayed.
## [Arcio](https://github.com/arcio-uk)
A management information system (MIS) to help schools and universities mark attendance, manage timetables and organise courses. I worked on this project with 3 other engineers and even trialled it at our university - Royal Holloway. Although the project works, we could not get funding from our university to continue the work. The code is now open source.
The system was capable of.
- Taking attendance of hundreds of students at the same time, and scale to meet demand.
- Manage courses, modules, tutors and students involved in each one.
You can find the rest of my projects on the [projects page](https://johncosta.tech/projects/).
---
# Work
Currently working at [Decipad](https://www.decipad.com/) as a full stack engineer.
## [Decipad](https://decipad.com) (Current)
I work as a full-stack software engineer at Decipad. I am the lead developer for our interactive notebook, that allows users to build models with interactive widgets, rich text, calculations and tables. The editor also supports live-collaboration, multiple tabs and offline editing.
I worked in various project at my old university [Royal Holloway](https://www.royalholloway.ac.uk/), including a Wellness and Professional Development application, that allowed students to track their wellbeing and various professional skills.
I've also been responsible for refactoring various parts of the code base. I migrated our old create-react-app frontend to a more modern Vite + Rollup (with SWC), this allowed our developers to have instant updates instead of having to wait 10-15s for their changes to have effect. Furthermore I implemented type generation on our GraphQL server, which reduced backend bugs by 90%.
Worked on a [InnovateUK](https://www.ukri.org/councils/innovate-uk/) funded project called Tensorcrypt, which allowed for zero-trust data analysis.
I'm currently working on augmenting our notebooks with a chat, and BigQuery integrations (which we call data lake). This allows users to bring their own data, which we then sync to BigQuery every day, and allow the AI to interact with it.
I am also a private GCSE/A-level Maths and Computer Science tutor, and have over 300 hours of tutoring experience.
## [Lead Engineer at Codegroovers](https://www.royalholloway.ac.uk/research-and-education/departments-and-schools/computer-science/news/one-year-of-code-groovers/)
I was hired to lead the build a proof of concept system for the universities well-being team. This system allowed students to view all the universities well-being resources in one place, allowed them to keep track of their mental health, and provided charts for measuring progress. It also had a professional development part which allowed users to explore their future careers. You can find the code [here](https://github.com/JohnCosta27/WellbeingApp).
---
# Projects
I've developed various projects, which I have listed on the [projects]({{< relref "./projects/_index.md" >}}) page. There you will find blog posts, GitHub Repos and _maybe_ a YouTube video.
## Private Tutor
Since 2019 I've been a private tutor, providing GCSE and A-level lessons in both Maths and Computer Science. I've done over 300 hours of lessons, all my students have achieved an A or above (7 for GCSE grades).
---
@ -32,11 +56,3 @@ I've developed various projects, which I have listed on the [projects]({{< relre
I attended [Royal Holloway](https://www.royalholloway.ac.uk/) and achieved a First Class Honours BSc Computer Science.
Previously I attended [Farnborough Sixth Form College](https://farnborough.ac.uk/) and got 5 A-levels.
---
# Interests
Outside of Computer Science, I play guitar (mostly metal), read and do Judo (currently a Red Belt). But I spent most of my time behind a screen, tinkering with software, or [ricing](https://excaliburzero.gitbooks.io/an-introduction-to-linux-ricing/content/ricing.html) my machine (again).
I like to take part in the [Advent Of Code](https://adventofcode.com/), and have various repo's for each years solutions.

View File

@ -16,8 +16,8 @@ h3,
h4,
h5,
h6 {
font-size: 1rem;
margin: 1.5rem 0 0 0;
font-size: 1.2rem;
margin: 2rem 0 0 0;
font-weight: 600;
}
@ -36,7 +36,7 @@ h3 + h6,
h4 + h5,
h4 + h6,
h5 + h6 {
margin: 0;
margin-top: 0.5rem;
}
h1:before {