burnafter / frontend / src / file-crypto.ts
const AES_GCM_ALGORITHM = 'AES-GCM';
const FILE_KEY_LENGTH = 256;256-bit key
const IV_BYTE_LENGTH = 12;
 
export const encryptFile = async (file: File): Promise<EncryptedFile> => {
  const key = await generateFileKey();A new key for every file
  const iv = generateRandomIv();
  const plaintext = await file.arrayBuffer();
  const ciphertext = await getSubtleCrypto().encrypt(Runs in your browser
    {
      iv: iv.slice().buffer,
      name: AES_GCM_ALGORITHM,
    },
    key,
    plaintext,
  );
 
  return {
    encryptedBlob: new Blob([ciphertext], { type: 'application/octet-stream' }),
    encryptionVersion: 'v1',
    iv,
    key,
  };
};
  1. Your browserEncrypts with AES-GCM
  2. CloudFrontServes the app
  3. API GatewayAuthenticated requests
  4. LambdaEight functions
  5. S3 and DynamoDBCiphertext and records
  6. EventBridgeCleanup every minute

Quiet Mind Creative

Look closer.

We design, build, and look after websites and apps, down to the last pixel and the last line of code.

01Detail

Every detail, set on purpose.

Burn After, a web app we designed and built. These notes are measured from the live site.

  • Headline 45 / 54, bold
  • Body 20.25 / 32.4, 5.0 : 1 contrast
  • Button 222 × 62, radius 6.75

02Pixel

Down to the pixel.

Every pixel is three lights: red, green, and blue. This is the first letter of that headline, magnified.

03Code

Beneath the pixels, the code.

The real function that encrypts every Burn After file in your browser, before it’s uploaded.

04System

Beneath the code, the system.

  • The key travels after the # in the link, so our servers never see it.
  • Opened once, then gone: a cleanup job runs every minute.
  • Serverless on AWS, every resource defined in code.

You’ll never have to look this closely.

That’s our job.

Selected work

Products we designed, built, and shipped.

Native Mac and iPhone apps, encrypted web apps, and open-source developer tools, shipped across macOS, iOS, the web, Firefox, VS Code, and Obsidian.

  • iPhone

    Momentum

    A calm workout tracker built on consistency over perfection.

  • iPhone

    Log Nutrients

    Logs nutrients to Apple Health and tracks your calorie deficit.

  • iPhone

    Tango

    Builds and tracks daily habit routines, synced through iCloud.

  • iPhone

    Rotate Meals

    Weekly meal plans without repetition, and the grocery list to match.

View all work

Services

One studio. Every layer.

From the first conversation to long after launch, one studio designs it, builds it, and keeps it running.

  • Websites

    Fast, accessible websites designed around what your customers actually came to do. Built properly, launched carefully, and kept that way.

  • Web apps

    From encrypted file sharing to data-heavy planners. Serverless where it fits, and secure by design.

  • Apps for Mac and iPhone

    Native Swift and SwiftUI that behaves like it belongs on the device: the shortcuts people expect, windows that remember where they were.

    App development
  • Product design

    Discovery, structure, clickable prototypes, and design systems. We get the shape right before any polish.

    Product design
  • Engineering

    Audits, performance work, and taking over code someone else wrote. We measure first, fix what the numbers point at, and document it.

    Engineering
  • Care after launch

    OS updates, dependency changes, and the bugs only real use finds. We stay on, or hand off with documentation.

Proof

This page, measured live.

These numbers come from your browser, right now. Every site we ship is held to the same standard.

First paint
…
Downloaded so far
…
Requests
…
Third-party requests
…
Trackers
None
Analytics
GA4†

† GA4 measures site traffic only. Advertising features, Google signals, and User-ID are disabled.

How it works

No surprises, start to finish.

  1. Listen

    We learn the problem, the people who have it, and the constraints you’re really working under. If what you asked for won’t help, we’ll say so.

  2. Shape

    We agree on what the first version does, and what it doesn’t. Structure and a working prototype come before polish.

  3. Build

    Working software in front of you the whole way through, not a big reveal at the end.

  4. Launch

    Hosting, app review, privacy disclosures, and the release mechanics. We’ve shipped enough to know where launches get stuck.

  5. Look after

    Updates, fixes, and improvements long after launch, or a clean handoff with documentation if you’d rather own it.

Contact

Your product is next.

Tell us what you’re building, or what needs fixing. We’ll get back to you as soon as possible.

Or send a note