goutham.work

BEng (Hons) Artificial Intelligence · Ulster University

GouthamSatheesh

I build AI systems and software that real people rely on, then I test them on data they have never seen.

Available for a 12-month industrial placement from summer 2027

Drag to spin the circuit. Highlight a compound:

Each point is one of the 21,124 laps in my F1 dataset. The layout is artistic.

Selected work

Four builds, end to end

Each one shipped to real users or tested against real data. Here's the problem, what I built, what happened and what I'd tell myself next time.

2025 to presentFounder & AI systems architect

CompanionSoil AI

An AI farming assistant that tells smallholder farmers how much to water and fertilise, in their own language.

  • 1st of 700+ universities, AWS GenAI Hackathon 2025
  • Live on 3 farms
  • 40+ shipped versions
Modelled impact per farm
Water−40%
Chemicals−30%
Time to grow15% faster

Before With CompanionSoil. Modelled figures, not a field trial.

Goutham presenting a CompanionSoil slide on farmer research to a seated audience.
Pitching CompanionSoil at the Guinness Enterprise Centre, Dublin. The slide shows what 200+ conversations with farmers taught me.

The problem

I grew up watching farmers in Kerala, my grandfather among them, guess at water and fertiliser. Bad guesses cost the people with the least safety net the most.

What I built

A platform I designed and shipped alone: Next.js, FastAPI and PostgreSQL on Google Cloud Run via Docker and GitHub Actions. Evapotranspiration models drive irrigation; Gemini reads soil photos in several languages; a geospatial pipeline pulls satellite, weather and FAO data.

The result

Running on three working farms, and first place against teams from more than 700 universities.

What I learned

A feature isn't finished until it works on someone else's day. Most of the 40+ versions came from farmers telling me what wasn't working.

Next.js · FastAPI · PostgreSQL · Docker · Cloud Run · GitHub Actions · Gemini API

2026Data science · Python

F1 tyre degradation & pit strategy

A model that separates real tyre wear from fuel, traffic and safety cars, then decides when to stop.

  • 21,124 laps · 18 Grands Prix
  • 80% stop counts right on unseen races
  • 37 automated tests
Lap time across a one-stop race
slowfast PIT Lap 1Lap 57

Soft Hard. Shape only, not fitted values.

Chart from the project: fuel-corrected degradation per lap for soft, medium and hard tyres at six circuits, with 95% bootstrap intervals. Bahrain wears tyres fastest.
Real output from the pipeline: how fast each compound loses time per lap at six circuits, fuel-corrected, with 95% bootstrap intervals.

The problem

A lap time mixes tyre wear with fuel burn, traffic, safety cars and out-laps. The hard part is pulling real degradation out of all that noise.

What I built

A Python pipeline that strips in-laps, out-laps, safety-car periods and outliers, then fits fuel and tyre effects together with robust Theil-Sen regression. It measures pit-lane loss from the laps themselves and refuses to answer when the data can't separate the two.

The result

On seasons it had never seen, it called the number of stops right in 80% of dry races. 37 tests check it against simulated races with known answers.

What I learned

Its exact pit-lap advice only just beat copying last year's stop (6.0 vs 6.5 laps off) and tends to stop late, because it can't see traffic. A curvature term was real but predicted worse, so I cut it. Both findings are in the write-up.

Python · pandas · NumPy · SciPy · pytest · FastF1

2026Solo build · TypeScript

Robork

A virtual bench for robots. Design from real parts, catch the wiring mistakes that would fry hardware, run your control code against a simulated world, and only then buy the parts.

  • Live in your browser
  • 41 real parts, any chip via datasheet
  • 89 tests gate every deploy
From idea to "ready to buy"
  1. DesignArduino, ESP32, Pico, STM32, Pi or Jetson, plus drivers, motors, sensors and power
  2. Design check16 rules: shorts, voltages, logic levels, current budgets, grounds, buses
  3. Run itYour code drives motors, servos and sensors in a 1 ms simulation
  4. Ready to buyOnly after a clean check and a clean run, with a priced parts list
The Robork bench running an obstacle-avoiding car: an Arduino, motor driver, two motors, a distance sensor and a battery in 3D, with live motor speeds, currents and a scope plot below.
The obstacle-avoiding car template running live: motor speed, current draw and battery voltage update every tick.

The problem

Robotics ideas get tested by buying parts and finding out what's wrong when something burns out. That's slow and expensive, and it puts people off.

What I built

An open part format, so any chip can be described from its datasheet. A net-based electrical model that checks every connection against real limits, with fixes it re-tests before offering. A deterministic simulator for batteries, drivers, motors, servos and sensors, running Arduino-style code in a Web Worker.

The result

Live at robork.uk, with templates, a part builder, share links and a printable report. Every rule, model and template is covered by 89 tests that run before each deploy.

What I learned

A checker that cries wolf gets ignored. The first version flagged every motor as ungrounded, so I rebuilt the model around nets and power instead of pin-pair rules, and wrote tests for what it must not flag.

TypeScript · React · React Three Fiber · Zustand · Web Workers · Vitest

2025Embedded AI · Raspberry Pi 5

Budha PI

An offline voice assistant with a face and moods, running entirely on a Raspberry Pi 5.

  • About 10× faster replies
  • No internet needed
Time to reply, relative
First version1×
After profiling~0.1×

