Available for work

Jesse
Jacobs

software_dev && data_engineer && founder

CS graduate and AWS certified developer based in Rolleston, NZ. Two years building production tools at a hardware startup. Founder of SouthStack.

AWS Certified GradDip CS — Massey Founder · SouthStack
Jesse Jacobs

Right now

Currently building

SouthStack — Web Development Studio

Growing the business, refining the service offering, and building the AI chatbot service. Currently completing first client projects.

Astro Claude API Netlify Functions RAG

Kaggle competitions

Planning first competition entries to build practical ML portfolio. Starting with tabular data and NLP competitions.

PyTorch Kaggle ML NLP

Background

Builder at heart

Maths and Linguistics graduate who pivoted into software. Brings practical background experience from manufacturing, freight, and logistics operations.

2+
Years building production tools at SnapCore
A+
AI, Mobile Dev, Programming Languages & Concurrency
NZ
Rolleston, Canterbury. Open to remote & on-site.

Technical skills

What I work with

Languages

JavaKotlinPythonC/C++TypeScriptBashSQL

Mobile & Android

Android DevelopmentJetpack ComposeGradleMaven

Web & Backend

AstroReact.jsSpring BootFastAPIREST APIsBack-End Web Development

Cloud & DevOps

AWSDockerGitCI/CDJUnitMockito

Data & Databases

PostgreSQLData AnalysisAlgorithm AnalysisData Structures

AI & ML

RAGPyTorchNLPDeep LearningTransfer LearningSoftware Development

Work

Projects I've built

🔧

AquaWatch Tool

Internal automation platform for SnapCore manufacturing. Automated CRM entry creation via GraphQL, report generation for returned devices, real-time sensor dashboards, Bluetooth pairing automation. Native installer via JPackage, auto-updates via GitHub Actions.

JavaGraphQLMonday.com APIGitHub Actionsjava-dbusJPackage
🌊

Digital Twin Visualisation

Digital twin for SnapCore water quality testing tanks. Displays real-time sensor data with automatic 15-minute refresh and tank-by-tank navigation.

JavaReal-time dataSensor APIs
📡

Sensor Interface (Prototype)

Cross-platform desktop app for Yosemitech Y510 turbidity sensors. Real-time Modbus RTU over serial. Qt GUI. Runs on Linux and Windows. Built for lab and field deployment.

C++Qt FrameworklibmodbusCMakeModbus RTU
📱

Kotlin Compose Modbus Sensor App

Android app for Modbus sensor interfacing via Bluetooth or USB serial. Jetpack Compose UI. Real-world deployment of Android + industrial protocols.

KotlinJetpack ComposeAndroidModbusBluetooth
🌿

SouthStack — Web Studio

Founded and built SouthStack web development studio. Company website with embedded RAG AI chatbot using Claude API + Netlify Functions. Serving Canterbury businesses and churches.

HTML/CSS/JSClaude APINetlify FunctionsRAG
🎓

University Assignments

Coursework: AI (A+), Mobile App Dev (A+), Algorithms & Data Structures (A-), OS & Networks (A-), Software Engineering Design (A), Programming Languages/Concurrency (A+). Projects include ML models, Android apps, OS concepts, data analysis.

JavaKotlinPythonAlgorithmsAI/ML

Work history

Where I've been

Mar 2026
Present

Founder

SouthStack — Rolleston, Canterbury
  • Founded web dev studio for NZ businesses
  • Built company site with embedded RAG chatbot (Claude API + Netlify Functions)
  • Astro marketing sites, Next.js platforms, RAG chatbots,
Oct 2023
Nov 2025

Assembly Technician

SnapCore — Nelson
  • Built Java internal tools: GraphQL/CRM automation, JasperReports generation, JFreeCharts dashboards, Bluetooth automation (java-dbus)
  • Built, provisioned, tested, diagnosed, and repaired IoT water quality monitoring devices
  • Calibrated DO, pH, EC, turbidity sensors; provisioned SIMs, Iridium modules, firmware
  • Exploratory data analysis using Grafana; maintained technical documentation and QC procedures
Jul 2023
Aug 2023

Tractor Driver

Seifried Wines — Nelson
  • Tractor mulching, roller operation, vineyard pruning
Jun 2021
May 2023

Truck Driver

Thawley Orchard — Tasman
  • Quad axle skelly unit: Blenheim ↔ Motueka ↔ Port Nelson container transport
  • Class 5 truck/trailer: palletised wine, hops, freight
  • Forklift: stacked bins to 7m, twin-pallet handler, loaded export containers
  • Cool Tranz subcontract: refrigerated goods delivery Nelson supermarkets
Earlier

Various Roles

NZ & Australia
  • Joinery labourer — planing, finishing, PVA/polyurethane, power tools
  • Planer operator — sawmill (1 year)
  • Excavator operator — Omni Tree, Dunedin (grapple attachment)
  • Stock assistant — Target, Wollongong NSW
  • Labourer — Coastwide Repiling & Carpentry, Greymouth

Qualifications

Education & study

Graduate Diploma — Information Science (CS)

