Skip to content
View levimackay's full-sized avatar

Highlights

  • Pro

Block or report levimackay

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.

Content in all repositories owned by your account will be closed.
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
levimackay/README.md

Levi Mackay

Typing SVG

Portfolio Resume LinkedIn Contact


> whoami

I build systems from the inside out: a programming language in C, a local developer tool in Python, and software for real customers.

  • Computer Science at BYU-Idaho, 3.98 GPA, graduating December 2027
  • Teaching assistant in the CS department
  • Open to Summer 2027 software engineering internships

> tech.stack

Languages


Frameworks & Tools


Xcode Ollama Tailscale


> featured.project

Izvor: source code to native executable

A statically typed programming language with a complete path from .iz source to a native binary. The compiler is written in C11 with no third-party dependencies, parser generator, or LLVM.

Actual Izvor compiler output tracing a Fibonacci expression through tokens, typed syntax tree, generated C, and the compiled program's output

The lexer, recursive-descent parser, type checker, interpreter, and C code generator form one working pipeline. Izvor handles typed functions, recursion, mutable and immutable bindings, control flow, and checked arithmetic. It reports errors with the file, line, column, and a caret under the offending expression.

The interpreter and compiled binary must produce byte-for-byte identical output for all 36 golden programs, including errors. A fixed-seed fuzzer runs 20,000 inputs through the front end; CI also runs the tests on Linux and macOS with sanitizers.

git clone https://github.com/levimackay/izvor && cd izvor && make
./build/izvor run examples/fib.iz    # interpret
./build/izvor build examples/fib.iz  # build a native executable
./examples/fib

Read the architecture · See the tests · Explore the language

Stars


> other.work
Project Description Stack
Lydia A local coding agent that reads and edits code, runs commands, and uses Ollama without cloud API keys. Open source, with merged contributions from developers outside the project Python Ollama
minidb A single-file database engine written by hand in C: binary formats, paging, B-trees, cursors, a SQL parser. Roadmap done, Phases 0 and 1 scaffolded with tests C
FORGE A native iOS Duolingo for CS fundamentals: DSA practice for students prepping technical interviews, with a skill tree that recommends against what you actually complete. Xcode project and package split in place, domain model and persistence next Swift 6 iOS 26

> github.stats

Streak stats

contribution grid snake animation

> leetcode.grind

LeetCode stats for lmack03

Pinned Loading

  1. izvor izvor Public

    A small statically typed language that compiles to C, then to a native binary. Written in C11 with no dependencies. Source files end in .iz

    C 1 1

  2. lydia-cli lydia-cli Public

    Lydia is a local AI coding agent for the terminal. It reads and edits your code, runs commands, and drives git through a local Ollama model. No API keys, no cloud, nothing leaves your machine.

    Python 37 8

  3. dev-dock dev-dock Public

    Twenty-two developer utilities that run entirely in your browser. No accounts, no uploads, no tracking.

    TypeScript

  4. microplastics-idaho microplastics-idaho Public

    A field study site for a BYU-Idaho Chem 490R internship tracking microplastic contamination in headwater streams, with an interactive map of 18 sample sites and charts built from the team's own data.

    JavaScript

  5. srpsko-hrvatski srpsko-hrvatski Public

    A personal Serbo-Croatian dictionary compiled in the field across Croatia, Serbia, and Bosnia, typeset into a 301 page, 5,709 entry book using a Python pipeline and Typst.

    Typst

  6. swing-analyzer swing-analyzer Public

    Real-time webcam tool that anchors your head level and flags it when it drops through a baseball swing. Python, OpenCV, MediaPipe.

    Python