MicWhispergemma3:1bPiperSpeaker

The problem

The first version was too slow to hold a natural conversation on such small hardware.

What I built

A local language model with Piper speech and faster-whisper and Vosk recognition, plus a servo head-tilt and TFT face driven by an emotional state machine over GPIO and SPI. SQLite gives it the last five turns of memory.

The result

I timed every stage, found the bottleneck in the language model and moved to gemma3:1b. Replies got about ten times faster.

What I learned

Measure before you optimise. The slow part wasn't where I first guessed.

Python · local LLM · Piper TTS · faster-whisper · Vosk · SQLite · GPIO/SPI

More projects

More I've designed and built

The Kebab House Derry ordering app: the menu home screen and the checkout screen side by side. Live client · in production Restaurant ordering platform Online ordering, card, Apple Pay and cash payments, and a real-time staff dashboard for Kebab House Derry, on Firebase and Stripe. I found and closed two security holes: one exposed customer data, one let someone tamper with a discount. Every total is now recalculated on the server. JavaScript · Firestore · Cloud Functions · Stripe
Signal Lab dashboard: market stats and a live test showing the model against an always-down baseline. Live demo · research project Batman AI Trading An end-to-end machine-learning trading research system: LSTM with attention and XGBoost models, walk-forward validation, risk-managed signals, a backtester and an interactive dashboard, all tested against simple baselines. Open the app Code on GitHub

Interactive

The pit wall

A playable, simplified version of the strategy maths behind my F1 project. Pick two compounds and a pit lap, and watch the race time move.

First stint
Second stint
Race time-
Vs fastest one-stop-
Fastest pit lap-

Lap time for every lap of the race. Each stint slows as its tyres wear; the stop resets them.

How this works, and what it leaves out

Each lap time is a base pace plus the compound's pace offset plus its wear rate multiplied by the tyre's age. A stop adds a fixed pit-lane loss. The simulator tries every pit lap and finds the fastest.

Fuel burn is left out because it slows every strategy equally, so it cancels when comparing them. Wear is a straight line: in my real model a curved term tested significant but predicted worse, so I kept it linear.

These numbers are illustrative, chosen to behave like a typical dry race. They are not fitted values from my model, and real strategy also depends on traffic and safety cars.

About

I come back from setbacks

I'm from Kerala in India, the son of two teachers. In 2025 I moved to Derry~Londonderry to study Artificial Intelligence at Ulster University, and finished my first year with an 82% average and a place on the Dean's List.

Before university I boxed at national level. I tore my knee in the final of a state championship and spent weeks in hospital, then rebuilt one step at a time and went back to national competition. I approach hard problems the same way.

I'm in second year now, learning Java and algorithms, and looking for a placement year where I can work on real systems alongside people who know more than I do.

Off the screen

In the room

Experience & leadership

Where I've led people

  1. Oct 2025 to now

    Shift Runner (Team Leader), KFC

    Lead shift teams of 40+ staff in a time-critical environment and train 5 to 10 new starters a month.

  2. Aug 2026 to now

    Campus Ambassador, Ulster University

    Represent the university at recruitment, media and outreach events.

  3. Nov 2025 to now

    Global Buddy, Ulster University

    Support 15 to 20 international students each semester through academic and cultural life.

  4. 2025 to now

    Elected Course Representative, BEng AI

    Speak for my year group with staff on teaching and student experience.

  5. Nov 2025 to Jun 2026

    Student Panel Member, Student Success Centre

    Represented student views in monthly panels shaping policy for 30,000+ students.

  6. Jul 2024 to Mar 2025

    Sales Assistant, National Insurance Co., Kerala

    Advised 20 to 30 clients a week and resolved complex policy enquiries.

  7. 2022

    Corporal, National Cadet Corps

    Led about 400 cadets at camp, contained a disease outbreak and received the Best Cadet award.

Recognition

  • 1st place, AWS Generative AI Hackathon 2025 (700+ universities)
  • Winner, Manchester City F.C. Sustainable Innovation Challenge 2026
  • Finalist, IDEATE Ireland 2026
  • Dean's List and Graduate Award, Ulster University
  • National-level boxer, Kerala State Amateur Boxing Federation
  • Rajya Puraskar, Governor of Kerala (Bharat Scouts and Guides)

Learning beyond my degree

  • ISRC-CN3 Summer School on neuro-inspired AI, Ulster University (2026)
  • Cognitive Psychology and Neuropsychology, University of Cambridge (in progress)
  • Microsoft Certified: Azure Fundamentals
  • AWS Prompt Engineering · NVIDIA Deep Learning · PMI Ethics in Generative AI

Toolbox

Languages
Python · JavaScript · SQL · C · Java (learning) · HTML/CSS
AI & data
Machine learning · deep learning · XGBoost · time-series forecasting · statistical modelling · LLM APIs · local LLMs
Building & shipping
Next.js · FastAPI · REST APIs · PostgreSQL · Firebase · Docker · Google Cloud · AWS · GitHub Actions · Git · Linux · pytest
Hardware
Raspberry Pi · GPIO/SPI · embedded C

Contact

Box, box.

On F1 team radio that means "come in now". I'm looking for a 12-month industrial placement starting summer 2027, and email is the quickest way to reach me.

↑↓ to move · Enter to choose · Esc to close