Skip to main content

Contact

What are you interested in?

Software, web apps and tools

Solutions we have built

Every solution on this page is running for a client. We describe the problem it solves, its modules and workflow, and link the reference where you can see it. Anything not live is not listed here.

  • 10
    Solutions
  • 11
    References behind them
  • from CHF 10,000
    Web app / MVP
Overview

All solutions at a glance

One sentence on the problem, plus the clients we built the solution for. Solutions with their own page show architecture, modules and questions in detail.

  • Full page
    Operations software for trade and service businesses

    Custom software for trade businesses

    The quote is written in Word, jobs live in a calendar, the technician fills in a paper report, and the invoice is typed into the accounting tool once more. The same details travel through the business three or four times. Off-the-shelf trade software often covers only part of this and forces the business into workflows that are not its own.

    View solution
  • Full page
    Your own booking system on your own website

    Online reservations & restaurant management

    Guests who are already on the restaurant's website are often sent to a booking portal or told to call. When the kitchen is at full speed, the phone goes unanswered and email requests get lost in the inbox. Who was confirmed, who was turned down and which guests keep coming back is noted on scraps of paper or nowhere at all.

    Built for
    View solution
  • Profiles, rankings, search and requests to businesses

    Directory and marketplace platforms

    A platform where many businesses are found and receive requests is more than a website. It needs data import and cleanup, transparent rankings, profiles with real details, search, a reliable way to pass requests to businesses and a back office for the operator. If one of these is missing, the platform stays empty or loses credibility.

    Built for
    Read more
  • Internal tools and dashboards with live data

    Candidate reporting instead of Excel

    When reporting lives in an Excel file that is updated and merged by hand every week, it is already out of date when you open it. Staff maintain the same details in several places, management only sees figures once someone has prepared the sheet, and nobody is quite sure which version is current.

    Read more
  • Price calculators, salary calculators, bathroom planners

    Calculators & configurators as lead magnets

    Before calling, people want to know roughly what it costs or where they stand. An empty contact form does not answer that, and the phone then rings mostly with enquiries that don't fit. At the same time, each enquiry lacks the details the business needs to give an assessment.

  • A lean project manager instead of a bloated CMS

    Manage your own project references

    Completed projects are a construction or trade business's best argument, but every new reference has to go through the agency or a CMS with dozens of menus. So it gets put off, and the references page shows the same pictures for years.

    Built for
    Read more
  • Multi-step enquiries that arrive complete

    Inquiry wizards instead of a contact form

    An empty «Your message» box produces enquiries like «What does a drinks reception for our company cost?». Date, number of guests, budget or type of property are missing, and before the business can send an offer, two or three follow-up calls or emails are needed. Anyone who cannot be reached in the meantime asks the next provider.

  • Online shop for specialist retailers with a physical store

    Shopify shop alongside website and store

    A specialist retailer sells two kinds of goods: items that need advice and an appointment in store, and ready-made items that could also be bought online. Often there is either a website with no way to buy, or a shop that has nothing to do with the website in look or content. And an existing shop with hundreds of products is barely found on Google because titles, descriptions and category texts are missing or duplicated.

  • Your own images instead of stock photos

    Food photography for website and menu

    Many restaurant websites do not show their dishes at all, or they use stock photos that have nothing to do with their own kitchen. Yet guests decide with their eyes: anyone who sees a menu only as a list of text can hardly picture «Ojingeo Bokkeum». And when a link is shared on WhatsApp or social media, a random image or none at all appears.

    Built for
    Read more
  • Business apps without an app store

    Web app with push to your phone

    Important events in a business arrive by email and get lost when nobody is at a computer: a booking for tonight, a new enquiry, a job waiting for approval. A dedicated app for iPhone and Android sounds like the answer, but means app store review, two platforms and updates through the store. For a team of a few people that is often too much.

01
Profiles, rankings, search and requests to businesses

Directory and marketplace platforms

A platform where many businesses are found and receive requests is more than a website. It needs data import and cleanup, transparent rankings, profiles with real details, search, a reliable way to pass requests to businesses and a back office for the operator. If one of these is missing, the platform stays empty or loses credibility.

