Skip to content
View hitomi1's full-sized avatar
😀
Grinding
😀
Grinding
  • University of São Paulo
  • São Carlos, SP

Highlights

  • Pro

Block or report hitomi1

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
hitomi1/README.md

cs @ usp · I like data engineering and rust, trying to build a startup + HFT


👋 About

Most of what I build falls into one of two buckets:

  • Systems that can't be wrong — event-sourced medical software, deterministic triage engines, trading bots that sign real transactions. When a mistake costs money or matters to a patient.
  • Tools for games I actually play — Magic: The Gathering trackers, Dota 2 analyzers. Small scope, real users, shipped.

Mostly Rust, Python, and TypeScript.


🛠 Tech

Languages

Rust Python TypeScript

Backend & data

FastAPI PostgreSQL SQL Apache Spark Databricks Supabase Tokio Flask

Frontend

React Vite PWA WebAssembly

Infra & tooling

Docker Linux Neovim Git GitHub Actions


📦 Featured work

🏥 Zela — post-operative patient follow-up private

Follow-up platform for small surgical teams, built as a pilot for a LASIK, orthopedists and general surgery. Patients answer short structured check-ins on the days their protocol schedules; a deterministic rules engine scores each one 🟢/🟡/🔴, and anything not green lands in a risk-ordered queue where the surgeon reviews it and records whether they agree with the triage.

The design decisions I'm proudest of:

  • Event-sourced for real. Every state change is an immutable row in an append-only events table. UPDATE and DELETE are revoked on the application's database role and blocked by a trigger, everything queryable is a projection that rebuild_all() can reconstruct from scratch.
  • Protocols are data, not code. A protocol is a versioned JSON record carrying its check-in questions, schedule, photo requirement, and triage ruleset. Supporting a new specialty means seeding a row. The patient form, the bot's questions, and the surgeon's queue all render from it.
  • Triage is deterministic. Rules are {field, op, value} conditions; the score is the most severe rule that fired. VLM AI in v0.3, when one photo arrives, it may only escalate a score, never lower it.
  • The channel is an abstraction. The domain says "request check-in"; an adapter decides whether that's Telegram (for prototyping, WhatsApp API burocracy sucks), the web app, or WhatsApp later. The core never names a provider.

FastAPI · PostgreSQL · React 19 · TypeScript · Docker Compose · pytest · axe-core

📈 polymarket-copy-bot-rs — copy-trading bot private

High-performance Polymarket copy-trading bot in Rust. Polls the Data API for a target wallet's fills, mirrors them through the CLOB with EIP-712-signed orders, and tracks positions in migration-managed SQLite. Handles the unglamorous parts that decide whether a bot survives contact with production: on-chain USDC approval at startup, floor-snapping when the wallet is empty, and downgrading expired-market 404s so the logs stay readable. Made a lot of money from this, but it's hard to find good players to copy >.<

Rust · tokio · polymarket-client-sdk · alloy · sqlx · reqwest

🃏 fdc-tracker — offline MTG draft tracker public

Event tracker for the Fora da Caixa MTG Arena community. Log for Limited results, no server or account required by default; everything lives in localStorage and the app is a fully installable offline PWA. Optional Supabase login syncs events across devices. Includes a performance tab with rolling win-rate charts, full reward tables with net-gem math per record, 17Lands import, and a guided first-run tour.

React 19 · TypeScript · Vite · Supabase · PWA · gh-pages

🎮 dotabuff-v2 — live Dota 2 match analyzer public

Local web app that identifies all 10 players the moment your match begins: rank, ranked win rate, top heroes, and recent matches. With zero manual input and no browser extension. Dota 2 pushes live state to a local server via Game State Integration; player IDs are resolved through a three-tier fallback (Steam GetRealtimeStats → STRATZ GraphQL → OpenDota polling), stats are fetched concurrently from OpenDota, and results stream to the browser over Server-Sent Events. You can easily identify the bad players on your team and on the enemy team... Good ones are inexistent.

Python · Flask · SSE · GSI · OpenDota · STRATZ

⚙️ dotfiles — my environment public

Neovim (Lua), kitty, zsh + powerlevel10k, and a one-shot install.sh. Reproducible from a bare machine. Needs update since Claude broke my entire setup.


🌱 Open source

  • phase-rs/phase — contributed a rules-parser fix to this Rust/WASM Magic: The Gathering engine (#6540): scoped "that player" to the triggering player for Aura and Equipment damage triggers.

Pinned Loading

  1. phase phase Public

    Forked from phase-rs/phase

    A rules engine and game client — Rust + WASM + React

    Rust

  2. fdc-tracker fdc-tracker Public

    Offline MTG draft event tracker da comunidade Fora da Caixa — React + TypeScript + Vite PWA

    TypeScript