Fraol

Hi, I'm fraol or
frectonz on the internet.

I have a telegram channel and a youtube channel.

I also host a tech podcast called Devtopia.

About Me

I have been interested in technology and its ability to influence our life for as long as I remember. This interest has lead into the world of software development which I enjoy very much.

Programming Languages I work with

Projects

Learn Acadia

A learning exercise with Acadia.

An implementation of a Steganography technique using LLMs.

Sirba

Ethiopian radio stations on your webOS TV.

Kimem

Safaricom Kimem MIFI Router CLI.

Serverless for your servers.

A process manager with TOML configuration.

SQL Studio

SQL Database Explorer supports SQLite, libSQL, PostgreSQL, MySQL/MariaDB and DuckDB.

pglite-fusion

Embed an SQLite database in your PostgreSQL table. AKA multitenancy has been solved.

pg-when

Just say when.

parenv

Environment variable parser with a clap style derive macro and elm style error reporting.

Observable LC3 Virtual Machine.

LC3 Disassembler

LC3 Disassembler in Idris.

media.nix

Home Media Server.

DevShopsEt

A Catalog of Ethiopian Software Companies.

Better Auth Fayda

Better Auth plugin for Fayda.

schemy

Generates Rust and TypeScript types from Schema.org JSON-LD vocabulary.

Octopod

A UI for Docker Registries.

leader-tab

An algorithm for selecting a leader from all the open tabs of a website.

Multi-window floating particles animation.

Crazy Gear

Amazing Gear clone vibe coded with Gemini 2.5 Pro.

route53-exporter

A program that exports hosted zone data into a JSON file.

pg-ethopic

A PostgreSQL extension for formatting Ethiopic dates and numbers.

Jabroni

Query your SQLite DB over WebSockets.

lobste-rs

A CLI client for lobste.rs written in Rust.

murder_tool

Kill processes with a TUI.

Ordo

Effortlessly set up and conduct ranked choice voting.

Act on Press

A web extension that lets you trigger click actions on press instead of release.

Elm Dama

Ethiopian dama game implemented in Elm.

of-base

Base conversion app for learning rescript.

CBE Cash Plot

Generate a plot of your CBE balance over time.

To Hearts Bot

The Hearts of OpenAI Telegram Bot.

To Hearts Web App

Convert a string into a bunch of heart emojis ❤️🧡💛💚💙💜🖤🤍 OpenAI style.

e/acc card

A demo for using SVGs as templates to generate images in the browser.

cmd-rs

Python's cmd module implemented in Rust via proc-macros.

Webcam Seeder

Seed a random number generator using a webcam picture.

Prime Portraits

A program that turns images into prime numbers.

Watchbox

My personal program for watching movies and shows.

Senamirmir Nixified

Senamirmir fonts packaged as a nix package.

Monaspace Nixified

Monaspace fonts packaged as a nix package.

Tally Tool

A ruby on rails app to count stuff.

Super Tic-Tac-Toe

Super Tic-Tac-Toe implemented in Elm.

Mekuteriya

A simple program for handling Ethiopian calendar dates.

Birr Forex Bot

A telegram bot that sends the current day's foreign exchange rates to its subscribers.

Snake Game

A snake game implemented in Rust.

Export Analyzer

An analysis tool that shows you different analytics from data exported from telegram groups.

Wordle in Elm

A wordle clone implemented in Elm.

MiniTab

A beautiful website that shows the time and a random image from unsplash that you can use as a new tab page.

A tic tac toe game implemented in Elm.

A boid simulation program.

pg-sqlite-heap

Store PostgreSQL tables in SQLite files.

When Is It

A simple project for testing ollama structured outputs.

Feres

Feres Ride History Visualizer.

Ersha OS

Digital Public Infrastructure (DPI) for Agriculture.

Dumb Sync

A super simple sync server.

The Crassus Test

Discover your imperial wealth.

Hazarda en Idris

A random number game implemented in Idris.

CDP Types

Generate Rust types for Chrome Devtools Protocol objects.

