;;; ;;;;; ; ;;;;;;;; ;; ;;;;;;;;;; ;; ;; ;; ;;;;;;;;;;; ;; ;;;; ;;;;;;;;;;;; ;; ;; ;; ;; ;;;; ;;;;;;;;;;; ;;;;;; ;;;;;; ;; ;;;;; ;;;;;;; ;;;;; ;; ;;;;;; ;;;;;;;; ;; ;;;;;; ;;;;;; ;; ;;;;; ;;;; ;;;;;;;;;; ;; ;; ;; ;;; ;;; ;;; ;;; ;;; ;; ;; ;; ;;; ;;; ;;; ;; ;; ;;; ;;; ;; ;;; ;; ;;;; ;;;;;;;;; ;;;; ;; ;; ;; ;; ;; ;; ;; ;; ;;;;;;;;;; ;; ;; ;; ;;;;;;;;;; ;; ; ;; ;; ;;;; ;;;;;;;; ;;;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;;;; ;; ;; ;; ;;; ;; ;; ;; ;; ;; ;; ;; ;; ;;; ;;; ;; ;;; ;;; ;;; ;; ;; ;; ;;;;;;;;;;;;;;; ;;;;;;; ;;;;;; ;; ;; ;; ;; ;; ;; ;;;;;;; ;;;;;;; ;; ;;;;;; ;;;;;; ;; ;; ;;;;;;;;;;;;;;;;;

schmiedTech

A multi-threaded game engine

Written in: C++, CMake, GLSL

Something I am working on in my spare time - this project was originally an experiment using MultiThreading and Vulkan to see their potential performance benefits (originally called MTVK).

The initial results were positive and ideas started flowing. I've since implemented custom debug tooling, GPU font rendering and rudimentary networking.

I'm currently implementing a custom spec-compliant SVG renderer for the GPU, later to be incorporated into a wider GUI solution, using a custom templating language (with customizable pages fetchable from a server).

Libraries used:

  • SDL
  • SDL_ttf
  • SDL_shadercross
  • Dear ImGui
  • implot
  • cglm
  • cpp-httplib

Source code: CLOSED SOURCE

(will become open source once enough features make it in)

  
######################################################################### ##################### ######################################################################### ##################### ######################################################################### ##################### ######################################################################### ##################### ######################################################################### ##################### ######################################################################## ##################### ###################################################################### ##################### ################################################################### ##################### ################################################################# ##################### ############################################################## ##################### ############################################################ ##################### ########################################################## ##################### ######################################################## ##################### ##################################################### ##################### ################################################### ##################### ################################################# ##################### ############################################## ##################### ############################################ ##################### ######################################### ##################### ####################################### ##################### ##################################### ##################### ################################## ##################### ################################ ##################### ############################## ##################### # ########################### ##################### #### ######################### ##################### ###### ###################### ##################### ######## #################### ##################### ########## ################## ##################### ############# ############### ##################### ############### ############# ##################### ################## ########### ##################### #################### ######## ##################### ###################### ###### ##################### ######################### #### ##################### ########################### # ##################### ############################# ##################### ################################ ##################### ################################## ##################### ##################################### ##################### ####################################### ##################### ######################################### ##################### ############################################ ##################### ############################################## ##################### ################################################ ##################### ################################################### ##################### ##################################################### ##################### ######################################################## ##################### ########################################################## ##################### ############################################################ ##################### ############################################################## ##################### ################################################################# ##################### ################################################################### ##################### ##################################################################### ##################### ######################################################################## ##################### ########################################################################## ##################### ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ########################################################################################################################

WERZEICK

Personal management for construction professionals

Written in: Go, HTMX, Dart

This is a startup I co-founded, leading the software development on our first product. We are currently seeking external investors to help with development and marketing.

The mobile client is written using Flutter. The admin dashboard is written using HTMX, with its server written in Go. That same server is used as a backend for the mobile client.

When build the tech stack, the goal was to "use as little stuff as possible", reducing our dependencies to a minimum.

Libraries used:

  • Flutter
  • HTMX
  • sqlite3

Source code: CLOSED SOURCE

  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. =@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: %@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ :@@@@@@@@@@@@@@@ @@@@@@@@@@@ :@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @@@@@@@@@@@ *@@@@@@@@@@@@@@@@@@@% .=**= @@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@% @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@. %@@@@@@@@@@@@@* @@@@@@@@@@@@@@@@@@@@@@: *@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@= @@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@% @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@: :@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@* @@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@ %@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@ *@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@%* @@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ *@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ :@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ %%%%%%%%%%%%%%%%%%%%= =@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@: .@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ %@@@@@@@@@@@@@@@@@@: *@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@* @@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ :@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@* @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @@@@@@@@@@@@@% @@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@* @@@@@@@@@@@ @@@@@@@@@@@@@. @@@@@@@ %@@@@@@@@@@ @@@@@@@@@@@@@@: @@@@@@@@@ @@@@@@@@@@@@@. @@@@@@@ %@@@@@@@@@@ @@@@@@@@@@@@@ =@@@@@@@ @@@@@@@@@@@@@. @@@@@@@ %@@@@@@@@@@ @@@@@@@@@@@@ *@@@@@@: *@@@@@@ @@@@@@@@@@@@@. @@@@@@@@::::::::: ::::::::=@@@@@@@@@@@ @@@@@@@@@@@: @@@@@@@@@@@@ @@@@@@ @@@@@@@@@@@@@. @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@ @@@@@@@@@@@@@. @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@ =@@@@@ @@@@@@@@@@@@@. @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@. @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@. @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@. @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@ =@@@@@ @@@@@@@@@@@@@. @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@ :@@@@@ @@@@@@@@@@@@@. @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@ :@@@@@ @@@@@@@@@@@@@. @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@ :@@@@@ @@@@@@@@@@@@@. @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@ :@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@ :@@@@@. @@@@@@@@@@@@ @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@% @@@@@@@@@@ :@@@@@@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@ :==: :@@@@@@@ .*%%= @@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@ :@@@@@@@: @@@@@@@@@ %@@@@@@@@@@ @@@@@@@@@@@@@% @ :@@@@@@@@@ @@@@@@@@@@ %@@@@@@@@@@ @@@@@@@@@@@@@@@ @@ :@@@@@@@@@@@ .@@@@@@@@@@@@ %@@@@@@@@@@ @@@@@@@@@@@@@@@@@@ =@@@@@@@@@@@@@@@@@@@@@@@@@@@@* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

rcgui

Retained-mode GUI on the CPU

Written in: C

Tiny learning project, rendering retained-mode GUI on the CPU.

Libraries used:

  • fernster

Source code: TODO