portfolio · atlanta, ga · 2026

I build the whole thing.

Founder, builder, marketer, actor, producer.

Two production SaaS products, a film studio, and a decade of making things people watch. Every product here was designed, built, shipped, and grown by one person. Every number below traces to a repository, a database export, or a live page.

Andrew Conklin seated in front of a bright window, cream sweater, looking at the camera
2products in production
2,252commits shipped in 2026
4.95Mcreator views tracked
11film credits, six as lead
  1. 01Bounty_OSpay-per-view product placement · live
  2. 02Soleil Clustersreal-time canvas · api · mcp · live
  3. 03Soleil Picturesthe studio and its slate
  4. 04Growth record2018 → 2025
  5. 05On cameraeleven credits, two festival selections
  6. 06Other buildssimulation, games, tools
  7. 07Contactemail and links
01 bounty_os bountyos.com ↗ live · solo · react + supabase

Product placement for the creator economy.

Brands pay per view. Creators feature the product inside content they were already making, add a campaign hashtag, and Bounty_OS finds the post, counts the views, and pays out through Stripe. No follower minimum, no scripts, no ad reads.

100,000views = one block

creators are paid on complete blocks

$150brand pays, for 150,000 views

at a $1,000 per-million rate

$100creator earns, one full block

the partial block is the margin

the machine · 1

It finds the post itself.

A campaign hashtag is the only handshake. Posts are discovered and scraped across TikTok and Instagram, ownership of 373 social accounts was verified automatically, and a five-tier velocity scheduler decides how often each post is re-measured, documented at roughly 49% fewer API calls.

the machine · 2

Fraud detection inside Postgres.

A Gaussian naive-Bayes bot detector written in pure PL/pgSQL, with sigmoid calibration and self-retraining population statistics. Review is importance-sampled by creator reputation, and reputation itself is a trigger: +0.05 per approval, −0.10 per rejection, so it cannot drift from outcomes.

the machine · 3

Money that reconciles.

Escrow and payouts through Stripe Connect, a resumable nine-step campaign-finalization saga, integer cents end to end, and a double-entry invariant checked continuously: total_earned = pending + available + paid_out. Optimistic locks and a circuit breaker stand between a bad batch and a double release.

the machine · 4

Copy that optimises itself.

Lifecycle email runs on a Thompson-sampling bandit over 85 variants, with a hand-rolled Beta sampler in an edge function. Landing pages run epsilon-greedy. The top variants clicked at 2 to 2.5× the blended rate.

the machine · 5

A public surface most seed startups never build.

41 documentation pages in a Windows-95 explorer, an earnings calculator, a public campaign directory, six comparison pages, ten niche landing pages, a 5% referral program, a blog, a live investor pitch page, prerendering, JSON-LD, and an llms.txt so the assistants can read it too.

traction · production database, 28 jun 2026

users
619 · 599 creators
countries
17
creator-content views tracked
4,954,250
posts collected and scored
244
engagements tracked
~157K
campaign view → join
68.6%
signup → account connected
64.1%
creator signups, feb 2026
394 · +282%
referral conversions
384 · 60 referrers
waitlist, from 40 countries
155
lifecycle emails delivered
7,489 · 89.3%
paid acquisition
$0
first paid campaign
$250, inbound

the build · repository, 20 sep 2026

lines of TypeScript
134,798
edge functions (Deno)
39
SQL migrations
122
tables · functions · policies declared
55 · 203 · 132
scheduled database jobs
9
routes
40
docs pages
41
commits, one author
599
live since
jan 2026
stack
react 18tsvitetailwindsupabasestripe connectbrightdataresenddiscord
02 soleil clusters clusters.soleilpictures.com ↗ live · solo · web + ios + android

A real-time canvas for film teams. Driveable by an agent.

Moodboards, shot lists, lookbooks, scripts, and schedules on one infinite canvas, edited live by everyone on the production. Built by a film studio for its own work, then opened up: a public API, its own OAuth server, and an MCP server so an AI assistant can build a board for you.

engineering · 1

An edit made somewhere else, arriving here.

Yjs CRDTs over PartyKit, one Durable Object per board at the edge. Every connection is authenticated with a Supabase JWT and checked against row-level security before it joins; viewers are read-only at the protocol level. Every update is appended to a per-board op log, compacted hourly into R2, and an in-room anomaly detector watches for mass deletes.

engineering · 2

Cards added by an agent.