A directory or marketplace platform connects people searching with providers: it lists businesses by location and category, shows profiles with prices and opening hours, and forwards requests to the businesses. With CityHero we built such a platform in German and English: rankings based on an openly explained Hero Score, price comparison for dishes and services, a request assistant that reaches up to two businesses, replies from businesses without login, and an interface that AI assistants such as ChatGPT or Claude can connect to via MCP.

Modules

  • Rankings by location and category

    Businesses appear on pages per city and category, with overviews of all cities and categories. Above the lists sits a filter bar with chips, removable active filters and «reset all».

  • Openly explained ranking

    The order follows a Hero Score whose components are explained on a dedicated page: rating, number of reviews, request activity and profile quality. Paid placements are labelled as ads and are not part of the ranking.

  • Profiles with real details

    Each profile shows services, price list or menu, opening hours with an open-now status, a map, contact actions and a fact box with source and data date. A profile's FAQ is generated from its own data, not from boilerplate.

  • Search and «near me»

    Free-text search resolves terms to a city, category or business, for example «pizza» to a city's pizzerias. «Near me» pages use the visitor's location; pages with too few entries are kept out of the index.

  • Price comparison for dishes and services

    The same dish or service, such as a men's haircut, can be compared across all businesses in a city, with median, distribution and a fair-price indicator. Price pages are only indexed once enough real prices exist.

  • Request assistant and replies without login

    A three-step assistant builds the right form per category, offers only times within opening hours and sends the request to up to two businesses. Each business receives a personal link and can accept, decline or propose another time without logging in.

  • Business sign-up and portal

    Businesses sign up through an assistant or request to take over an existing listing. In the portal, with email-code sign-in, they see requests, a profile checklist and the next useful step.

  • Interface for AI assistants

    A dedicated MCP server lets assistants such as ChatGPT or Claude search businesses, fetch details and submit a request through the same path as the website. llms.txt and a WebMCP manifest complement it.

How it works

  1. 01
    Clarify data sources

    Where do businesses, opening hours and prices come from, and under what terms may they be used? At CityHero the origin and licences of the data are documented.

  2. 02
    Import and clean up

    Import scripts load the data into the database, duplicates are merged, and the operator maintains categories and forms in the back office.

  3. 03
    Pages only with substance

    Ranking, profile and price pages get their own titles and FAQ from real data. Pages with too few entries or prices stay out of the index so no thin pages are created.

  4. 04
    Send a request

    A visitor compares, opens a profile and sends a request to one or two businesses through the assistant, without registering. They receive a confirmation by email.

  5. 05
    Business replies

    The business receives the request by email with a personal link, replies without logging in, and the visitor is informed of the answer.

  6. 06
    Operator stays in control

    In the back office the operator sees all requests with delivery status per business, resends failed emails and manages businesses and ads.

Built for
Related service

A platform is a web app and starts from CHF 10,000 for a first core, such as profiles, rankings and the request path. Price comparison, portal or AI interface are added in later stages; each stage gets its own quote with a fixed scope.

02
Internal tools and dashboards with live data

Candidate reporting instead of Excel

When reporting lives in an Excel file that is updated and merged by hand every week, it is already out of date when you open it. Staff maintain the same details in several places, management only sees figures once someone has prepared the sheet, and nobody is quite sure which version is current.

An internal reporting tool replaces the Excel sheet with a web app running on live data: staff enter information once, and both staff and management immediately see the current state in a clear overview. For the recruitment agency CJ Recruitment in Zurich we built candidate reporting this way: data entry follows the previous Excel sheet, plus a pipeline per company, reports with forecast and PDF, monthly targets per person and roles that define who sees which figures. It is a tool for capturing and overseeing data, not an AI platform.

