
Your company's hackathon, on your own server.
Simple Hack for companies.
Run a hackathon inside your company, with your own sign-in, on one small server.
What it is for
Most companies have people with ideas and no good way to show them: a claims handler who has noticed a better way to take a call, a support lead who knows exactly where customers get stuck. They rarely get a turn.
With AI, showing an idea no longer takes an engineer. Someone describes what they want, and their AI app builds a working first version and publishes it as a real website. A hackathon gives that a few days and an audience.
Running one now and then is a bottom-up way to bring those ideas out, judged on working prototypes and short videos instead of slides.
An example event
A mid-size insurer ran a three-day, company-wide hackathon for about eighty people from claims, support, underwriting and IT. A claims handler built a better intake form for first notice of loss. A support lead built a tracker for return and refund requests. Judges tried each team's working site and watched a short video, rather than sitting through a deck.
What Simple Hack does during the event
Simple Hack runs the sign-up and the teams. People sign in with their work account, form or join a team, and each team gets its own site that their AI app builds and publishes as they go. Judges score every entry against a rubric the organisers set, and results come out once judging closes. Organisers spend their time on the ideas.
What it needs
Simple Hack runs on one small Linux server: a machine with Docker and 2 GB of RAM is enough. The install puts three things on it: the Simple Hack app, a Postgres database and a web server for HTTPS. One server runs an event of twenty to a hundred people over a few days to a week.
Company sign-in
People sign in with the account they already have: Okta, Google Workspace, Microsoft Entra, Keycloak or any other OpenID Connect provider. The connector that people add to their AI app signs in the same way, through the same provider, so there is no separate password or key to hand out. Email sign-in codes can be turned off entirely, so every sign-in goes through the company's own identity provider.
Running inside the network
Simple Hack can run on an address inside the company network instead of the public internet, with the company's own certificate or internal certificate authority in place of a public Let's Encrypt certificate. The event does not need to be reachable from the internet; the server only downloads the release and its images when you install or upgrade.
Install it
These two commands download the release and install it with an internal certificate authority. Change --tls internal to match how your network issues certificates; see the settings below.
- Download and open the release.
curl -fsSL https://github.com/vineetu/simple-host/releases/download/hack-v0.8.10/simple-hack-0.8.10.tar.gz | tar xz && cd simple-hack-0.8.10 - Run the installer, pointing it at your settings file.
sudo bash deploy/hack/standalone/install.sh --config /root/simple-hack.env --tls internal
Settings
Set these in the config file passed to --config. Setting an issuer, client id and secret turns on company sign-in.
| Setting | Meaning |
|---|---|
OIDC_ISSUER | Your identity provider's issuer URL (https). |
OIDC_CLIENT_ID | The OAuth client id registered at the identity provider. |
OIDC_CLIENT_SECRET | The client secret. Kept out of logs and never shown back. |
ALLOWED_EMAIL_DOMAINS | Comma list, for example example.com,example.co.uk. Sign-in from other domains is refused. Required when the issuer is Google. |
OIDC_LABEL | Name on the sign-in button, for example Acme Okta. Default: your company account. |
EMAIL_SIGNIN | on (default) or off. off turns off email-code sign-in everywhere, once company sign-in is configured. |
Redirect URI to register at your identity provider: https://<your-domain>/v1/auth/oauth/oidc/callback
Certificates, with --tls on the install command:
| Flag | Meaning |
|---|---|
--tls public | Default. Certificates from Let's Encrypt. |
--tls internal | The installer's own certificate authority issues every certificate; the installer prints the command that saves its root certificate, for IT to trust on company devices. |
--tls acme --acme-ca URL | Certificates from your own ACME server (step-ca, Smallstep, AD CS with ACME, Vault PKI). |
--tls certs --cert-dir DIR | Your own certificate files. |
--ca-cert FILE | Your root certificate authority, trusted for calls to an internal identity provider and for an internal ACME server. |