Skip to content

Instantly share code, notes, and snippets.

View nmajor's full-sized avatar

Nicholas Major nmajor

View GitHub Profile
@nmajor
nmajor / sandbox-orchestration-research.md
Created March 30, 2026 13:42
Firecracker Orchestration: Technology Deep Dive (AWS Lambda patterns, Fly.io lessons, Nomad, Postgres scheduling, scaling tiers)

Firecracker Orchestration: Technology Deep Dive

Date: 2026-03-30 Purpose: Understand the scaling architecture so we know what we're building


Key Finding: The Problem Is Already Solved

Every production Firecracker platform (E2B, Fly.io, AWS Lambda) uses the same 3-component pattern:

@nmajor
nmajor / sandbox-market-user-voice.md
Created March 30, 2026 13:42
AI Sandbox Market: User Voice & Complaints (E2B, Modal, Fly.io, Replit + ICP identification, underserved niches)

AI Sandbox Market: User Voice, Complaints & ICP Analysis

Date: 2026-03-30 Scope: Real user complaints (Oct 2025 - Mar 2026), ICP identification, niche/gap analysis Method: GitHub issues, HN threads, Reddit, Trustpilot, community forums, comparison articles


TABLE OF CONTENTS

@nmajor
nmajor / firecracker-business-viability.md
Created March 30, 2026 13:42
Firecracker Sandbox Platform: Business Viability Assessment (probability estimates, comparable companies, unit economics, operational lifestyle)

Firecracker Sandbox Platform: Business Viability Assessment

Date: 2026-03-30 Context: Solo bootstrapped founder evaluating an open-source Firecracker microVM sandbox platform with managed cloud offering Methodology: Reference Class Forecasting (Kahneman/Tversky) with base rates from ChartMogul (6,525 companies), Indie Hackers, ProfitWell/Paddle, and comparable company trajectories


TL;DR

@nmajor
nmajor / firecracker-platform-research.md
Created March 30, 2026 13:41
Firecracker Sandbox Platform: Technical Research (cold starts, snapshot/restore, single binary, tiered isolation, unikernel comparison)

Firecracker Sandbox Platform: Comprehensive Research

Date: 2026-03-30 Context: Evaluating a bootstrapped SaaS opportunity — open-source Firecracker sandbox platform with managed cloud offering. Research conducted across competitive landscape, technical feasibility, market sizing, and business viability.


Table of Contents

  1. Market Landscape
@nmajor
nmajor / sandbox-platform-prd.md
Created March 26, 2026 16:10
AgentBox PRD - Firecracker-based AI sandbox platform with sub-100ms snapshot restore

Product Requirements Document: AgentBox (Working Name)

Author: Nick Date: 2026-03-26 Status: Draft


Executive Summary

@nmajor
nmajor / unikernel-cloud-technical-reference.md
Created March 26, 2026 14:15
Building a KraftCloud-Class Snapshot/Restore Platform - Technical Reference

Building a KraftCloud-Class Snapshot/Restore Platform

Purpose

This document contains everything needed to build a Firecracker-based microVM platform with sub-20ms snapshot restore cold starts on bare metal servers. It is a technical reference for implementation — no product strategy, no brainstorming. Every claim is sourced from published papers, official documentation, or verified open source code.

The goal: replicate KraftCloud's core capability — stateful scale-to-zero with millisecond-class restore times — using open source components on commodity hardware.


@nmajor
nmajor / basic-bash-template.sh
Created December 9, 2021 18:23
Basic BASH Script Template
#!/usr/bin/env bash
set -Eeuo pipefail
trap cleanup SIGINT SIGTERM ERR EXIT
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P)
usage() {
cat << EOF # remove the space between << and EOF, this is due to web plugin issue
Usage: $(basename "${BASH_SOURCE[0]}") [-h] [-v] [-f] -p param_value arg1 [arg2...]
// GET CARS
// DONE - define the url to make the requests to
// DONE - use fetch to send a request to the url
// DONE - for each element response of the fecth insert the html into the page
// DONE - loop through the cars
// DONE - inside the loop store the data of the cars into well named variables
// DONE - query selector to select the car list element
// DONE - create the html string
// DONE - insert into the page
const baseUrl = "https://person.clearbit.com/v2/people/find?email=";
const authorization = "Bearer sk_d32a1fafc46187184db79ee19e470a5f";
// DONE - Add an Event listener to the submit button
// DONE - Get the value of the input
// DONE - Call the clearbit api
// DONE - Process the response
// Update the html with the response data
// <tr>
const searchPlaces = (inputValue) => {
const url = "https://places-dsn.algolia.net/1/places/query";
fetch(url, {
method: "POST",
body: JSON.stringify({ query: inputValue }),
})
.then(response => response.json())
.then((result) => {