fullstack web should be easy


fullstack web should be easy and fun.


start with working implementations of everything, then tinker and tweak until your app is complete!

fast and reliable automation.

easy browser testing.


a project scaffold for a fullstack webapp on aws with an infrastructure set ready-to-deploy with libaws.

the project scaffold contains:

  • a go lambda backend.
  • a clojurescript and react frontend.
  • s3 and dynamodb for state.
  • http and websocket apis.
  • low latency logging.
  • automated devops.

a live demo on aws is here.

lambda zip

the lambda zip contains only 3 files:

>> ls -lh | awk '{print $9, $5}' | column -t

favicon.png    2.7K # favicon
index.html.gz  296K # web app
main           15M  # go binary

the index.html.gz:

<!DOCTYPE html>
      <meta charset="utf-8">
      <meta http-equiv="Content-Security-Policy" content="script-src 'sha256-${JS_SHA256}'">
      <link rel="icon" href="/favicon.png">
        <div id="app"></div>
        <script type="text/javascript">

the lambda zip itself:

>> ls -lh | awk '{print $9, $5}' 4.6M

sdlc demo


use the included Dockerfile or install the following dependencies:

aws prerequisites

  • aws route53 has the domain or its parent from

  • aws acm has a wildcard cert for the domain or its parent from


git clone
cd aws-gocljs
cp # update values


bash bin/         # lint
bash bin/       # preview changes to aws infra
bash bin/        # ensure aws infra
bash bin/           # iterate on backend and frontend
bash bin/          # tail the logs
bash bin/        # delete aws infra

usage with bad upload bandwidth:

# bash bin/         # this needs upload bandwidth
bash bin/  # iterate on localhost frontend
bash bin/         # iterate on backend via ec2 relay