Modules

  • Data entry like the old sheet

    Data entry follows the Excel sheet the team already knew. Role, region and education come from pick lists instead of free text so everything can be analysed; a salary comparison is visible right while entering.

  • Weekly overview

    Calendar weeks as columns, rows for newly added, presented to companies, active and closed. Clicking a week shows the figures and the people behind them; a feed of recent changes runs at the top.

  • Pipeline per company

    As kanban or list, with stages from interview to contract offer and a probability per stage. Rules keep the data clean: from the first interview a company is required, a rejection needs a reason, and with several companies the right one is chosen at closing.

  • Dossier with fee per terms

    The candidate dossier brings together reporting, salary, companies and target month. The placement fee is suggested according to the fee rates in the terms and conditions and can be overridden by hand.

  • Reports with forecast and drill-down

    Periods from one week to a year, tiles for new candidates, interviews, placements and revenue, plus a chart of actual revenue and weighted forecast. Every tile opens the list behind it, and every figure comes with a short definition.

  • Report as PDF

    The report can be downloaded as a PDF in the client's design, without a print dialogue, or copied as text for an email.

  • Monthly targets per person

    Each person has a monthly target. The overview shows actual, percentage, what is still missing and how many days remain; management sees everyone on a shared scale.

  • Roles, teams and visibility

    Consultants see only their own figures and their team's, enforced on the server; management sees all departments. With «view as», management can check a person's view, and this switch is logged.

  • Demo mode for training

    A switch changes to made-up companies and candidates in a separate data area. That way the tool can be trained and demonstrated without real personal data.

How it works

  1. 01
    Read the Excel sheet

    We go through the existing sheet column by column: what is recorded, which formulas calculate and who reads which analysis.

  2. 02
    Define the figures

    Every figure gets a clear definition that later appears in the tool as a hint. That way staff and management work with the same terms.

  3. 03
    Set the roles

    Who sees only their own figures, who sees the team, who sees everything? We enforce these rules on the server, not just in the interface.

  4. 04
    Build with demo data

    The tool is built with made-up records so the team can test and give feedback early without exposing real personal data.

  5. 05
    Day to day: enter once

    Consultants add new candidates, assign companies and move the status forward directly in the list. Every change shows up in the report immediately.

  6. 06
    Day to day: management sees it live

    Management opens the report, drills down to individual candidates and downloads a PDF for the meeting when needed, without waiting for a prepared sheet.

Related service

An internal reporting tool is a web app and starts from CHF 10,000. The scope depends on how many views, roles and analyses the current Excel sheet covers; after reviewing the sheet you receive a quote.

03
Price calculators, salary calculators, bathroom planners

Calculators & configurators as lead magnets

Before calling, people want to know roughly what it costs or where they stand. An empty contact form does not answer that, and the phone then rings mostly with enquiries that don't fit. At the same time, each enquiry lacks the details the business needs to give an assessment.

A calculator on the website answers the visitor's first question straight away, for example with an indicative price, a salary band or a visualisation of their own bathroom, and then leads to an enquiry with all the details. We have built three such tools, all live: the drain cleaning price calculator for Karo Kanaltechnik, the salary calculator for CJ Recruitment, and the bathroom planner with price calculator and quote assistant for Bodin Bau. The calculation basis always comes from the business itself, and the result is shown as a range or band, not as a promise.

Modules

  • Indicative price as a range

    At Karo Kanaltechnik visitors choose the property type, drains and pipes with quantities and immediately see a price range and the approximate effort in hours. The calculation runs in the browser based on the business's own reference prices.

  • Salary band with median

    In CJ Recruitment's salary calculator visitors enter field, role, experience, education, region and salary and see their position within a band with median. Without reliable data the calculator deliberately shows no value.

  • Bathroom planner with visualisation

    In Bodin Bau's bathroom planner customers upload a photo of their bathroom, sketch the floor plan with a finger and choose tiles, flooring and fittings. An AI image model shows their own room in the new style, while the CHF range updates item by item.

  • Price calculator without contact details

    Bodin Bau's price calculator guides through eight trades, from plastering to interior finishing, in three steps and shows a range without anyone having to enter a name or email.

  • Quote assistant with pre-selection

    A four-step assistant asks for the work, property and location, timing and contact. On each service page the matching trade is pre-selected, and the origin of the enquiry is passed along.

  • Hand-off to call-back, appointment or WhatsApp

    After the result the visitor chooses the next step. At Karo that is a call-back, preferred appointment or a WhatsApp link with a pre-written message including the configuration; at CJ an in-person meeting, an online call or a call-back.

  • Funnel from start to enquiry

    In the back office the business sees how many visitors start the calculator, see a result and send an enquiry, broken down by entry point and channel. That shows where visitors drop off.

