Peter Theill

Peter Theill

Commanigy

My name is Peter Theill, a Copenhagen-based software engineer and entrepreneur. Iโ€™m a co-founder of Zublime, Outbound & Familio but also do indie-hacking at Commanigy. I started playing around with programming back in 1987 on a good old Commodore 64 and released my first couple of shareware products on Windows around 1994.

Deployment Stats

Total deployments
534

over 254 days

This week
30

123 this month

Most active day
27

on Nov 15, 2025

Running year activity
ยท
0 deployments in Jan
Jan
ยท
0 deployments in Feb
Feb
ยท
0 deployments in Mar
Mar
โ–„
61 deployments in Apr
Apr
โ–…
79 deployments in May
May
โ–…
66 deployments in Jun
Jun
โ–ƒ
42 deployments in Jul
Jul
โ–ƒ
37 deployments in Aug
Aug
โ–‚
18 deployments in Sep
Sep
โ–…
64 deployments in Oct
Oct
โ–ˆ
111 deployments in Nov
Nov
โ–„
56 deployments in Dec
Dec

Recent deployments by Peter Theill

4 months ago
โœจ Add emoji sound controller for interactive links
Implement a Stimulus controller to play sounds when emoji links are clicked.
4 months ago
โœจ Add funny videos when hovering my photo on theill.com
4 months ago
๐Ÿ› Update image URL handling for posts
Refactor image URL generation to use rails_blob_url for attachments and
ensure fallback to public root file for missing assets.
4 months ago
โœจ Add Open Graph image support for posts
Enhance post creation and editing with the ability to upload and manage
Open Graph images, improving social media sharing capabilities.
4 months ago
โœจ Add ten games for testing gpt-5
5 months ago
๐Ÿ’„ Fix design
๐Ÿ’„ Tweak style
5 months ago
โœจ Add flip card feature with styling and controller
Implement a flip card component for enhanced user interaction and visual appeal.
5 months ago
๐Ÿ’„ Implement code changes to enhance functionality and improve performance
5 months ago
โœจ Adding a "crazy game" because why not
5 months ago
๐Ÿ”ง Add ConquerCam Key Generator script

  • Implemented a Ruby script for generating product keys for ConquerCam.

  • Included functionality for encoding user data and generating a registration email body.

  • Added command line interface for user input with options for firstname, lastname, company, email, and comment.

  • Ensured proper handling of empty fields and provided interactive mode if no command line arguments are given.

  • Saved generated product key and associated data to a binary file named "conquercam.key".

5 months ago
โœ… Add comprehensive tests for UploadedFile, Admin::PostsController, NewsletterController, ProjectsController, and project management workflows

  • Implement validation and slug generation tests for UploadedFile model.

  • Create extensive tests for Admin::PostsController covering CRUD operations, authentication, and error handling.

  • Add tests for NewsletterController to validate email subscriptions and CORS handling.

  • Develop tests for ProjectsController to ensure proper filtering, display, and navigation of projects.

  • Establish integration tests for admin workflows including post creation, editing, and file uploads.

  • Implement blog workflow tests for reading, filtering, and RSS feed functionality.

  • Add project management tests for discovery, filtering, and status checks.

  • Enhance Project model tests with validations, tag handling, and scope functionality.

โœ… Add new Tictactoe game creation and update tests
Implement new game creation view and update related tests for
Tictactoe controller and fixtures.
โœจ Implement file upload feature and admin dashboard

  • Added a centralized admin dashboard with statistics and quick actions for managing posts, projects, and uploaded files.

  • Implemented file upload functionality with the UploadedFile model, including validations and Active Storage integration.

  • Created admin interface for managing uploaded files with full CRUD operations.

  • Introduced public route for file downloads, allowing access via unique slugs.

  • Enhanced markdown support for referencing uploaded files in posts and projects.

  • Updated routes to include new admin dashboard and uploaded files management.

  • Modified development environment to use port 3100 for action mailer.

  • Updated schema to include the new uploaded_files table.

  • Added tests and fixtures for the UploadedFile model.

5 months ago
๐Ÿ“ Update README and fix project count display
Add a link to Google Docs in the README and correct the project count
calculation in the about page.
5 months ago
๐Ÿ’„ Improve button styling and layout
Refactor button components for better visual consistency and user experience.
๐Ÿ’„ Refactor image removal handling
Update turbo stream responses for image and hero removal actions to
render appropriate partials, enhancing the user experience.
๐Ÿ”ง Add migration for hi-res project images
Implement migration to attach hi-res images and purge existing attachments.
5 months ago
โœจ Add image processing and enhance markdown support
Integrate image processing gem and update markdown helpers to support
image references in posts and projects.
5 months ago
โšก๏ธ Optimize project loading and retrieval
Preload image and hero URLs to enhance performance and reduce N+1 queries.
5 months ago
๐Ÿ’„ Refactor image URL generation
Use absolute URL helper for Open Graph and Twitter image tags.
5 months ago
๐Ÿ’„ Update featured project description
Replace project description with tagline for better clarity.
5 months ago
โœจ Refactor project retrieval logic
Update projects controller to improve project filtering by tag.
5 months ago
โœจ Implement Admin Projects Management

  • Created Admin::ProjectsController for managing projects with actions for index, show, new, edit, create, update, and destroy.

  • Added image and hero image upload functionality during project creation and updates.

  • Implemented image removal actions for both thumbnail and hero images.

  • Developed views for project forms, including error handling and image upload sections.

  • Created index, show, edit, and new views for projects with appropriate links and layout.

  • Added database migration to create projects table with necessary fields and unique slug index.

  • Populated projects table with initial data from a predefined array.

  • Implemented migration to attach images to projects from the assets folder.

  • Refactored project descriptions by renaming the existing description column to tagline and adding a new description column populated from markdown files.