50 REST endpoints, 18 OAuth 2.1 endpoints, 9 webhook events, and an MCP server with 33 tools and 3 prompts, published to the official MCP Registry as com.soleilpictures/clusters and to npm as soleil-clusters-mcp. The hosted endpoint signs you in over OAuth, so there is no token to paste.

engineering · 3

The same board, on a phone.

Capacitor shells for iOS and Android wrap the same Vite build. And Scout: text photos, clips, voice notes, PDFs, or links to a number and they land, arranged, on a canvas; voice notes are transcribed and photos keep their capture time. It runs on Fly.io because iMessage needs gRPC, which a Worker cannot speak.

the build · repository, 20 sep 2026

commits, one author
1,764 · 1,690 since may
commits, last 90 days
651
lines of JavaScript, non-generated
171,247
lines of CSS
32,713
worker modules
10 · 8,719 lines
SQL migrations
358
row-level security policies
245
edge functions
21
unit tests
1,381
end-to-end specs (Playwright)
195
docs pages · changelog editions
64 · 8
landing pages · listicles · templates
14 · 4 · 16
semantic search · auto-tagging
openai embeddings → pgvector, hnsw index
seo copy · image alt text
cloudflare workers ai, free tier
docs surface check
ci extracts endpoints, mcp tools, card kinds and settings tabs from source, hashes them, fails the build if the docs did not move
assistant citation probe
weekly

in production

live edit operations synced (1 sep 2026)
180,159
lifecycle emails delivered
5,054
search impressions, six weeks
1,146 → 5,793
users · monthly active (28 jun 2026)
113 · 86
public boards on explore
8
mcp registry
listed
price
$25 / mo
free tier
50 cards
in production since
spring 2026
attribution
11 click-ids · 8 ad networks
meta pixel
server-side conversions api
lifecycle email
bandit · per-user send time
a/b harness · referral loop
stamped on every event · k-factor tracked
search console sync · prober · indexnow
daily · six-hourly · on publish
stack
reactvitecloudflare workers + r2partykityjssupabasepgvectorworkers aistripecapacitor
There should never be a final product on a theater screen, TV screen, or even phone screen that was created by AI.

andrew, in filmplatforms’ industry spotlight · 27 jul 2026 · read it ↗

03 soleil pictures soleilpictures.com ↗ atlanta · film & television

A studio, co-founded with Christopher Perez.

Soleil Pictures develops original features and television. It is also where Clusters came from: the tool was built to run the studio’s own productions, then offered to everyone else’s.

YAHWEH poster
YAHWEH
feature · in development · action thriller

After surviving a brutal mob execution, an ill-fated man with religious psychosis reimagines himself as a messiah, Yahweh. As he gets his revenge, he gets entangled in a world of corruption.

Deep Dive poster
Deep Dive
feature · pre-production · psychological action thriller

Salva, an office worker, senses an unusual shift at his job; he realizes his coworkers are part of a clandestine experiment by a pharmaceutical company.

Lost Time poster
Lost Time
tv series · pre-production · historical dramedy, sci-fi action

After stealing a time machine, a reckless drunk juggles trying to live with his past self while going on adventures throughout time.

04 growth record 2018 → 2025

Before the products, the campaigns.

Both products exist because the funnel was already familiar: recruit creators, verify them, nudge them into posting, measure the post. That was the job first.

  • WorldStar HipHop
    marketing director · jun 2021 – aug 2022 · age 17

    Directed influencer and social campaigns for artist releases with a three-to-four-person team. One fully documented TikTok creator campaign: 48 creator videos, 956,650 views, $7,750 spend, $0.0081 per view, best creator at $0.0016. Seeded releases through a 14.6-million-follower Instagram meme-page pool with per-post view, engagement, and ROI tracking. Took an artist from 20K to 250K Spotify monthly listeners in six months.

  • Freelance
    social growth & management · 2018 – 2023

    Ever see the “They did surgery on a grape” meme? That was me. Grew an Instagram page from 0 to 35K followers organically. Produced music-production content that earned 1M+ organic TikTok views. Managed pages totalling 550K+ followers.

  • Rise Studios · Just Peachy Locations
    social media marketing consultant · aug 2024 – jul 2025

    Organic-growth and content strategy for two Atlanta production businesses, and trained their teams on content workflows and performance optimisation.

  • Georgia Entertainment
    event photographer & journalist · oct 2024 – sep 2025

    Documented Atlanta’s entertainment scene on assignment.

  • Swoon Esports
    founder · sep 2019 – nov 2020 · age 15

    Built a 5K+ community, ran online tournaments for hundreds of participants, and managed branding and operations for semi-professional teams in Rocket League, Rainbow Six Siege, and CS:GO.