Notarius

A WIP Chrome DevTools Protocol Implementation.

darwin.nix

A NixOS config for my MacOS system.

A simple dockerized configurable self-hostable quiz app that uses a libSQL database from Turso.

asak-nix

The asak CLI nixified.

Link Pool

Gather the internet's knowledge.

Hazarda en Elixir

A random number game implemented in Elixir.

rescript-lsp-nix

The ReScript language server CLI nixified.

scope-tui-nix

The scope-tui CLI nixified.

An incremental computation library.

Lessonalyzer

The lessonalyzer from the Solar Opposites built with Bun + Nix.

CoinGopher

An expense tracker TUI app made with Bubble Tea.

Hazarda en Gleam

A random number game implemented in Gleam.

Chafa

FFI bindings to the Chafa library.

Lithium

A simple battery usage TUI.

quic-mini-redis

The tokio mini-redis example re-implemented to use QUIC.

QUIC Chat

A simple messaging system for learning QUIC.

Hazarda en Ruby

A random number game implemented in Ruby.

frectonz.nix

A NixOS config for my Linux system.

Bash Bot

A telegram bot using bash (curl, jq).

Trantor

The center of your analytics empire.

Telegram Login Test

A test repo for messing around with the Telegram Login Widget.

Emoji Auth

A proof of concept for using emojis as a token for authentication/authorization.

WhenWasItBot

A telegram bot that sends you the date a message was sent on.

TaskTower

A todo API implementation in Spring.

Nest Todos API

A sample API built with NestJS meant to help me learn it.

Hazarda en Java

A random number game implemented in Java.

Hazarda en Kotlin

A random number game implemented in Kotlin.

CardLink

A LinkTree clone to help me learn AWS.

Lang Invaders

A space invaders clone written in Elm with programming languages as the enemies.

Rampilo

A telegram crawler.

Hazarda en Go

A random number game implemented in Go.

Slash Animation

A terminal animation of slashes.

Taqsir Client

A simple url shortener. The client.

Taqsir Server

A simple url shortener. The server.

Katarogu

A crowdsourced catalog of telegram channels.

Hazarda en OCaml

A random number game implemented in OCaml.

OCaml Exercises

Exercises for learning OCaml.

Ferio

Everyday is a holiday!

ethiopic-numerals

A rust implementation of an algorithm that converts numbers to ethiopic numerals.

My Implementation of the Godot 2D Example Game.

ttp-app

An app that generates a truth table from a given logical expression.

license-gen

A license generator made with Rust.

99 Elm Problems

99 problems solved using Elm.

Birru CLI

A simple CLI tool that fetches and prints birr forex data from the Birru API.

Birru

A REST server that returns data related to Ethiopian forex exchange rates.

manifest-gen

A manifest.json generator.

Ethiopian Startups

A list of ethiopian tech startups.

ScienceWordToAmharic

A telegram bot for searching the amharic equivalent of common english scientific words.

Port Sniff

A port sniffer to see which ports are open on your computer.

Gravity Simulation

A gravity simulation.

Snow Animation

A snowfall animation.

Bouncing Circles

A bouncing circles animation.

Mouse Animation

A beautiful animation with lines circling your mouse.

Circle Animation

A nice animation with circles.

Rectangle Animation

A nice animation with rectangles.

A simple drawing application.

Optionem

A library for people with options and results.

Stats Exam

A web app I made to help me cheat on my math exam.

Truth Table Parser

A REPL tool and library for generating truth tables from a logical proposition.

svgToTurtle

A python tool that converts an image into a script that will draw the same image using the python turtle library.

Joke Mate

A random joke generator app.

Canvas Boilerplate

A template for making visuals using the HTML canvas API.

Ruby Koans

My solutions to the Ruby Koans.

Rustlings

My rustlings solutions.

Anansi

A WIP markdown parser.

frectonz.et

This website.

See more on GitHub

Personal Initiatives

Civic Projects

OSS Contributions

Language Forks

Advent of Code

Talks

Essays

Stories