Useful software.
Thoughtful details.

I'm Anti, a software engineer building tools,
interfaces, and experiments in AI.

A thing for systems. An eye on aviation.

SELECTED WORK & ONGOING PROJECTSSCROLL TO EXPLORE ↓

PYTHON · DESKTOP TOOLfor education
Version
v4.2.0
Stars
100
Forks
6
Release downloads
100,364

A Windows desktop editor for Roblox FastFlags. Search values, keep JSON presets, and fetch a matching client when the install is behind.

Themes

Legacy. One of 12 bundled UI themes.

Legacy theme: charcoal editor with orange controls and a searchable flag sidebar
Legacy
THE LAB

Room for curiosity.

Useful tools, systems behind the scenes, and a few experiments in how things feel.

LAUNCHER WINDOWS UTILITY

Ignition

A quieter start to Windows.

Queue the apps, files, folders and links you want at sign-in. Give each a delay, watch the sequence, and let the launcher get out of the way.

  • Rust
  • Tauri 2
  • JavaScript
Explore repository
How we built it

Two windows

Autostart passes --launch. That path opens a small splash, waits the login delay (at least 120ms, at most 60s), then walks only the enabled items. Each item can wait up to two minutes of its own. A stagger sits between them, 350ms by default and capped at five seconds. Progress events fire per item, then the process exits.

The picker is a different window. Launch now runs the same queue on a worker thread and leaves the UI open so you can keep editing. Drag-and-drop and the native file dialogs add paths through Tauri commands.

The queue

Targets become app, file, folder, or url from the path. Apps with extra args spawn as a detached Windows process with no console window; shortcuts, files, folders, and links go through a detached shell open. Access denied and missing paths come back as plain English. One failure does not stop the rest.

Settings live in launch.json under the app config directory. Writes go to a .tmp file first, then rename over the original. Tagged builds are set up for a current-user NSIS installer.

MIRROR FFM INFRASTRUCTURE

Roblox Offsets / ALL

A fallback needs evidence.

A reliability layer for FFlag Manager. Public offset sources are mirrored on a schedule, compared against a baseline, and published with the verification results that help FFM choose a fallback.

  • Python
  • GitHub Actions
  • Bash
Explore repository
How we built it

Mirror, then doubt

FFM needs another route when an offset source is down. Every six hours a GitHub Action curls five public endpoints. A file only replaces the previous body if it has the expected namespace and at least 500 uintptr_t declarations. A failed sanity check keeps the last good file.

Sundays, upstream dumper sources are snapshotted with license notes. Those dumpers stay their authors' work. The contribution here is the mirror, the checks, and the paper trail.

What verified means

imtheo is the baseline. Other mirrors are compared for version skew, for Pointer / ToFlag / ToValue struct offsets, and for a 99% RVA overlap on shared flag names. true, false, and unknown all stay in meta.json next to the mirrored data.

If three or more mirrors disagree, imtheo itself is marked unknown so FFM does not treat a shaky baseline as proof. A green download is never the whole story.

TRAY APP NETWORKING UTILITY

Discord Bypass Turkey

Getting from Starting to connected.

A Windows tray app for when Discord's website opens but the desktop client or voice connection stalls. It coordinates separate startup and voice paths for networks affected by ISP filtering in Turkey.

  • C# / .NET 10
  • WinForms
  • WinDivert
Explore repository
How we built it

Two engines, one tray

The default hybrid profile starts GoodbyeDPI for desktop TCP and Zapret's winws for UDP/STUN voice. Start is fail-closed: missing binaries and SHA-256 mismatches abort. Orphan WinDivert clients are killed before launch. Firewall rules are warn-only.

Ready is honest. GoodbyeDPI counts as ready if it is still alive after a short settle. winws prefers a WinDivert initialized line. Hybrid needs both processes. If winws dies immediately, GoodbyeDPI is stopped too. This is local packet handling, not a VPN.

What connected means

HTTP 200 on discord.com is not connected. The real gate is a visible Discord window at least 700×480. Private or captive DNS answers fail the probe. The check compares resolvers and does not change the adapter DNS.

Voice is armed, unproven, until you join a channel. The code refuses to call that a pass. Packet engines are upstream GoodbyeDPI, Zapret, and WinDivert, credited in the repository.

And a little play.

TYPE, MOTION & INTERACTION

WORDMARK STUDY

A name, in particles.

Letters become a surface. A little movement gives it life.

THREE.JS / ASCII / INTERACTION
HORSE STUDY

A gesture, in characters.

A horse with a life of its own. Move your cursor through the marks.

Standing
MOTION / INTERACTION
A LITTLE CONTEXT

Curious about
what’s underneath.

I like making complex things feel a little more understandable.

My interests move between software engineering, low-level tooling, and practical experiments in AI and machine learning. I enjoy the small decisions that make an interface feel considered, and the systems that make it work.

Aviation management is another part of that curiosity: operations, interdependent systems, and all the quiet work behind something that looks effortless.

More of what I'm building ↗
IN THE WORK SHOWN HERE
  • Python
  • TypeScript
  • Three.js
  • Canvas
  • WebGL
SAY HELLO

Something interesting
in mind?

A project, a question, or a good conversation. Let’s talk.

GitHub / @4anti ↗