6 projects
Web Projects
Sites, apps and extensions, designed and shipped solo, from the backend to the last pixel.
Ostiara
A SaaS platform for door-to-door sales teams across home-service verticals, pest control, solar, roofing, fencing, security. Built solo end to end: marketing site, admin dashboard, and a teams-and-roles system on Clerk Organizations with Supabase row-level security. The hard part was customer discovery. Reps split between fixed-price menus and measure-on-site quoting, and that split changes what the tool owes each group.
View on GitHub ↗
MyLifeInARepo
A personal life-tracking system built as a git repo of daily markdown files, parsed into structured data and rendered through a Next.js dashboard. Includes a financial module for net worth, budgeting, and cash-flow forecasting, plus a bank-statement import pipeline and a transaction-categorization engine modeled on how Monarch Money handles rule-based categorization. The hard part: turning freeform daily notes into reliable structured data. I still contribute to it occasionally but it is mostly done.

Querryn
A Chrome extension that rates the credibility of sources for students writing academic papers, using a tiered domain-trust system, and exports citations in MLA, APA, Chicago, and BibTeX. Submitted to the Chrome Web Store.

VaultDNA
An Obsidian plugin that encodes a personal knowledge base into synthetic DNA sequences, built around real DNA-storage constraints like homopolymer-run limits and GC-content biasing. Scoped as a quick one-to-two-week build alongside Ostiara.

charlieramus.comv2
This site — a personal portfolio in Next.js, TypeScript, and Tailwind, with MDX for writing and a masonry photography grid backed by a fullscreen lightbox.
charlieramus.com ↗
Backtrace
An honest field instrument for reasoning about where a wildland fire started. You walk the burn with a map, flag physical fire-pattern indicators, and record the direction each one points. Backtrace fuses those bearings, each with its own angular uncertainty into a probability field for the origin: a heatmap with credible regions, not a single false-precision dot.
View on GitHub ↗