georgia entertainment

sample · aug 2024 · 1:58 vertical · sound on

Cut to pitch a potential client: the kind of video I make.

watch on youtube ↗
05 on camera imdb ↗ actor · producer · atlanta

Eleven credits. Six of them leads.

Acting is where the products came from: the studio needed tools, and the person on set built them. Working actor since 2023, training in Chubbuck, Meisner, and at Michelle Danner’s studio.

Andrew on the set of No Love Lost, shirtless and covered in stage blood, grinning, sunlit trees behind him no love lost · lead · capped films
titleroledirectorproduction
Where It HurtsLeadDiego MorenoSCAD
Papercut BoiLeadKJ SeokSCAD
No Love LostLeadChase WalshCapped Films
Noise ComplaintLead atlanta horror film festivalJacob BurgessIon Films Studios
PumpkinLeadMolefe SijiyeGeorgia State University
De-EscalationLeadMarley GompelSCAD
LifelineSupporting buried alive film festBrentson Bucknermade for the Buried Alive Film Fest
TGWTGHSupportingKentronn MalmadhRam In A Bush Productions
Model UNSupportingEllison WintersteinEvil Twin Digital
Still HereSupportingDayanara De La HozGeorgia State University
DevourDay playerScott HansenDigital Thunderdome Studios

uncredited · on set

Marvel’s Thunderbolts. DC’s Man of Tomorrow. Tulsa King. Will Trent. Southern Bastards. Gorilla Grodd.

among others · sets of that size, from the inside

training

Advanced Acting Techniques · Intro to Chubbuck
Jerri Tubbs, GSU
Meisner Technique
Emerald Coast Theater
Acting Techniques
Michelle Danner Acting Studio

on the page

credits · leads
11 · 6
festival selections
Noise Complaint, Atlanta Horror Film FestivalLifeline, Buried Alive Film Fest
reels
2
height
6′
special skills
stuntsfree divingrock climbinghorsebackimprovcold reading
06 other builds simulation · games · tools · 2023 → 2026

The rest of the shelf.

Not products. Practice, curiosity, and the occasional two-day sprint that turned into eighteen thousand lines.

simulation · rust, python, c++

Project Genesis

An emergent-behaviour civilisation simulator where every citizen is an autonomous agent with memory and interests, and the player is the president. Fourteen Rust crates (24,912 lines, 275 tests, 90 systems), a PyTorch pipeline that trains tiny agent brains, and an Unreal Engine 5 client. Then re-implemented as a 78-commit Cataclysm: DDA fork that runs the city in spectator mode with policy dials.

apr – aug 2026 · 139 + 78 commits

game · luau, roblox

Rocklords

A PvP rock-collection game: mining, refinement with a wager feel, fusion trade-ups, theft, auto-miners for offline progression, procedurally generated mythical rocks players get to name. 18,107 lines of Luau across 39 server modules, 126 tests, a 20-section design spec, and a Rojo, Wally, StyLua, Selene toolchain.

written in two days, apr 2026 · unpublished

automation · python + claude

Investor research pipeline

Researches investor candidates, de-duplicates them, scores and ranks them by configurable weights, writes them to a sheet, builds a digest, and verifies employment, on a launchd schedule. 53 tests.

mar – apr 2026

prototype · next.js

Create OS

The February 2025 prototype of what became Bounty_OS: brands fund a budget for views, creators onboard and choose how to get paid. 103 commits and a five-step campaign wizard, a year before the company existed.

feb – mar 2025

data · cloudflare workers + d1

Cast & crew database

A movie, credit, and person database on Cloudflare D1 with a search front end on soleilpictures.com, fed by a TMDb crew scraper. Built to answer one studio question: who worked on the films we love.

mar 2024

personal · one html file

Film rankings

A 4,067-line Classic Mac OS desktop for rating films: TMDb search, IMDb, Rotten Tomatoes and Metacritic pulled into a weighted public score, a watchlist with streaming providers, a rating-distribution chart, a startup chime, and flying toasters when it idles. Lives on this site, behind a password.

feb – mar 2026 · 57 commits

this page

andrewconklin.com/portfolio

One HTML file, no framework, no build step, like the rest of this site. The sticky showcases, count-ups, morph, and reveals are about two hundred lines of vanilla JavaScript, and all of it switches off under prefers-reduced-motion.

sep 2026

07 contact remote · atlanta, ga

Contact

andrew@andrewconklin.com