How it works

  1. 01
    Find the first question

    What do visitors want to know before they call: price, feasibility, salary level, appearance? The calculator answers exactly that one question.

  2. 02
    Calculation basis from the business

    Reference prices, hourly rates or a salary matrix come from the business. We turn them into the logic and show openly what the result is based on.

  3. 03
    An honest result

    The result is a range or band, never a fixed price. If reliable data is missing, the calculator says so instead of inventing a number.

  4. 04
    Contact details: before or after

    Together we decide whether the result is freely visible, as with Bodin's price calculator, or only after name and email, as with CJ's salary calculator.

  5. 05
    Hand-off into the enquiry

    The visitor's selection is passed on in full, by email, into the back office or as a WhatsApp message. The business does not have to ask again.

  6. 06
    Measure and refine

    The funnel shows where visitors drop off. Questions, order or wording are adjusted where most people abandon.

Related service

A calculator can be part of a website, in which case the CHF 3,000–25,000 range applies. With its own enquiry management, image generation or back-office analytics it is a web app from CHF 10,000.

04
A lean project manager instead of a bloated CMS

Manage your own project references

Completed projects are a construction or trade business's best argument, but every new reference has to go through the agency or a CMS with dozens of menus. So it gets put off, and the references page shows the same pictures for years.

A lean project manager lets the business add, categorise and publish its own references, with no CMS training. For the plastering and facade business Kigips in Gossau SG we built it this way: sign in, title, location, text, categories as chips, upload and sort images, save. The reference appears on the website immediately, with a category filter and full-screen view.

Modules

  • Protected admin area

    A dedicated area with login, sessions that expire and a brake against repeated failed attempts. It shows only what references need, no other menus.

  • Entry with category chips

    Title, location or subtitle, description and one or more categories, chosen as chips rather than from a dropdown. Editing and deleting work the same way.

  • Images without preparation

    Photos from a phone can be uploaded directly; the browser scales them down to web size before uploading. The order is set with a click, and individual images can be removed.

  • References page with filter and lightbox

    The website loads references live: image, title, location, text and category tags, filter chips by category and a full-screen view with previous and next.

  • Storage that survives updates

    References and images are stored in the database, not in a folder on the server. When the website is redeployed, nothing is lost.

How it works

  1. 01
    Define categories

    Together we define the categories visitors should filter by, usually the business's own services, such as plastering or facades.

  2. 02
    Build it with the website

    The project manager is built as part of the new website, in the same design and on the same domain.

  3. 03
    Short introduction

    One reference is added together. After that the business knows the whole flow, because there is only this one.

  4. 04
    Finish a project, add a reference

    After a job, someone in the business signs in, enters title, location and text, picks categories and uploads the photos.

  5. 05
    Live immediately

    After saving, the reference is on the website, with filter and full-screen view. Older entries are adjusted or removed when needed.

Built for
Related service

The project manager is part of the website and included in the CHF 3,000–25,000 range, depending on the overall scope. Website delivery: 2 weeks once all materials are in.

05
Multi-step enquiries that arrive complete

Inquiry wizards instead of a contact form

An empty «Your message» box produces enquiries like «What does a drinks reception for our company cost?». Date, number of guests, budget or type of property are missing, and before the business can send an offer, two or three follow-up calls or emails are needed. Anyone who cannot be reached in the meantime asks the next provider.

An inquiry wizard asks step by step for exactly the details your business needs to make an offer, mostly as tap-to-select options rather than free text. Enquiries therefore arrive complete and in the same structure, and follow-up questions become less frequent. We built such wizards for Events Züri (seven-step event enquiry), Bodin Bau (four-step quote wizard), CJ Recruitment (five-step enquiry) and DS Cleanservice (quote request with chips, photos via WhatsApp if wanted).

