Skip to content
View sepehr-safari's full-sized avatar
💭
Building things.
💭
Building things.

Organizations

@ostyjs @ocpp-debugkit

Block or report sepehr-safari

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
sepehr-safari/README.md

Sepehr Safari

Software engineer building open-source eMobility DevTools, native protocol libraries, and AI-native products.

OCPP DebugKit · zig-nostr · ProductCue · LinkedIn


I’m a full-stack software engineer with 7+ years of experience building developer tools, web applications, open-source infrastructure, and SaaS products.

My current work sits at the intersection of eMobility, developer tooling, protocol engineering, product intelligence, and AI-native engineering workflows.

I care about making complex systems easier to inspect, understand, and improve.

Featured work

Open-source DevTools for debugging OCPP charging sessions.

toolkit npm studio License

OCPP DebugKit helps charging-infrastructure developers diagnose failures and understand what happened during an OCPP session. It is two independent products that share one trace format:

Language Surface Role
toolkit TypeScript npm · CLI · web inspector Parse, analyze, and report traces anywhere — including CI
Studio Zig native desktop app Live capture off the wire, native performance, OS integration

The two share no code. They meet at a conformance contract — the same trace format, the same event model, the same 16-rule failure taxonomy — with Studio’s goldens generated from the toolkit’s evaluator and re-checked in CI on every change.

  • Inspect charging-session traces, timelines, and individual messages
  • Detect authorization, connector, and connectivity failures — 16 rules, 15 scenarios
  • Proxy a live charge point ↔ CSMS session and flag failures as they stream (Studio)
  • Generate shareable Markdown and HTML reports; diff and anonymize traces
  • Analyze traces in a browser, a CLI, or a native app — trace data stays local

Status: both products are pre-1.0 and shipping — the toolkit on npm, Studio as a native macOS and Linux build.

Explore the project

Web Inspector · Documentation · toolkit · Studio · npm


AI-native product intelligence for early-stage software teams.

I’m building ProductCue to help software teams decide what is actually worth building before spending time implementing it.

ProductCue turns public market evidence—competitor reviews, recurring complaints, pricing friction, feature gaps, and switching signals—into prioritized opportunities and actionable build briefs.

The principle behind it is simple:

Evidence first. Product decision second. Build third.

Also building

The Nostr protocol, natively in Zig.

nostr signet License: MIT

A foundational Nostr protocol library for Zig — keys and signatures, events, relay transport with the outbox model, a zero-copy local-first event store, and NIP-46 remote signing. Plus Signet, a native remote signer that keeps your key off every client and holds every request for explicit approval.

  • secp256k1 keys and BIP-340 Schnorr signatures via libsecp256k1, passing the official test vectors (19/19)
  • A zero-copy, memory-mapped LMDB event store — its own benchmark measures ~0.28 ms feed queries that stay flat as the store grows
  • NIP-65 outbox routing with zero hardcoded relays, NIP-44 v2 encryption, and NIP-42 relay auth

Status: nostr is pre-alpha (v0.3.5); Signet is early and macOS-only. Both ship tested releases, but APIs may still change before 1.0.

Docs & benchmarks · nostr · Signet

Selected open-source work

I’ve been building on Nostr since 2023 — first in TypeScript, where the work included developer libraries, project scaffolding, protocol-based applications, and two OpenSats grants. zig-nostr above is that same protocol, rebuilt native.

Project Description
nostr-hooks React hooks for building applications on the Nostr protocol
create-osty Project scaffolding for quickly starting Nostr applications
Pinstr Open-source social platform for curating and sharing interests
Nostribe Twitter-style social application built on Nostr
NIP-29 Groups Group-chat client built around the NIP-29 specification

Engineering focus

  • Developer tools and debugging infrastructure
  • Protocol-oriented and event-driven systems (OCPP, Nostr)
  • Native, local-first, privacy-conscious software
  • Full-stack TypeScript product development
  • AI-native product and engineering workflows

Technologies

Primary stack

TypeScript · React · Next.js · Node.js · Tailwind CSS

Native and systems

Zig · Native SDK · LMDB · libsecp256k1

Data and infrastructure

PostgreSQL · Supabase · Redis · SQLite · IndexedDB

Additional experience

Python · Go

AI workflows

LLMs · customized AI agents · multi-agent orchestration · engineering automation

How I work

I prefer software that is:

  • Useful before it is impressive
  • Explicit rather than unnecessarily abstract
  • Built around real evidence and user pain
  • Easy for other developers to understand and extend
  • Honest about what it currently supports

AI has made building faster, but speed is only valuable after choosing the right problem.

Let’s connect

I’m interested in collaborating with eMobility and EV-charging engineers, OCPP implementers and CSMS teams, open-source maintainers and contributors, and developers working on protocol tooling or practical AI-native workflows.

For OCPP DebugKit feedback, bugs, or feature requests, please open an issue.

You can also find me on:

LinkedIn · Personal Website · ProductCue

Pinned Loading

  1. ocpp-debugkit/toolkit ocpp-debugkit/toolkit Public

    Open-source DevTools for debugging OCPP charging sessions. Inspect, replay, test, and report OCPP charging-session traces locally.

    TypeScript 3 1

  2. zig-nostr/nostr zig-nostr/nostr Public

    The Nostr protocol library for Zig

    Zig 4

  3. pinstr pinstr Public

    Decentralized, free, and open-source social network built on top of the Nostr Protocol for curating and sharing interests with the world.

    TypeScript 71 7

  4. ostyjs/nostr-hooks ostyjs/nostr-hooks Public

    React hooks for developing Nostr clients. It's simple yet intelligent.

    TypeScript 56 13

  5. ostyjs/create-osty ostyjs/create-osty Public

    Framework for building Nostr web applications.

    TypeScript 47 8

  6. nostr-deploy-server nostr-deploy-server Public

    A Node.js server implementation for serving static websites under npub subdomains using the Nostr protocol and Blossom servers

    TypeScript 10 2