I build AI, robots and rockets.

I'm Neo, founder of NeoLabs in Germany. Self-hosted agents, a delivery robot for the house, and launch controllers built around safety.

See the work

Most of my work starts the same way. Something should exist, it doesn't, so I build it.

01 Systemsv3.8.0. AGPL-3.0. 24 ★. On Product Hunt

The personal AI agent you host yourself. It keeps working after the chat ends.

Its own computer, a memory, a schedule and a voice, on your hardware, with the model you choose. It runs a private Linux desktop you can watch or take over, and it asks before anything risky.

  • Triggers42, from new mail to Home Assistant
  • Channels24, including WhatsApp, Signal and Matrix
  • DevicesIts own Android emulator, your desktop, an ESP32 wearable
  • Runs onDesktop app, Docker or one script
Run timelineExample run. It waits for you.
07:00schedule

Every Monday: get me to Berlin by Tuesday, 10:00.

07:00memory

Window seat. No tight changes.

07:01browser

Compared three connections on its own desktop.

07:02approval

Booking costs money, so it asks first.

07:03browser

Booked, using a login the model never sees.

07:03whatsapp

Sent you the ticket.

07:03stopped

Nothing booked. It asked you what to change.

Asks, then acts.
02 SystemsAGPL-3.0. 2 ★

Click a provider to kill itSimulated traffic
Waiting for traffic.

Every model. One endpoint.

Connect any inference provider, from free tiers to paid APIs and your own servers. It checks every key, imports every model and sends each request to the best one right now. Errors and slow answers earn penalties. Failures fall back silently.

  • Providers80+, plus any custom endpoint
  • APIsOpenAI Chat, Anthropic Messages, OpenAI Responses
  • BudgetsFree-only keys never touch a paid model
  • PrivacyOnly request metadata is logged, never prompts
03 Systemsv0.1.2. AGPL-3.0. 3 ★

Recorded anywhere. Yours everywhere. One conversation becomes exactly one memory.

A self-hosted audio memory that takes web, desktop and wearable clients. It tells speakers apart on your machine with 31 MB of models, and silence is never sent anywhere. Clients hold every chunk until the server proves its transcript is durable.

  • OfflineClients buffer and resume idempotent uploads
  • InferenceReplaceable. Bring the provider you choose
  • RecallFrom NeoAgent, or over MCP in any client
Drag across the recordingExample audio
Silence never sent: 0:00of 1:00
Voice 1

Can we move the review to Thursday?

Voice 2

Thursday works. I'll send the notes.

Voice 1

Good. And order the new motor driver.

Voice 2

On it.

Memory

Review moved to Thursday. Notes coming. Motor driver being ordered.

04 MachinesPrivate repo. Hardware, firmware, app, all mine

A delivery robot for the house. It maps the floors, drives to a place, waits, and comes back.

When it reaches a door it stops and asks someone to open it. It also wants to be petted. Underneath, it is a study in what should happen when things fail.

  • DriveTwo hoverboard hub motors
  • SafetyESP32 owns motors, brake and e-stop, so Linux can die mid-drive
  • BrainRaspberry Pi 5: LiDAR, route following, camera, speaker
  • LinkBluetooth nearby, LoRa over Meshtastic when not

Bereit

Ready. Waiting for the next job.

Motion is a lease, not a state.

A drive command lasts 1000 ms. Keep sending heartbeats or the wheels stop, with nothing having to detect the failure.

0.0 m
at 1.5 km/h

No lease. Wheels locked.

NeoCourrier app showing a route across a mapped floor plan.
Map: the route it is driving right now.
NeoCourrier manual drive screen with joystick, speed and LiDAR view.
Drive: camera, LiDAR, speed, joystick.
NeoCourrier app start screen with a trip to the kitchen.
Start. Screens run against its simulator.
05 MachinesNeoLabs Rockets

Launch consoleSimulated. Nothing leaves your screen.
  1. Connect
  2. Checklist
  3. Arm
  4. Count

Connect once. BLE drives every view.

A laptop at the launch site talks to a custom ESP32 board.

Nothing arms until it's GO.

Wind and rainGO Airspace, ADS-BHOLD

Arming is deliberate. Hold to arm.

Press and hold. Let go early and nothing happens.

T-10

Link heartbeat every 700 ms

T+0

Ignition. On a real pad a phone is filming this with the countdown on its HUD.

A launch controller built for safety first, and rockets to go with it.

A one-layer PCB with no bridges, a mission dashboard, and a guided flow from connect to countdown. Live weather and aircraft checks give a GO, HOLD or NO-GO. It even scores launch sites against roads, power lines and airports.

07 ContactGermany

Schematic to PCB, firmware to backend, API to the interface someone actually uses. I like owning the whole thing.

  • Self-hosted AIAgent runtimes, memory, MCP, tool orchestration
  • Full stackNode.js, Python, Flutter, SQLite, Docker
  • EmbeddedESP32 firmware, BLE, LoRa, custom PCBs
  • Robots, flightNavigation, teleoperation, safety interlocks, launch control

Open to collaboration, contract work and interesting hardware problems.