Modules

  • Routing by type of enquiry

    The first step clarifies who is asking and what they are looking for. At Events Züri visitors choose between private client, company, event agency and catering, then one of six goals such as a venue with catering, venue hire only or catering for an existing venue. At CJ Recruitment the wizard starts with the reason for the enquiry.

  • Occasion and guest count as choices

    Instead of free text there are chips: company event, seminar, team event, Christmas party, wedding, birthday and more, with a text field only for «Other». The guest count is set with plus and minus in steps of ten. That way the details arrive in the same format with every enquiry.

  • Custom calendar with date range

    At Events Züri visitors pick the date in a custom monthly calendar, optionally with an end date for multi-day events and an alternative date, plus start and end time in half-hour steps. The business sees immediately whether the date is feasible at all.

  • Budget and requirements

    A toggle separates budget per person from total budget. Further switches ask whether equipment (projector, sound, lighting, stage) or entertainment is needed, and chips capture venue style and location as well as the type of catering. These steps are optional so nobody drops out because of them.

  • Pre-selection per service page

    At Bodin Bau eleven trades each have their own quote page on which that trade is already selected in the wizard. The source of the enquiry, such as campaign or entry page, travels with it. Anyone who has already bought their tiles adds photos of them; they arrive at the business as attachments.

  • Photos via WhatsApp instead of an upload

    DS Cleanservice asks for service, type of property and frequency with chips. Anyone who wants to show the area to be cleaned sends photos straight to the business via a WhatsApp link. There is deliberately no file upload in that form; everyone has WhatsApp on their phone anyway.

  • Spam protection

    An invisible trap field (honeypot) detects bots. At DS Cleanservice a rate limit also caps the number of enquiries per period, at Bodin Bau a minimum completion time does the same job. No captcha that slows down real visitors.

  • Delivery by email and in the back office

    At Bodin Bau and DS Cleanservice the enquiry goes to the business by email and the sender receives a confirmation. At CJ Recruitment it is also stored in the database and appears in the back office under «Contact leads». Where enquiries go is decided per project.

How it works

  1. 01
    Collect the follow-up questions

    Together we look at your recent enquiries: which details were missing, which follow-up questions kept coming up, what do you absolutely need for an offer? This becomes the list of required and optional questions.

  2. 02
    Define steps and order

    Simple questions come first, contact details last. One question or topic per step so the wizard stays clear on a phone. Events Züri has seven steps, Bodin Bau four.

  3. 03
    Design for tapping, not typing

    Wherever possible, answers become chips, cards, counters or switches. Free text is kept for comments and special requests. The «Next» button only becomes active once a step's required details are set.

  4. 04
    Connect the delivery

    We connect the wizard to your inbox, with a confirmation to the sender and, where available, to your back office. If photos are needed, we choose between attachment and WhatsApp link.

  5. 05
    Test without real enquiries

    Every path through the wizard is played through on phone and desktop, with sample data and sent to a test address, so no fake enquiries end up with you.

  6. 06
    In operation: a visitor enquires

    The visitor chooses type, occasion, date and wishes, leaves her contact details and sees a confirmation. At Events Züri the success page states a reply within 24 to 48 hours.

  7. 07
    In operation: an offer without follow-up

    The business receives an enquiry that is always structured the same way and can propose a suitable venue, trade or service straight away. Follow-up questions are kept for genuine special cases.

Related service

An inquiry wizard is usually part of a website project in the range of CHF 3,000–25,000. If it needs its own management with database and back office, it is a web app from CHF 10,000. We define the scope after reviewing your recent enquiries.

06
Online shop for specialist retailers with a physical store

Shopify shop alongside website and store

A specialist retailer sells two kinds of goods: items that need advice and an appointment in store, and ready-made items that could also be bought online. Often there is either a website with no way to buy, or a shop that has nothing to do with the website in look or content. And an existing shop with hundreds of products is barely found on Google because titles, descriptions and category texts are missing or duplicated.

A Shopify shop adds a second way to buy to a specialist retailer's website: advice-heavy goods lead to an appointment booking, ready-made goods can be bought online directly. For The Sartorialist and JUCAN the brief covers website and Shopify shop; for Racher Papeterie we prepared an existing Shopify shop for search with structured data, individual titles and category texts. If you are planning a new shop, our Shopify agency page covers setup and costs.