Massey University
2023 – 2026 (in progress)

Graduate Diploma — Arts (Linguistics)

Massey University
2018

Bachelor of Arts — Mathematics

Massey University
2013 – 2017

AWS Certified Cloud Practitioner

Amazon Web Services
2025
CourseCodeGrade
Artificial Intelligence159302A+
Mobile Application Development159336A+
Programming Languages, Algorithms & Concurrency159341A+
Critical Thinking134.103A+
Introductory Physics124.100A+
Mathematics in Education160.320A+
Software Engineering Design and Construction159251A
Object-Oriented Programming159234A-
Algorithms and Data Structures159201A-
Operating Systems and Networks159342A-
Statistical Models161.200A-
Advanced Web Development159352TBC
Applied Linear Models161.221B+
Data Analysis161.220B+
Language and Society in New Zealand172.232B+
Languages of the Pacific172.336B+
Linguistic Analysis of the English Language172.235B+
Linear Algebra160.211B+
Analysis160.301B
Combinatorics160.314B
Field Methods172.334B
Language and Identity172.335B
Discrete Mathematics160.212B-
Introduction to Academic Writing230.100B-
Language and Culture172.239B-
Algebra160.302C
Calculus160.203C+
Differential Equations I160.204C+
Sounds and Structures172.330C+
Introductory Statistics161120
Mathematics 1A160111
Mathematics 1B160112

Open source

GitHub activity

Public work and contributions. Private repos aren't shown here.

Jesse Jacobs GitHub contribution graph

GitHub contribution activity — view full profile →


What's next

Skills in progress

Current skills I'm actively developing and what's planned next.

FastAI — Practical Deep Learning Active

Working through fast.ai course. PyTorch foundations already in place from AI paper (A+).

AWS Developer Associate Active

Building on Cloud Practitioner cert. Lambda, DynamoDB, API Gateway, CodePipeline.

Spring Boot Active

Building on strong Java foundations. Working through a dedicated Spring Boot course.

NLP / Transfer Learning Planned

Foundations from AI paper. Planning to go deeper through Kaggle NLP competitions.


Writing

Notes & learnings

Short posts on things I've built, figured out, or found interesting. Powered by Sanity CMS — no redeploy needed to add new posts.

Loading posts...
RAG / AI

How I built a RAG chatbot for a static website

No vector database needed — the entire knowledge base fits in a system prompt. What I learned building the SouthStack and portfolio chatbots.

When people talk about RAG they usually picture a vector database, embeddings, and a complex pipeline. For small-to-medium knowledge bases, none of that is needed.

For both SouthStack and my portfolio the "RAG" is just: write a well-structured text file with everything the bot should know, paste it into the system prompt, and let Claude figure out what's relevant. Works fine up to ~50-100KB of text.

The trickier part was API key security. GitHub Pages can't store secrets, so I built a Cloudflare Worker proxy — 30 lines of JS that sits between the browser and Anthropic's API, reads the key from an environment variable, and forwards the request. Free tier covers 100k requests/day.

When you'd actually need a vector DB: hundreds of PDFs, a full documentation site, or a product catalogue with thousands of items. At that point Supabase pgvector or GCP Vertex AI Search become worth the complexity.

Read more ↓
Embedded Systems

Modbus RTU over serial — lessons from building a sensor interface

Building a C++/Qt app to talk to industrial turbidity sensors taught me more about serial communication than any tutorial.

Modbus RTU is a serial protocol used in industrial sensors and PLCs. Simple in concept — master sends a request, slave responds — but getting it working reliably has a few gotchas.

The biggest issue was baud rate mismatch. Yosemitech Y510 sensors default to 9600 baud but the docs weren't clear. Getting libmodbus to connect required matching the baud rate exactly in modbus_new_rtu().

Cross-platform serial port handling in Qt was fiddlier than expected — Windows uses COM3 style names while Linux uses /dev/ttyUSB0. QSerialPort handles this but you need to enumerate available ports at runtime.

Read more ↓
Android

Jetpack Compose for Modbus — modern Android meets industrial protocols

Why use a declarative UI framework for an app that reads sensor data? Because the code is dramatically cleaner.

The traditional View-based approach for a live-updating sensor display means ViewModels, LiveData, RecyclerViews, and a lot of boilerplate. With Compose the entire sensor reading UI is maybe 60 lines.

A State object holds the current readings, a coroutine polls the sensor every 2 seconds, and the UI recomposes automatically. No notifyDataSetChanged(), no adapter pattern.

The Bluetooth/USB serial piece was harder — Android's USB Host API is verbose and the permissions model needs careful handling. The Modbus protocol itself runs fine over a USB-to-serial adapter using usb-serial-for-android.

Read more ↓

Get in touch

Let's talk

Open to software development, data engineering, and electronics roles in NZ. Remote or on-site. Nelson, Marlborough, Canterbury preferred.

Privacy Policy

This portfolio site does not use cookies or analytics tracking. No personal data is collected or stored.

The AI chatbot sends your questions to Anthropic's API (via a proxy) to generate responses. No conversation history is stored.

Contact: use the email link on this page.