Adam Tamer Get in touch

Let’s build an intelligent future.

I'm Adam, an aerospace engineering graduate building the tools of tomorrow. I design software that learns, adapts, and helps us reach our full potential.

ElektaAug 2025 – PresentExperience

Less admin. More engineering.

Elekta builds the machines that treat cancer with radiotherapy. There, I automate supplier quality and procurement work, and prototype AI that turns non-conformance history into answers.

800+parts automated this year
25minadmin saved per part
330h+admin handed back
Admin automationAI searchSupplier riskMicrosoft 365
See my Elekta work ↗
Sep 2023 – Sep 2024
Technical sales engineer · placement

Engineering the sale. Automating the rest.

Hutchinson makes anti-vibration mounts for aerospace and defence. I chose the right mount for customers' vibration problems, and built a software robot that prepares a quote in under 3 minutes instead of over 10.

2.5minper quote by the robot, vs 10.5 by hand
4×+faster quoting, tested side by side
15–40Hzdamaging vibration band isolated
Robotic process automationVibration analysisExcel macros (VBA)Pricing & quoting
See my Hutchinson work ↗
Vibration inAfter the mount

Orbital Watch

Space is getting crowded. Orbital Watch shows where real satellites and debris are, and which pairs are heading for a close call.

10.8k
Every Starlink, liveThe whole Starlink constellation plus stations and debris, moving in real time in your browser.
59M
Every pair checkedA three-step filter screens all 59 million pairs for near misses over the next 24 hours.
2×
Verified twiceTwo independent implementations of the orbit maths agree to three decimal places.
ƒ
Physics you can touchSeven interactive models explain the maths behind every readout.
18,643
Objects tracked
390,429
Close calls · 24 h
SGP4
Orbit engine
Applied ML

Predictive Maintenance

Two answers to the same question: when is this going to fail? One looks at a fleet of satellites in orbit, the other at jet engines.

Satellite fleet health

Precision-recall chart across subsystems

A health check for a fleet of satellites: AI spots which parts are wearing out and says what to do about it.

Physically-grounded synthetic telemetry, per-subsystem failure models, and an operations dashboard that turns predictions into recommended actions — including a physics-driven end-of-life deorbit call. The satellites are simulated; the physics and the ML are not.

  • Comms-fault detection rebuilt from F1 0.14 to 0.89 by diagnosing a threshold bug
  • Per-subsystem decision thresholds tuned by cross-validation, not a default 0.5 cutoff
  • Orbital decay and station-keeping burns modeled from real drag physics
0.95
Battery P
0.92
Thermal P
0.98
ADCS P
0.81
Comms P
0.86
Fuel P

Turbofan engine RUL

Teaching AI to predict how many more flights a jet engine has before it needs attention.

An attention-based LSTM feeding an XGBoost regressor predicts how many cycles a turbofan engine has left, trained on NASA's C-MAPSS run-to-failure data. Benchmarked against a baseline LSTM under identical preprocessing and early stopping.

  • Attention highlights the degradation-relevant timesteps in each 50-cycle window
  • Learned context vector fused with window statistics before gradient boosting
  • Evaluated on FD001 and on FD004, with six operating regimes and two fault modes
−9.8%
MAE FD001
−8.1%
RMSE FD001
−7.4%
MAE FD004
−5.6%
RMSE FD004

The future of learning is personal. Revisionary gives every student a tutor that adapts to them, and turns their own notes into quizzes they can practise with.

An all-in-one school companion: AI tutor, a glass notebook that turns handwritten notes into flashcards, and an assignment radar that tells students what to do and when. Built end-to-end in Flutter with a Firebase backend, payments via RevenueCat, and a rewarded-ad free tier.

  • In internal testing ahead of its Google Play launch, with billing and a Pro tier built in
  • Full auth, offline sync, and AI-generated study content pipeline
  • Passed Google Play developer verification

Revisionary

Revisionary on a tablet: the Sidekick AI chat beside illustrated notes on the heart
How it's built

Built, tested,
and measured.

The pipeline behind each project, the numbers it produces, and the hardest problem it threw up. Every figure comes from the code, the tests or the dissertation.

PYTHON · JAVASCRIPT

Orbital Watch

  1. CelesTrak TLEslive public catalogue, 6-hour offline cache
  2. Vectorised SGP4python-sgp4 SatrecArray, whole catalogue per step
  3. Three-stage screenk-d tree → parabola fit → golden-section TCA
  4. CesiumJS consolesatellite.js in a Web Worker, ~17 ms a pass
174Msatellite pairs screened in ~81 s
18,643objects propagated live in the browser

Hardest problemDocked ISS modules showed up as 0 km "collisions". A 0.05 km/s relative-speed floor removed every one.

14 tests, pinned to Vallado reference vectors
↗
PYTHON · SCIKIT-LEARN · XGBOOST · KERAS

Predictive Maintenance

  1. Physics-driven telemetryKepler periods and drag decay, 50 satellites
  2. Two feature familiesrolling trends + lagged change-point scores
  3. Per-subsystem modelsthresholds tuned by GroupKFold, not 0.5
  4. Ops dashboardrisk → recommended action, incl. deorbit call
0.14→0.89comms-fault F1 after the fix
−9.8%turbofan MAE vs baseline LSTM (FD001)

Hardest problemThe comms model ranked failures at 0.97 AUC yet caught almost none: the default 0.5 cutoff sat above them.

46 tests; physics checked against known orbits
↗
DART · FLUTTER · NODE.JS

Revisionary

  1. Flutter clientone codebase for Android and iOS
  2. On-device intakeML Kit text recognition, PDF import
  3. Cloud FunctionsSidekick chat and plans on Gemini, Gmail, Calendar
  4. Firebase + RevenueCatAuth, Firestore, App Check, billing webhook
56klines of Dart across 123 files
8Cloud Functions behind the app

Hardest problemNo AI or OAuth key ships in the app. Every call is signed in, App Check verified and quota-metered server-side.

Passed Google Play developer verification
↗

Toolbox

Languages

  • Python
  • JavaScript
  • Dart
  • GLSL shaders

Machine learning

  • scikit-learn
  • XGBoost
  • TensorFlow / Keras
  • Attention LSTM
  • Gemini API

Physics & numerics

  • SGP4
  • TEME → ECEF frames
  • k-d trees (SciPy)
  • Orbital decay model
  • NumPy vectorisation

Graphics & UI

  • CesiumJS
  • three.js / WebGL
  • Canvas 2D
  • Flutter
  • Streamlit

Cloud & backend

  • Firebase Hosting
  • Cloud Functions
  • Firestore
  • Secret Manager
  • RevenueCat
  • Web Workers

Verification

  • pytest
  • Reference vectors
  • Cross-implementation check
  • GroupKFold CV
  • Baseline benchmarking