Modules

  • Two ways to buy: appointment and online

    Made-to-measure clothing needs advice, branded goods do not. At The Sartorialist the website leads to booking a free measuring appointment in store, while branded goods are bought in the shop on its own subdomain. At JUCAN «Book an appointment» leads to a fitting in Zurich or St. Gallen, while the online shop next to it sells ready-to-wear and gift vouchers.

  • Website links straight to products

    Content and shop work together. On the JUCAN website the inspiration page shows styling ideas with «Buy now» links to the matching shop products, and the home page shows shop items with prices. Anyone who gets inspired is one click away from the product.

  • Payment in francs, including instalments

    The Sartorialist's shop charges in CHF and offers instalments via HeidiPay alongside PayPal. Which payment methods a shop needs depends on the basket; for expensive items, instalments are worth considering.

  • Structured data for products

    At Racher we repaired the product schema in the Shopify theme: brand, a GTIN per variant taken from the barcode and reviews from Judge.me. A store schema with founding year, address and site search was added. The per-variant GTIN is also the basis for a future shopping feed.

  • Individual titles and descriptions for every page

    Theme snippets build a short title from product core and brand and a description with the real price from each product and category page's own data. Manually maintained metafields take precedence. At Racher every page now has its own search snippet instead of a default text.

  • Category texts as buying advice

    At Racher every category with products gets a short advice text in Swiss spelling with links to related categories. Texts are written in waves, prioritised by measured search demand, and a new topic gets its own category and a local landing page, at Racher «Papeterie Zürich».

  • Working safely on a live shop

    Before any larger change we back up categories, pages, metafields and theme files as a before state with rollback instructions. Theme changes run on a copy first and only go live after checking. The checkout is left untouched.

How it works

  1. 01
    Split the range

    We clarify what is sold online and what leads to the store or to a consultation. This determines whether you need a full shop, a small shop next to the website or just appointment booking.

  2. 02
    Plan website and shop together

    Navigation, design and wording are planned so that visitors barely notice moving between website and shop. Content pages link deliberately to products and categories.

  3. 03
    Set up or take over Shopify

    For a new shop we set up theme, payment methods and shipping. For an existing shop we start with a review and a full backup.

  4. 04
    Prepare for search

    Structured data, individual titles and descriptions, category texts based on demand and one heading per page. Every change is checked against the delivered HTML after going live.

  5. 05
    Hand over to your team

    You maintain products, stock and orders in the Shopify admin yourself. Anything that can only be done in the admin, such as redirects or opening hours, we hand over as a list.

  6. 06
    In operation: the customer buys or books

    The customer finds the category through search, reads the buying advice and orders in the Shopify checkout. For advice-led goods they book an appointment instead and come to the store.

Related service

A shop falls into the same range as a website, CHF 3,000–25,000, depending on product range, languages and integrations. Shopify's and the payment providers' running costs come on top and are paid directly to them.

07
Your own images instead of stock photos

Food photography for website and menu

Many restaurant websites do not show their dishes at all, or they use stock photos that have nothing to do with their own kitchen. Yet guests decide with their eyes: anyone who sees a menu only as a list of text can hardly picture «Ojingeo Bokkeum». And when a link is shared on WhatsApp or social media, a random image or none at all appears.

Food photography with us means: we photograph your dishes, cut them out, edit them and place them where guests decide, on the home page, dish pages and in the preview images when links are shared. For Han Kitchen in Zurich-Oerlikon we created the current images of bibimbap, sushi, ojingeo bokkeum and other dishes this way. There is no separate page for this, because there is hardly any search demand for food photography in Zurich and we have just this one reference.

Modules

  • Photographing the dishes

    Dishes are photographed as they actually arrive at the table. At Han Kitchen these include bibimbap in a black bowl, a sushi bowl in red lacquer, kimchi jeyuk bokkeum and tuna tartare.

  • Cut-outs and editing

    Every dish is cut out and colour-corrected. Cut-out images can be placed on any background, for example the restaurant's brand colour, and look consistent across all pages.

  • Formats for every use

    The same photos produce square dish images, wide banners, a duo image with two bowls and a 9:16 portrait collage. For the website they are delivered as lightweight WebP files.

  • Images on the dish pages

    At Han Kitchen every dish on the menu has its own page. The photos appear where guests look up a dish and on the home page, where they get their first impression of the restaurant.

  • Preview images for sharing

    When a dish page is shared on WhatsApp, Instagram or in a message, the matching photo can appear as the preview image (Open Graph image). Han Kitchen has dedicated preview images for the key dishes and the home page.

  • Clearly separate from AI images

    The scroll animation on Han Kitchen's home page is AI-generated and not photography. We keep the two apart: photos show real dishes, AI images are labelled as such and never passed off as photos.

How it works

  1. 01
    Choose the dishes

    Together we decide which dishes to photograph: the best-known, the most photogenic and those guests would not recognise without an image. Not every dish needs its own photo.

  2. 02
    Plan the use in advance

    Before shooting, we define where the images will be used: home page, dish pages, preview images, banners, portrait format. This determines angle and distance to the plate.

  3. 03
    Shoot

    The kitchen prepares the dishes as they are served. We photograph them one by one.

  4. 04
    Cut out and edit

    The best shots are cut out, matched in colour and light and exported in the formats needed.

  5. 05
    Place and approve

    We place the images on the website, set the preview images and show you everything before going live.

Built for
Related service

We offer food photography as part of a website or content project. The price depends on the number of dishes and formats and is available on request.

08
Business apps without an app store

Web app with push to your phone

Important events in a business arrive by email and get lost when nobody is at a computer: a booking for tonight, a new enquiry, a job waiting for approval. A dedicated app for iPhone and Android sounds like the answer, but means app store review, two platforms and updates through the store. For a team of a few people that is often too much.

A web app runs in the browser, can be added to the home screen like an app as a PWA and can send push notifications to your phone, without any app store. That is how we built the «HK Reservationen» admin app for Han Kitchen, which triggers a push notification for every booking and every request. Where staff often work without signal, a native app is added: at Karo Kanaltechnik an iOS app for iPhone and iPad complements the web app; both are built and in testing.

Modules

  • Installable on the home screen

    A web app manifest and a service worker turn the management area into an app with its own icon and name. At Han Kitchen it is called «HK Reservationen» and covers only the /admin area; the public website is unaffected.

  • Push for every new event

    At Han Kitchen every new booking, contact or catering request triggers a push notification on all registered devices, for example «New booking · 4 guests». Devices whose registration has expired are removed automatically.

  • One tap opens the item

    The notification contains a link to exactly the request concerned. A tap does not land on a start page; the user can confirm or decline straight away.

  • Login and roles

    Han Kitchen's admin app is protected by email and password. At Karo the office, technicians and clients sign in with an email code and each see only their own area: office web app, team view or client portal.

  • Your own database instead of spreadsheets

    Both web apps work on their own PostgreSQL database. Data such as guests or jobs live in one place, and reports are built from the same data the team works with. At Han Kitchen all bookings can be exported as CSV for Excel.

  • Native app when offline matters

    A web app usually needs a connection. Where technicians often work without reception, Karo complements the web app with an iOS app for iPhone and iPad: changes are stored locally and sent once there is signal again. The app is built and in testing.

  • Updates without store approval

    A change to the web app reaches every device with the next deploy, without anyone installing an update. That is the most important practical difference from an app store app.

How it works

  1. 01
    Who needs to know what, and when?

    We clarify which events need to reach a phone immediately and which can wait until the next look at the list. Too many notifications get ignored, too few miss what matters.

  2. 02
    Decide between web app and native app

    If there is reliable signal, a web app with PWA and push is usually the leaner choice. If staff often work offline or rely heavily on camera and signature, we consider adding a native app, as at Karo.

  3. 03
    Build the core and test early

    We first build the views needed every day and give you early test access on your own phone.

  4. 04
    Register devices

    Each person adds the app to their home screen and allows notifications. A test button sends a sample notification so everyone can see it arrives.

  5. 05
    In operation: notification, tap, decision

    A new request comes in, the phone buzzes, one tap opens the request and the team decides right in the app. An email arrives in parallel so nothing is lost if a device is signed out.

  6. 06
    Keep developing

    New views, further roles or additional notifications are added when day-to-day work calls for them. Every change reaches all devices with the next deploy.

Related service

A web app with login, its own database and push starts from CHF 10,000. An additional native app for iPhone and iPad extends the scope; once we have clarified who needs to know what and when, you receive a quote with a fixed scope.

Next step

Your problem is not listed? Tell us about it.

In the first conversation we clarify what needs to be built and what does not. You then receive a quote with a fixed scope.

  • Web app / MVP from CHF 10,000
  • Website CHF 3,000–25,000
  • Website live 2 weeks once all materials are in