Skip to content

Changelog

New abilities, improvements and fixes, release by release.

The mouse arrives in the grid

v0.19.0
  • New Feature

    Press and drag to select a block of cells. Hold the button down and drag, the way you would in a spreadsheet, and the block grows as you move. Holding Shift while you drag extends the block you already had. Drag past the bottom or the right edge and the table scrolls to follow, faster the further out you go, and stops when you come back inside.

    • Master
    • Namelist
    • Guest list
    • Rooms
  • New Feature

    The corner of a selection can be pulled to fill. There is now a small square on the bottom-right of whatever you have picked. Pull it down or across and the values repeat into the cells you cover, with a faint outline showing where they will land before you let go. Nothing is written until you let go, so a pull that went too far costs nothing.

    • Master
    • Namelist
    • Guest list
    • Rooms
  • New Feature

    Right-click for a menu of commands. Cut, copy, paste, clear and fill down on a cell; sort, filter, hide and fit-to-contents on a column heading. Every command shows the keys that do the same thing, so the shortcuts are findable rather than something you have to be told about. It opens from the keyboard too — Shift and F10, or the menu key — and closes on Escape.

    • Master
    • Namelist
    • Guest list
    • Rooms
  • New Feature

    Double-click a column's edge to fit it to what is in it. The column widens or narrows to the longest value you can currently see. It is also in the right-click menu, as "Fit to contents".

    • Master
    • Namelist
    • Guest list
    • Rooms
  • New Feature

    Ctrl+A picks the block of cells you are standing in, and picks the whole table if you press it again. On a sheet with seventy columns the first press is almost always the one you wanted.

    • Master
    • Namelist
    • Guest list
    • Rooms
  • Bug Fix

    Dates from Excel now keep the century they were written in. A date of birth of 12-03-56 pasted or imported from a spreadsheet was being recorded as 2056 instead of 1956, without saying so. Two-digit years now read the way Excel itself reads them — 00 to 29 is this century, 30 to 99 is the last — so what you saw in the spreadsheet is what lands here. Write the year in full if you ever need a date after 2029 in shorthand. Dates already saved the old way are unchanged and may need correcting by hand.

    • Master
    • Namelist
    • Import
  • Improvement

    Pasting a date no longer fails because of the format it was written in. A column written 12-Mar-56, 12 March 1956 or Mar 12, 1956 now pastes into the sheet the same way it already imported, and a time left on the end by an export — 12/03/1956 00:00 — is dropped rather than refusing the cell. One cell it could not read used to stop the whole paste. Dates written the American way round, month first, are still refused by name rather than read backwards, because silently moving an arrival from 8 May to 5 August is worse than asking.

    • Master
    • Namelist
    • Import
  • Improvement

    Date of birth now shows its year in full. It reads 12-03-1956 rather than 12-03-56, in the sheet, in the record and in anything you copy out of it. Every other date column stays short.

    • Master
    • Namelist
  • Improvement

    A choice from a list now looks like one. Any column where you pick from a list — Status, a side of the family, a meal preference, a column you invented yourself — now shows its answer as a small tag rather than as plain text, so at a glance you can tell the values somebody picked from the ones somebody typed.

    • Namelist
    • Master

The top bar becomes the command bar

v0.18.0
  • New Feature

    The same table can now be open in two tabs at once. Use the button at the end of the tab strip — or search for "Open this screen in another tab" — and you get a second tab on the screen you are looking at. Each one remembers where it has got to: open a guest from the list in one and that tab moves to the guest while the other stays on the list, so you can keep a list open beside a record from it. Landing on a screen you already have open still just brings that tab forward, so nothing fills up on its own. The two copies do share one set of filters and one sort — those belong to the table rather than to the tab.

    • Workspace
    • Guest list
  • New Feature

    A connection meter in the top bar tells you whether it is the app or the room. Three small bars beside the search button, saying whether your connection is Strong, Fair, Weak — or Offline, which shows a red cross and a message. Hover it, or reach it with the keyboard, for the actual round-trip time. It works this out purely from how long the app's own requests are already taking, so it costs you nothing in data. If your tab has been sitting idle it says so rather than pretending the reading is current.

    • Workspace
  • Improvement

    Your open tabs now stay visible everywhere. They used to disappear the moment you opened Settings or an event's overview, and the only way back to them was the sidebar. They now live in the top bar itself, so whatever you have open is always in front of you — nothing is highlighted while you are on a screen that is not one of your tabs.

    • Workspace
  • Improvement

    The top bar is much shorter, and the row of tabs beneath it is gone. The two are now one bar holding everything you had across both, at a little over half their combined height. That gives most of a row of screen back to the tables underneath, which is where it is worth having — without crowding the tabs, the search and the buttons now sharing it.

    • Workspace
  • Improvement

    Your account moved to the bottom of the sidebar. Same menu, same profile link, theme switcher, cache refresh and sign out — now pinned to the foot of the left-hand column with your name beside it, instead of a small circle in the top right. It is in the same corner on every screen. With the sidebar hidden, bring it back to reach your account.

    • Workspace
  • New Feature

    Your saved views can now be put in order, renamed and removed from one place. Open a table's Settings and there is a Views entry holding every view that table offers. Drag them into the order you want — or move them with the arrows, which works without a mouse — and the order is the same for everybody in your company on that event. Rename one by typing over its name. Remove one without having to open it first, which is what the old button beside the tabs made you do. Add view is in there too: it is the same naming form as before, moved into the room it belongs to. Master stays where it is and cannot be renamed, moved or removed — it is ours, not something you saved.

    • Guest list
    • Master
  • Improvement

    The Settings panel is tidier and easier to shut. It has a close button in the top right now, rather than only closing on Escape or a click outside. It is also narrower, and no longer taller than the list of entries inside it — the panel used to open with a third of it blank.

    • Guest list
    • People
    • Rooms
  • Improvement

    The row of view tabs no longer changes as you move along it. A "Remove" button used to appear beside the tabs, but only when the view you wanted rid of happened to be the one you were looking at, so the strip above the table shifted about as you switched views. Removing a view is in the Settings panel now, and the tabs are only for switching.

    • Guest list
    • People
  • Bug Fix

    Saving a table arrangement as a new view works again. Choosing your columns, ordering them, naming the result and pressing Save came back with "That view couldn't be saved. Try again." every time, on Master and on every other sheet, whether or not the table was sorted. Views can be saved again, and the ones already saved are unaffected. Anything you tried to save while this was broken was never stored and needs arranging and saving once more.

    • Guest list
    • People

The table stops wobbling

v0.17.0
  • Bug Fix

    The top row of a table no longer lurches when you scrub quickly left and right. Flicking a table sideways on a trackpad left the first row a fraction of a second behind the rest, so it appeared to slide against the row below it and the headings above it every time you changed direction. The table now tells the browser in advance that the headings and the rows are all going to move, so it prepares them once instead of deciding again on every frame and running out of time. On every table — Master, the Namelist, Rooms — not only the wide ones.

    • Guest list
    • Rooms
    • People
  • Breaking Change

    Rows can no longer be dragged into an order of your own. The grip beside each tick box has gone, along with the keyboard shortcut for nudging a row up or down. Sorting by a column works exactly as before. Any order you had already arranged is still stored and is still the order your lists appear in — nothing has been shuffled or lost — but it can't be changed from the table for now.

    • Guest list
    • Rooms
    • People

The Namelist is a list of names

v0.16.0
  • Breaking Change

    The Namelist is now a fixed list of twelve columns. Ref, Sub-ref, Addressed as, Title, First name, Middle name, Last name, Name, Family ID, Phone, Second phone and Email — in that order, with Ref leading and the full name sitting after the three parts it's built from. Everything to do with a particular wedding — the tick-box column for each function, your rounds of calls, and any column you added yourself — has moved to the Master sheet, where it's created, shown and edited. Nothing has been deleted: it's all still recorded against the same people, one screen away. An event with eleven functions no longer puts eleven tick boxes on the list of names.

    • Guest list
    • People
  • New Feature

    How to reach someone now lives with their name. Addressed as, Second phone and Email are columns of the Namelist, beside the phone number that was always there. Everything you'd already filled in has come across, and they still show on the Master sheet exactly as before.

    • People
  • Breaking Change

    The Guest ID column has gone. It held the id from your own spreadsheet, and it's no longer kept. A file that came out of this app still matches back exactly — that's the EEC ID column on the far right, which is unchanged. A spreadsheet that has never been through the app can now only be matched by name. Saved export layouts that included Guest ID will come back one column shorter; they aren't broken and don't need re-making.

    • Guest list
    • Import
    • Export
  • Bug Fix

    A guest added straight into the table now saves. Adding a person from the Namelist by typing into a blank row always failed with "That person couldn't be added" — adding one from their own page worked. Fixed.

    • Guest list
  • Bug Fix

    A new blank row scrolls into view. Inserting a row at the end of a long list left it below the fold, so it looked like nothing had happened. The table now goes to it, and the cursor lands in First name — the one thing the row needs before it becomes a person.

    • Guest list
    • Rooms
  • New Feature

    Drag a row to move it up or down the list. Grab the handle on the left of any row and drop it where you want it. Tick several rows first and they travel together, and Alt+Shift with the up or down arrow does the same thing without the mouse. On the Master sheet this sets the order your guests are read in everywhere — the rooming and travel sheets follow it too. It's only offered while the whole list is showing in its own order: sorted or filtered, "the row above" isn't really the row above, so the handle steps aside and tells you what to clear.

    • Guest list
    • Rooms
  • New Feature

    Add and delete rows from the keyboard. Ctrl and plus adds a row, Ctrl and minus deletes the ticked ones — or the rows you've selected if nothing's ticked. It still asks before anything goes.

    • Guest list
    • Rooms
  • New Feature

    You can see what you've copied. A copied block now gets the moving dashed outline a spreadsheet gives it, so there's no more wondering whether Ctrl+C did anything. Escape clears it, and so does the next change you make.

    • Guest list
  • Improvement

    Text pasted out of Word arrives clean. Non-breaking spaces, curly apostrophes and the invisible characters Word and Excel leave behind used to come along for the ride — which is why a name you could see perfectly well sometimes couldn't be found by searching for it. They're put right on the way in now. Hindi, Marathi and other Indic spellings are left exactly as typed.

    • Guest list
    • People
  • Improvement

    Spaces at the start and end of a cell are trimmed as you type, not silently on the next reload. A cell that looks the same as its neighbour now is the same as its neighbour.

    • Guest list
    • People
  • Improvement

    Typing on a German, Polish or French keyboard works. Characters that need the AltGr key — the @ in an email address, several letters in Polish — were being swallowed by the table instead of typed into the cell.

    • Guest list
    • People
  • Improvement

    Half-typed values are no longer flagged as mistakes. The table waits until you leave a cell before telling you something's wrong, because a date you're halfway through typing isn't a bad date.

    • Guest list
  • Improvement

    The app respects "reduce motion". If your computer is set to play fewer animations, the app now honours it everywhere — apart from the spinner that tells you something is still loading, which would be misleading if it stopped.

    • Whole app
  • Bug Fix

    Copying now says something when your browser won't allow it. Some browsers, and any page not on a secure connection, block clipboard access. That used to fail in complete silence. It now falls back to an older method and, if that's blocked too, tells you what happened.

    • Guest list
    • Changelog

Master first, and a table that scrolls like a spreadsheet

v0.15.0
  • Breaking Change

    Master is the only view a new event ships with. Guestlist, Crewlist, Rooming and Travel are gone. They were our guesses at which columns you want, and you can now narrow, hide, sort and save your own in a few seconds — so the screen starts at everything and you fill in the rest. Views you had already saved are untouched, and an old link to a removed view opens Master rather than failing.

    • Guest list
  • Breaking Change

    Guest Communications is now RSVP & Acco, and the People screen is now Master. The web address is unchanged, so every link and bookmark still works.

    • Guest list
  • Improvement

    The event picker moved into the sidebar, under Events, where the rest of the navigation lives. It only appears there — on the company's own screens there is no event to switch.

    • Navigation
  • Improvement

    A module's screens are in the sidebar, not a strip of tabs. Master, Rooms and Interactions sit under RSVP & Acco and fold away; clicking RSVP & Acco itself opens its overview. One place answers "where am I" instead of two.

    • Navigation
  • Improvement

    Big tables scroll and arrow around like a spreadsheet. Scrolling stepped, cells went blank on the way past, and holding an arrow key down lagged behind you. The table was rebuilding every row and every cell on screen for every frame and every keystroke, and rebuilding every column's filter list — reading every row in the table, for every heading — as it went. It now redraws only the lines that actually changed: two rows for an arrow key instead of twenty-six, none at all when you move sideways, and a filter's list is counted when you open the filter.

    • Guest list
    • People
    • Rooms
    • Namelist
  • Improvement

    No more flicker while a long list scrolls. Faint stripes used to appear under the rows whenever the table was moving, to say "still catching up", and flashed in and out with every nudge of the wheel. The table simply keeps up now, so there is nothing to say.

    • Guest list
    • People
    • Rooms
  • Improvement

    One scroll bar per screen, not two. A table capped itself at part of the window, so the toolbar, the table and the pager together were taller than the frame — and the page grew its own scroll bar beside the table's. The table now takes exactly the room the page has left.

    • Guest list
    • People
    • Rooms
  • Improvement

    Rows per page can be set to All. Alongside 50, 100 and 250.

    • Guest list
    • People
    • Rooms
  • Improvement

    Columns can be dragged into place. Moving the fiftieth column to the front took forty-nine presses of an arrow. Drag it instead, with a line showing where it will land. The arrows stay, because a drag cannot be done from a keyboard.

    • Guest list
    • People
    • Rooms
  • Bug Fix

    Pinning a column now actually pins it — and it stays put. It was recorded and then ignored: the table was rebuilt from your remembered layout each time, and that rebuild carried your column widths but dropped the list of pinned columns, so the control worked, the pin was saved, and nothing on screen ever moved. Once the columns did hold their place they drifted as you scrolled sideways and snapped back, while the tick boxes right beside them never moved — because we were holding them still by hand, always a fraction behind the scroll. The browser holds them still now, the same way it holds the tick boxes, and they sit on the same shade as the column headings, so what is frozen looks frozen and the table reads as sliding underneath it.

    • Guest list
    • People
    • Rooms
  • Bug Fix

    Nothing shows through a pinned column. The columns held still are drawn over the ones sliding underneath, and cells are see-through, so two sets of words were legible on top of each other. They now sit on a solid panel that carries the row's own shading — including on the row your cursor is in, which was the last line still showing through.

    • Guest list
    • People
    • Rooms
  • Bug Fix

    A column's filter list narrows with the others. Filtering by status now shortens the hotels the next menu offers, instead of every menu always listing everything. A column's own filter is still ignored when building its list, so you can always widen it again.

    • Guest list
    • People
    • Rooms
  • Bug Fix

    The filter menu stays open while you scroll its list. Arrowing down a long list of values scrolled it one row and then shut the menu, which made any column with more values than fit unusable from the keyboard.

    • Guest list
    • People
    • Rooms

Everything about a table, in one place

v0.14.0
  • New Feature

    One place to arrange a table. The button above every table that used to only tick columns on and off is now Settings, and it holds everything about how the table is set up: which presentation it is drawn in, which columns show, what it is narrowed to, what order it is in, how the columns are arranged, and saving all of that as a named view. It opens beside the button rather than over the table, so you can watch the table change as you change it.

    • Guest list
    • People
    • Rooms
  • New Feature

    You can finally see what a table is narrowed to. Filtering a column has always worked from the small arrow in its heading — but there was nowhere that told you what was already in force. Open Settings and the Filter section lists every narrowing on the table in plain words, "Status is Confirmed or Invited", and lets you change or remove any of them. On a seventy-column sheet that was previously a question you could only answer by opening seventy menus.

    • Guest list
    • People
    • Rooms
  • New Feature

    Sorting by several columns is something you can see. The Sort section lists the rules in order, most important first, and lets you add one, reverse it, drag it above another or take it away. The limit goes from three columns to fifteen.

    • Guest list
    • People
    • Rooms
  • New Feature

    Columns can be pinned. Hold the guest's name still at the left edge while everything else scrolls past it — on the Master sheet, the difference between reading a row of dates and reading a row of dates belonging to nobody. Up to four at once.

    • Guest list
    • People
    • Rooms
  • New Feature

    A guest list can be read as a plain list. The Layout section switches between the full spreadsheet and a roomier line per person — easier to read, though nothing can be typed into it. Your choice is remembered per table.

    • Guest list
  • New Feature

    Rename one of your own columns from the table it is in. Spot that a field is misnamed while you are looking at it, and change its name, its type or its list of choices there — instead of going to the company settings screen to find it.

    • Guest list
    • Settings
  • Improvement

    Columns can be reordered from the keyboard. Dragging a heading has always worked for a mouse; there was no way to do it without one.

    • Guest list
    • People
    • Rooms
  • Improvement

    A view is saved from where you arranged it. The "Save this view" button beside the tabs is gone; saving is now the last entry in Settings, next to the controls that did the arranging. The view tabs themselves have moved to the start of the toolbar.

    • Guest list
  • Breaking Change

    A new saved view belongs to the event you made it on. Views used to be the whole company's on every event, which meant "Sangeet hotel handover" turned up on every wedding. From now on a view you save is that event's. Views saved before this change are untouched and still appear everywhere. The trade is real: a view you want on every wedding has to be made on each one.

    • Guest list

The table catches up with the people using it

v0.13.0
  • New Feature

    A table opens where you left it. The cursor goes back to the same guest and the same column, and the list scrolls to them — alongside the columns, widths, filters and order it already remembered. It goes by who you were on rather than by which line number, so a guest added overnight does not put you somewhere else. Signing out forgets it, like everything else that names a person.

    • Guest list
    • People
    • Rooms
  • Improvement

    The row and column you are in are highlighted. At seventy columns, that is the difference between reading a row and losing your place halfway along it.

    • Guest list
    • People
    • Rooms
  • Improvement

    Sorting no longer loses your place. Re-sorting a list used to leave the cursor on whatever line number it happened to be on — a different person entirely. It now follows the row you were reading, even onto another page.

    • Guest list
    • People
    • Rooms
  • Bug Fix

    Rows no longer vanish under your cursor while you are typing. Setting a status on a list filtered to "no status" used to make each row disappear the moment you answered it, so the next row jumped up and took the keystroke meant for its neighbour. Rows you have edited now stay put until you next change the filter.

    • Guest list
    • People
    • Rooms
  • Improvement

    Scrolling fast no longer looks like missing data. A part of a long list the table has not drawn yet now reads as lines still arriving, rather than as empty cells.

    • Guest list
    • People
    • Rooms
  • New Feature

    Ask a column a question, instead of ticking values off a list. "Who arrives before the 12th" is now something a filter can answer. Open a column's filter and pick what the rows have to satisfy — contains, is, is not or is empty for text; is before, is after or is between for a date; greater than or less than for a number. The tick list is still there and still the default; a column uses one or the other.

    • Guest list
    • People
    • Rooms
  • New Feature

    Filter a date column by a period, not by typing two dates. Today, tomorrow, the next 7 days, the next 30, this month, next month, the past, or today onwards. A view saved as "arriving in the next 7 days" still means next week whenever it is opened — two typed dates would be a fortnight stale by then.

    • Guest list
    • Rooms
  • Improvement

    A filtered view is still something you can send to a colleague. A condition travels in the web address alongside the values you ticked, and can be saved into a view like anything else.

    • Guest list
  • Bug Fix

    Saving a view keeps every column you sorted by, not just the first. A view saved while sorted by hotel and room came back with no sort at all.

    • Guest list
  • New Feature

    Sort by more than one column. A rooming list is read hotel, then room — shift-click a second heading to add it as a tie-breaker, and a small number beside each arrow says which comes first. Up to three.

    • Guest list
    • People
    • Rooms
  • Bug Fix

    Dates sort by the day now, not by how the date is written. Sorting an arrival column used to put the 1st of December before the 2nd of November, because it compared the words on screen.

    • Guest list
    • Rooms
  • Improvement

    Your own lists sort in the order you put them in. Sorting by Status gives Invited, Confirmed, Declined — the order set on the Backend screen — instead of alphabetical. Built-in lists like Type still sort by their words.

    • Guest list
    • People
    • Backend
  • Improvement

    Empty cells sort to the bottom, whichever way you sort. They used to pile up at the top of an ascending sort, which put every unanswered row in front of the answers.

    • Guest list
    • People
    • Rooms
  • New Feature

    Undo goes back as far as you need it to. It used to step back one change and then stop. It now walks back through everything you have done to a table this session, and the button says what it would take back — "Undo paste of 40 cells", not just "Undo". Ctrl+Z steps back; Ctrl+Shift+Z and Ctrl+Y put it forward again. Undoing asks the server to write the old values, so a cell a colleague has changed since is refused and tells you which one — and it cannot bring back a deleted row, which is what Trash is for.

    • Guest list
    • People
    • Rooms
  • New Feature

    You see your colleague's work as it happens. Two people on one guest list no longer have to reload to find out what the other one did — the Namelist, the People table, the interactions log and both room tables now update themselves. A row you are typing in is never moved or removed underneath you: the change waits until you leave the cell.

    • Guest list
    • People
    • Rooms
    • Logs

Logs you can actually read

v0.12.0
  • Improvement

    The logs say what actually happened, in plain English. "Renamed something on a Backend list" now reads "Renamed 'Invited' to 'Confirmed' on Guest statuses". Every entry names the thing it happened to — the guest, the property, the column, the event — instead of describing it vaguely.

    • Logs
    • Audit trail
  • Bug Fix

    No more strings of gibberish in the Changes tab. A status, a room, a hotel or a pickup point used to show as a long code like 0f3a91c4-…. They show the name now. Dates read as "13 Nov 2026", yes/no reads as Yes or No, and a blank says "Not set".

    • Logs
  • Improvement

    The Changes tab says whose record changed. It used to say "Person · Status" with no way to tell which of four hundred guests it meant. It now leads with the name — "Anita Sharma — stay 1 · RSVP status".

    • Logs
  • Improvement

    Adding or removing a record reads as a summary, not a dump. It used to print every column of the record, commas and codes included. Now it's the name plus the two or three facts that identify it.

    • Logs
  • New Feature

    The Activity log is a proper table now. Same toolbar as every other table in the app: search it, hide columns you don't need, tick rows and export them to a spreadsheet.

    • Logs
    • Audit trail
  • Improvement

    The company-wide audit trail says which event each entry belongs to, so five events' worth of activity in one list is finally readable. Sign-ins, invitations and account changes are marked company-wide.

    • Audit trail
  • Improvement

    A thing that's been deleted says so rather than falling back to a code. Something sitting in Trash still shows its name.

    • Logs
  • Bug Fix

    Adding a stay recorded the wrong thing, so that entry could never be named on the Logs screen. Removing a stay and deleting a logged conversation recorded no detail at all, and now record who it was about.

    • Logs

Deleting stops destroying, and there's a Trash

v0.11.0
  • New Feature

    Deleting no longer destroys — there's a Trash. Anything you delete goes to Trash for 30 days and can be put back exactly as it was, with everything that went with it. Find it under Settings → Trash.

    • Trash
    • Guest list
    • Rooms
  • Improvement

    Trash lists things, not rows. Deleting one guest removes their entries, their profile and every conversation logged against them — Trash shows that as one line, and restoring it brings all of them back together. Filter by event, by who deleted it, or by what kind of thing it was.

    • Trash
  • Improvement

    The confirmation says where things go. Instead of "this can't be undone", it now says you can get it back from Trash for the next 30 days — which is true. Inside Trash, where deleting really is permanent, it says so plainly.

    • Trash
    • Guest list
  • Improvement

    A room number is free again the moment you delete the room. Deleting room 214 lets you add a new room 214 straight away, even though the old one is still sitting in Trash.

    • Rooms
  • Policy

    Only an owner can delete something permanently, or empty the trash. Anybody who can delete can also put things back.

    • Trash
  • Policy

    Deleted things are destroyed automatically after 30 days. If you need something gone sooner, an owner can delete it permanently from Trash and it goes immediately.

    • Trash
  • Improvement

    Re-importing a file won't quietly resurrect somebody you deleted. They're added as a new person instead, and the import summary says so before you commit — with a pointer to Trash if putting them back is what you meant.

    • Import
  • New Feature

    You can delete rows now, from every table that has them. Tick what you want gone, press the bin above the table, and read what it says before confirming. It works on the Namelist, an event's guest sheet, the interactions log, an event's rooms and a property's rooms — one row or fifty at a time.

    • Guest list
    • Namelist
    • Rooms
    • Interactions
  • Improvement

    The confirmation tells you what you are about to lose. It names the rows, and it says what goes with them — how many entries a person has, how many logged conversations, how many events a room is contracted at. If some rows can't go, it stays open and says which ones and why, instead of leaving you to work it out by reloading.

    • Guest list
    • Rooms
  • Improvement

    Removing a room is no longer hidden inside the Add menu. It has the bin, like every other table.

    • Rooms
  • Policy

    Events still can't be deleted — they're archived. The bin on the events list says so and points you at archiving. The audit trail and the change history can't be deleted either: a record of what happened isn't something anybody gets to edit away.

    • Events
    • Logs

Every view on the guest sheet remembers how you left it

v0.10.1
  • Bug Fix

    The guest sheet keeps how you left each view. Move columns around on the Master sheet, narrow the Guestlist to one status, sort the Crewlist — switch to another view and back, and it is all still there. Each view remembers its own arrangement, so tidying up the Master sheet never disturbs your Guestlist. Sorting a column no longer quietly drops a view's own narrowing either: the Crewlist stays the crew list.

    • Guest Communications
    • Guest list
  • Improvement

    A way back on the guest sheet. When a view is showing fewer people than it has, the note above the table now comes with Reset view — one press puts that view back the way it is defined, without leaving it.

    • Guest Communications

One screen for every list the app offers you

v0.10.0
  • New Feature

    Every list the app offers you now has one place to change it — a Backend screen, like the one in your workbooks. Guest statuses and your company’s own fields used to be two screens; functions, rounds of contact and travel locations were three more inside each event; and around a dozen other lists — occupancy codes, billing instructions, room statuses, query and follow-up statuses, titles, genders, which side somebody is invited by — could not be changed at all. All of them are sections of one screen now: Backend under Settings for what your company sets once, and Backend inside an event for what belongs to that wedding alone. Add to a list, rename an entry, move it up or down, remove it. Renaming reaches everything already recorded, and every entry says how many rows are using it before you touch it.

    • Settings
    • Backend
  • New Feature

    Occupancy codes, billing instructions and room statuses are yours to name. They were fixed lists the app refused to let you change, so a company using different codes on its rooming lists had to work around them. They are now on your Backend screen, seeded with the ones you already had. Whatever you write there is what goes to the hotel.

    • Backend
    • Rooming
  • New Feature

    Query and follow-up statuses are yours to name too, and the counts keep up. When you add or rename one, you say what it means — still open, sitting with somebody else, or done — so renaming “Closed” to “Resolved” changes what the screen says without breaking the open-query and overdue figures on the Overview.

    • Backend
    • Interactions
  • New Feature

    Each property keeps its own words for its own building. Blocks, categories, levels, bed types and views are now lists on that property’s screen, beside its rooms — because a category code at one hotel means nothing at the next. Every value your rooms already carried is on the list, and those five columns are picked from it rather than typed, so the same wing cannot end up spelled three ways. If a property sends a file with a category you have never had, it lands on the room and joins the list.

    • Properties
    • Rooms
  • New Feature

    Titles, genders and which side a guest is invited by are picked from a list. They were typed by hand, which is how “Mr”, “Mr.” and “MR” became three answers to one question. Everything you had already recorded is on the list to start with.

    • Guest list
    • Backend
  • New Feature

    A list column you add yourself gets its choices on the Backend screen. Add a “Meal preference” column to an event and its choices appear there the moment it exists, with nothing to set up. Renaming a choice carries every person recorded as it.

    • Backend
    • Guest list
  • Improvement

    Transport’s lists are ready before Transport is. Movement modes, vehicle types, duty codes and whether a transfer is required are on the company Backend now. Each one says plainly that nothing reads it yet — what you set is saved and waiting for the module.

    • Backend
  • Bug Fix

    The changelog page shows its releases again. On some setups it rendered as an empty page: the file was being read correctly and every release heading was being missed.

    • Changelog
  • Improvement

    Adding rooms to an event now starts with the property. Pick the hotel, then its rooms — narrowed by block, category and floor, with “pick these” taking whatever is left, so contracting a whole wing is two clicks. Before this it was one list holding every room your company has, which was already long at three properties and unusable at ten. You can still tick rooms at one hotel, switch to another and add them all together in one go, with one tag on the batch.

    • Rooms
  • Improvement

    The Rooms screen opens faster. It used to load every room your company has, every time, just in case you opened the add-rooms box. It now loads only the list of properties and asks for a property’s rooms when you pick one.

    • Rooms
  • Bug Fix

    The hotel picker on the guest sheets now offers only the properties that event has rooms at. It was offering every property your company has ever worked with, so it was possible to put a guest at a hotel the event had contracted nothing at — and then have no room to allocate them. A property one of that event’s guests is already recorded at stays on the list, so nothing already entered disappears.

    • Guest list
    • Rooming
  • Bug Fix

    Adding somebody who is already on your list now works properly. Press Add on any People view and you get a searchable list of the names you already have. Pick one, and they get another entry — a second arrival and departure, a second hotel, a room of its own — which you fill in across the row. Before this, Add asked for a name and quietly created a second person who happened to be called the same thing, so a guest who went home and came back for the reception ended up on your list twice as two different people. Adding somebody genuinely new is still done on the Namelist, where names live.

    • Guest list
    • People
  • New Feature

    A person’s entries fold together. On Rooming, Travel and the Master sheet — the sheets that show a row per trip — somebody with more than one entry now shows as a single line saying how many, with an arrow to open it. A four-hundred-row rooming list opens short instead of making one guest look like three different people. Anybody who comes once, which is nearly everybody, looks exactly as they did before. What you send a hotel is unchanged: an export is still one line per entry, whatever is folded on screen.

    • Guest list
    • Rooming
  • Improvement

    On the sheets that show a row per trip, a person’s own details can only be changed on their first entry. Their name, phone, family and contact details read the same on every one of their rows, because they are the same person — so changing one used to mean changing all of them without saying so. Now those cells are greyed on any entry added afterwards, and say where the change belongs. Everything about the trip itself — dates, hotel, room, who they share with, flights — is typed in as freely as ever, on every row.

    • Guest list
    • Rooming
  • Bug Fix

    A view you save off the Master sheet now opens the way you left it. Saved views recorded which columns you were looking at but not what kind of sheet it was, so a view saved from Rooming, Travel or Master came back as a guest list and its trip columns quietly disappeared. Views you saved before this keep working exactly as they did.

    • Guest list
    • Views
  • Improvement

    Two spreadsheet leftovers removed from the tables. The “Stays” count on the Guestlist and Crewlist, and the “Stay id” column on the Master sheet. Both existed because a spreadsheet has no other way to say that several rows belong to one person — this does, and now shows it by folding them together. Your guest ids are untouched: those are yours, they still arrive with an import, and they are still what a re-import matches on.

    • Guest list
    • People

Every table stays how you left it

v0.9.0
  • New Feature

    Every table now stays how you left it. Widen a column, hide the ones you don’t use, sort it your way, set it to show 250 rows a page — close the laptop, come back tomorrow, and it is exactly as you left it. This works per person and per table, so the Namelist for one wedding keeps its own shape, your colleague on the same computer keeps theirs, and a link somebody sends you still opens the view they meant rather than yours.

    • Guest list
    • People
    • Rooms
  • Improvement

    A table that isn’t showing everything now says so. Because screens remember how you left them, a filter you set weeks ago could otherwise quietly still be on. Any table keeping rows off the screen prints a line above itself saying what is applied and how many rows it is hiding — “Filtered by Status — showing 11 of 812” — with a Reset view button beside it that puts the table back the way it ships. A table you left searched opens with the search box showing, rather than hiding it collapsed.

    • Guest list
    • People
    • Rooms
  • Policy

    Signing out clears what you had lists filtered and searched to. Those can contain guests’ and families’ names, and they shouldn’t be left behind on a venue laptop somebody else picks up. How the table was laid out — column widths, which columns show, rows per page — is kept, since it says nothing about anyone.

    • Account
    • Sign in
  • Bug Fix

    Signing out works again. Choosing “Sign out” from the account menu did nothing at all — the menu closed and you stayed signed in, with no error to explain it. It now ends your session and returns you to the sign-in page. Signing out from Settings → Account was never affected.

    • Account
    • Sign in

A property’s room list, brought in from a spreadsheet

v0.8.0
  • New Feature

    You can bring a property’s rooms in from a spreadsheet instead of adding them one at a time. Open a property under Properties and choose “Import from a spreadsheet”. Drop the hotel’s own file in — in whatever shape they sent it — and the app matches their column names to ours, shows you what it found, and tells you exactly what it is about to do before it does any of it: how many rooms are new, how many are corrections, and how many were already right. Your file is read on your own machine and nothing is sent anywhere until you say so.

    • Rooms
    • Import
  • New Feature

    Sending the same list again corrects it; it never doubles it. Rooms are matched by their number, so a hotel’s corrected file updates what you already have rather than creating a second copy of the building. Rooms you hold that the file doesn’t mention are left exactly as they are — nothing is ever removed by an import.

    • Rooms
    • Import
  • New Feature

    A blank template, if you’d rather send the hotel something to fill in. It comes with the right columns in the right order and a second sheet explaining what each one is for and what it will accept. Using it is optional — their own file works just as well.

    • Rooms
    • Import
  • Improvement

    A long import now shows how far it has got, and roughly how much longer it needs. Where you used to press a button and wait at a spinner, you now see how many rooms have been saved out of how many, a bar that moves, and — once there has been enough of it to judge by — a rough time. You can stop a long one, and it says plainly that stopping leaves what is already saved in place.

    • Import
  • Improvement

    An amenity nobody has answered now reads as blank. It used to say “Not said”, in every cell of every room a hotel hasn’t told us about — which on a newly loaded property is most of them. An empty cell already means nobody has filled it in, everywhere else in the app. You can still pick it deliberately, and it is still kept apart from a definite No.

    • Rooms

Clicks answered straight away

v0.7.3
  • Improvement

    Screens open faster still, and a click is answered immediately. Two things changed. The app used to ask “who is signed in?” two or three separate times over the network to draw one screen; it now checks that once, on the spot, without asking anyone. And where a screen used to fetch the same thing several times over — one screen was looking up the same event four times to draw itself once — it now asks once and reuses the answer.

    • Navigation
  • Improvement

    Clicking a link no longer looks like it did nothing. The app used to leave the screen you were on in place until the next one was completely ready, so a click appeared to be ignored. Now the shape of the screen you asked for appears at once and fills in.

    • Navigation

The app runs next door to its data now

v0.7.2
  • Bug Fix

    Every screen opens about six times faster. The app’s code was running on servers in Washington DC while its database sits in Mumbai, so every question a screen asked — who you are, which event, which guests — crossed the planet and came back before the page could be drawn. A screen needs about a dozen of those, which is where the second-and-a-bit before anything appeared was going. The app now runs in Mumbai, beside the data it reads. Nothing about the app changed; it simply stopped waiting.

    • Navigation
    • Guest list

Offline, and large imports

v0.7.1
  • Bug Fix

    Importing a large spreadsheet no longer hangs on the loading spinner. A workbook big enough to be worth importing is unpacked in the background rather than on the screen’s own thread, and the deployed app’s security rules were quietly refusing to let that background work start — so the file was read, nothing failed visibly, and the spinner simply never stopped. Small files were unaffected, which is why it only showed up with real client lists.

    • Import
  • Bug Fix

    The app installs and works offline again. The offline copy of the app had been failing to start on the deployed site since it was first put there, which meant no installing it to a home screen and nothing available without a connection.

    • Offline

Every table is typed into

v0.7.0
  • Improvement

    If it can be changed at all, you can now type it. Every table in the app works the way a spreadsheet does: a contact detail, a phone number, a point of contact, whether somebody’s documents are in — all of it is typed straight into the cell, from whichever view you happen to have open, and pasted a column at a time out of the client’s file. The panel on the right is still the good way to fill somebody in from scratch; it is no longer the only way. The same value is checked exactly as the form checks it, and a bad one in a batch of fifty is refused on its own so the other forty-nine still land.

    • Guest list
    • People
  • Improvement

    The Interactions log can be worked in, not just read. Thirteen of its fifteen columns take a keystroke, so closing out a morning of follow-ups is thirty cells rather than thirty windows. The rules that keep the log honest still hold: a query cannot be closed until the answer is recorded, and unticking “Query” clears what was asked along with it.

    • Guest list
  • Improvement

    A cell that refuses now says why. Instead of nothing happening when you press Enter, a greyed cell tells you what it is worked out from, or where the value is changed instead — “changed on the property’s own screen”, “worked out from the date of birth”. Screen readers are told the same thing.

    • Guest list
    • Rooms
  • Improvement

    The RSVP status left the Namelist. The Namelist is the list of names every part of the app shares, and whether somebody has said yes is a question the guest list asks — a company doing transport only would have been looking at a column nobody could ever fill. It is on the People screen, where it is changed.

    • Namelist
    • Guest list
  • Improvement

    “Household” is now “Family ID”. The same field, called the same thing everywhere it appears — on the table, on the form that edits it, in the importer and in the export picker. The counts on the Namelist and the event dashboard read “families” to match. Files you have already mapped are unaffected: the column in an exported file is still family_id.

    • Namelist
  • Improvement

    Two columns left the Namelist. The guest id and the count of stays are gone from the list of names. Every person already has a guest id, mapped when they were imported and never typed, so a column of them sat beside the names they identify saying nothing; how many times somebody comes and goes belongs to the guest list rather than to the shared list of names. Both are still on the People screen, where they answer a question somebody is asking.

    • Namelist
    • Guest list

Guest Communications, end to end

v0.6.0
  • New Feature

    An Overview that counts the whole event. Invited, confirmed and still to answer; where the answers stand and where the documents have got to; who is bringing whom; who is invited to each function; who is holding each open question; and the event day by day — arriving, leaving, how many people are in the house and how many rooms that holds. It opens with what needs chasing, and says nothing at all when nothing does.

    • Guest list
  • New Feature

    Say how long the drive takes, once. Set up the airports, stations and pickup points an event uses, give each one how long before the flight somebody has to leave the hotel, and every travel row works out its own departure time. It is never typed and never stored, so moving a flight moves it too.

    • Guest list
  • New Feature

    A flight date fills in the day somebody is here. Enter the ticket and the arrival day follows it, and keeps following while the room is still being planned. Once the rooming list has gone to the hotel it stops — nothing is rewritten under anybody — and the Overview puts the two dates in front of you to settle.

    • Guest list
    • Rooms
  • Improvement

    The Master sheet carries both reference numbers. The guest id and the stay id are on every row and cannot be typed over, so a sheet you export, work on in Excel and bring back lands on the right people.

    • Guest list
  • New Feature

    Travel goes on the same rows as everything else. A Travel view sits beside Guestlist, Crewlist and Rooming: arrival on the left, departure on the right, and the same ten things on each side — the day it was confirmed, the date, the time, the flight or train, the city, the ticket, the charter seat, whether we are moving them, where the car meets or leaves them, and a remark. One row per stay, so a guest who leaves and comes back has an honest set of legs for each trip.

    • Guest list
  • New Feature

    Find the missing return leg in one click. Filter the departure date column by blanks and you have everybody with no way home; the same on arrival for everybody with no way in.

    • Guest list
  • Improvement

    Dates and times read the way you say them. Every date in every table now shows as dd-mm-yy and every time as a 24-hour hh:mm — in the cells, in the filter menus, in what you copy and in what you export, so they all agree. Pasting back in still works, whether the dates come with dashes, slashes or dots.

    • Guest list
    • Rooms
    • Namelist
  • New Feature

    A Master view, with every column switched on. It sits beside Guestlist, Crewlist and Rooming, and it is the sheet to open when a narrower view has hidden the thing you are looking for — nobody is filtered out of it and nothing is left off it, your own fields included. From there the column menu takes columns away, which is the easy direction. One row per stay, so a guest who moves hotels mid-wedding is two honest rows.

    • Guest list
  • Bug Fix

    A hidden column can be brought back again. Unticking a column in the column menu hid it, but ticking it again did nothing at all — the only way back was to reload the page or switch views. It now returns beside the column it belongs with rather than at the far right.

    • Guest list
    • Rooms
  • Improvement

    The column menu fits on the screen. With seventy columns the list ran off the bottom and took Done and Show all with it. It now scrolls inside its own box, and says how many columns are on so you don’t have to scroll to the end to count.

    • Guest list
    • Rooms
  • Improvement

    Getting to a property’s rooms is a button. Each property in your settings now offers Rooms outright — or Add rooms when none are loaded yet — instead of leaving it to the property’s name being a link.

    • Rooms
  • New Feature

    Put people in rooms, on a Rooming view of your guest list. Pick which property somebody is at, which room they have, when they check in and out, whether they are single or sharing, how many extra beds, who pays, and what the hotel said back. Pick a room and its block, category, floor and bed type follow — shown, never typed. One row per stay, so a guest who moves hotels mid-wedding is two rows that both tell the truth.

    • Guest list
    • Rooms
  • New Feature

    The sharing list writes itself. Give two people the same sharing reference, or the same room, and each row names who they are with. The room count follows the same rule: one of them counts the room and the rest show a dash, so a double room can never be billed twice. Nothing to keep in step by hand.

    • Guest list
    • Rooms
  • New Feature

    Every event gets its own Rooms screen. Contract rooms from your inventory — a whole wing at a time, tagged for the bride’s side or the groom’s in one go — and see who is in each one. Rooms the event already has are shown greyed out rather than hidden, so nobody adds 214 twice. Release a room and it goes back to your inventory, never deleted; a room somebody is in cannot be released at all.

    • Rooms
  • Improvement

    The module’s tabs say what needs attention. Open questions show in red, because somebody is waiting on an answer. Free rooms show plainly beside Rooms, because thirty free rooms in March is not a problem.

    • Guest list
    • Rooms
  • New Feature

    Your properties and their rooms, recorded once. Add the hotels you work with, then load each one’s rooms — the number, the block, the category, the floor, the bed, the view, the size, and the twelve things that decide who can go where: extra bed, living room, powder room, kitchen, balcony, private pool, bidet, jacuzzi, bathtub, locker, accessible and interconnecting. You do it once. A hotel’s rooms are the same next year, so every event afterwards picks from what is already there instead of re-typing it.

    • Settings
    • Rooms
  • Improvement

    The room table is one you type into. Two hundred rooms is not a form — it is a spreadsheet. Fill a block down forty rows, tick a balcony across a whole wing, paste a section straight in, and undo the lot if it went in wrong.

    • Rooms
  • Improvement

    “Nobody has said” is a real answer, not a blank. Every amenity has three states rather than two: yes, no, and nobody has checked. It matters most for the accessible column — a room nobody has looked at should never read as a room that has been ruled out.

    • Rooms
  • New Feature

    Mark who is invited to which function, and see it at a glance. Every function you set up for an event now comes with a tick box on every guest, and an "Invited to" column that gathers them into one readable line — "Mehendi · Sangeet". Tick a block of forty people into the sangeet in one go, or filter the list down to everybody coming to it. Renaming a function renames the column with it, and nothing already ticked is lost.

    • Guest Communications
    • Guest list
  • New Feature

    Rounds of contact: what has gone out, and to whom. Set up the messages you send the whole list — the save-the-date, the wardrobe planner, the final invite — and each becomes a date column on every guest. Mark a whole household off at once, fill a date down a column, and filter for "everybody who has not had the final invite". Fifteen of the commonest are one press away if you want a starting point; rename or remove any of them, or type your own.

    • Guest Communications
    • Events
  • New Feature

    Every call and message, logged where you already are. Pick somebody on the People screen and a small box opens: when, how, what it was about, and one line for what was said. Press Enter and it is saved without leaving the list. Everything logged shows up on the person's record, so the next person to speak to them can see what was said last.

    • Guest Communications
  • New Feature

    The Interactions screen, and the queries nobody has answered yet. The whole log in one table you can sort, narrow and search — including the text of what was said. If a call raised something somebody owes an answer on, tick "this raised a query" and it joins a short list of open work, with who is holding it, when it is needed, and how many days it has been sitting. Three ready-made narrowings sit above the table: everything, the open queries, and the follow-ups due.

    • Guest Communications
  • Improvement

    Guest Communications has a bar across the top. People and Interactions, with the number of open queries carried on the tab, so you can see there is work waiting without opening the screen to find out.

    • Guest Communications
  • Bug Fix

    Your own extra columns were invisible, and had been for two days. Any field a company added for itself — a dietary note, a table number — stopped appearing anywhere on 18 August. Nothing was lost: everything recorded against them was in the database the whole time and is back now.

    • Guest list
    • Settings
  • Bug Fix

    Creating a new company failed outright. Signing up a brand-new company stopped working on 19 August. Companies that already existed were unaffected.

    • Sign in
  • Breaking Change

    A name is three fields now, not one. First, middle and last, with the whole name assembled for you and shown wherever a list is read down. Indian wedding lists routinely carry two people with identical first and last names distinguished only by the middle — one name field silently merged them into a single row, and the headcount was wrong from that moment on. Only the first name is required: plenty of crew are recorded as one word, and inventing a surname for them would be worse than leaving it blank. Names already in the app were split for you, and the original is kept exactly as it was in case a split needs correcting.

    • Guest list
    • People
  • New Feature

    Tell us when people can be here, and dates stop being typed. An event now has a window — the first day anyone arrives and the last day anyone leaves — which is wider than the event itself, because guests land early and leave the morning after. Once it is set, every arrival and departure is picked from a list of those days instead of typed into a date box. A mistyped date is invisible until a car goes to an airport on the wrong day. If you have not set a window, nothing changes and nothing is blocked.

    • Events
    • People
  • Improvement

    Nothing rearranges your list behind your back. The namelist used to sort itself alphabetically. It now keeps the order it is in — the order a file arrived in, or the order you put it in — and a new person lands at the end, where you just added them. Sorting is still one click on any column heading; it is just yours to ask for.

    • Guest list
  • Improvement

    A status belongs to a stay, not to a person. Somebody who leaves and comes back can now answer differently for each trip, which is what the workbooks have always recorded. Their status is set on the stay itself, and the guest list shows the first one.

    • Guest list
    • People
  • Improvement

    No more Families screen, and no more Functions screen. Both were pages for something that turned out to be a single column. A household is now just a label you type on a person — anyone carrying the same one is in the same household, and there is nothing to create first. An event's functions are five names configured beside your status list.

    • Guest list
    • Events
  • Improvement

    The importer understands names either way round. A file with one name column is split for you; a file that already has first and last name columns is read straight in. Whichever it is, the file's original wording is kept, and your rows come in the order the file had them.

    • Import
  • New Feature

    Guest Communications has a screen. Switching the module on used to reveal a page saying it was coming. It now opens People — the same names your Namelist holds, with what this module collects about them beside each one, and a switcher across the top for looking at them different ways.

    • Guest Communications
    • People
  • New Feature

    Guestlist and Crewlist, without anybody filtering anything. One mixed spreadsheet produces both. They are not two lists: they are the same names shown with different columns, so a change made in one is a change in the other. Adding somebody while you are on the Crewlist adds a crew member, not a guest.

    • Guest Communications
  • New Feature

    Save the view you are looking at. Arrange the columns, narrow the list, then give it a name — “hotel handover”, “what the client sees” — and it joins the switcher for everybody in your company, on every event. Rooming, Travel and Master arrive as you get the columns they need.

    • Guest Communications
  • New Feature

    A record behind every name. Click any row and the panel shows that person in sections, each one saying which part of the app owns it — so you know whether changing a phone number here changes it everywhere. The parts this module owns have an Edit button; the parts Core owns are edited on the Namelist, and it says so.

    • Guest Communications
    • People
  • New Feature

    The details a guest list actually needs. How somebody should be addressed (which is often not their name), a second phone, the assistant or parent who answers for them, their date of birth, gender and how far along their documents are. Their age is worked out for you, as of the day the event starts — a typed-in age is wrong within a year, and the age that matters is the one at the wedding, not today.

    • Guest Communications
  • Improvement

    Mark fifty people at once, again. Status is editable straight in the table on the People screen, so a whole household can be marked in one go. Everything else is edited on the record, where each field has room for its name and a line explaining it — a passport number typed into a narrow unlabelled cell is a passport number typed wrong.

    • Guest Communications
  • Improvement

    Functions have a home again. They lost their screen when they stopped being a table; they are now set up under an event’s Settings, beside its dates. A function is a name and nothing else — no date, no venue — because that is all anybody ever filled in.

    • Events
    • Settings
  • Bug Fix

    The search palette shows names again. Results from the Namelist were coming through blank, and their status was missing beside them. Both were reading a column that had been renamed.

    • Search
    • People

The Namelist as a spreadsheet, and a workspace around it

v0.5.0
  • New Feature

    Ten kinds of column, not four. Alongside text, dates, yes/no ticks and pick-from-a-list, a column can now be a number — which sorts as one, so 9 comes before 10 instead of after it — a time of day for pickups and call times, a paragraph for notes, a phone number, an email address, or a link. Each gets the right keypad on a phone and the right kind of checking, and in the details panel a phone number is tappable, an address is writable and a link is followable. Email addresses are checked loosely on purpose: a validator strict enough to refuse a real address mid-paste would cost you far more than a typo does.

    • Guest list
    • Settings
  • New Feature

    Add a column, for this event only. Insert › Insert column asks what the column is called and what kind of answers it holds — text, a date, a yes/no tick, or a list of choices — and adds it to the right-hand end of the table. It belongs to the event you are in, so a “Sangeet seating” column invented for one wedding does not turn up on next month’s conference. If it is a question you ask at every event, one tick makes it so, and it joins the company’s list in Settings. Columns kept while importing a spreadsheet belong to that event too.

    • Guest list
    • Settings
  • New Feature

    Add a guest by typing straight into the list. Insert › Insert row puts a blank line at the bottom of the Namelist and drops your cursor into it — no form, no leaving the page. Fill it in the way you would a spreadsheet. Nothing is saved until you give the person a name, and the moment you do, everything else you typed into that line is saved with them. Changed your mind? Press Escape and the line disappears, having written nothing.

    • Guest list
  • New Feature

    One Insert button, for everything a table can have added to it. The button at the end of every table’s toolbar now says “Insert” with a small arrow. On the Namelist it opens a short list: insert a row, insert a column, or import from Excel. On the events list and the team roster, where there is only one thing to add, it still goes straight there.

    • Guest list
    • Navigation
  • Improvement

    Importing happens where your list is. Bringing a spreadsheet in used to mean leaving the table and going to a page of its own, reached from the sidebar or a button above the list. It now opens in a window over the Namelist, so you never lose your place, and the list behind it fills in as soon as you are done. Every step of the import is unchanged.

    • Import
  • Improvement

    Two fewer buttons above the Namelist. “Families” went, because it is a row in the sidebar and always has been. “Import” went into the Insert menu. Export stays where it was — it is the one that lets you choose columns and save layouts.

    • Guest list
  • Improvement

    People is now the Namelist. The list of guests, crew, artists and staff an event runs on is called what the people who use it call it — in the sidebar, on its tab, at the top of the page and in its web address. Nothing about it works differently. The new name matters most for what is coming next: transport, accommodation and RSVP sheets will each draw their names straight from the Namelist, so a spelling corrected once is corrected everywhere.

    • Guest list
    • Navigation
  • Improvement

    The row of open tabs stays where it belongs. Tabs are for the lists inside an event — the Namelist, Families, Functions — so that is where the bar appears now. An event’s overview and its settings screens no longer keep a tab of their own, and the bar is out of the way entirely while you are on them, giving those pages the full height of the window back. Your open tabs are not lost when it disappears; they are waiting the moment you open a list again.

    • Navigation
  • Improvement

    A tidier way to close a tab. The cross now sits inside the tab itself rather than beside it, and only appears when you point at that tab — so a row of open lists reads as names rather than a row of crosses. Tabbing to it on a keyboard brings it into view the same way.

    • Navigation
  • New Feature

    Filter a column the way you do in Excel. Every column heading has a small arrow on it. Click it — or press Alt and the down arrow, as in a spreadsheet — and a panel opens under that column: sort it either way, search the values, and tick the ones you want to keep. Nothing changes until you press Apply, and a column you have narrowed is marked so a short list is never mistaken for the whole guest list. Sorting happens in that same panel rather than by clicking a heading — press the direction it is already sorted in to get back to the order the list came in. People with nothing filled in have their own entry, so “show me everyone with no status yet” is finally a thing you can ask for.

    • Guest list
  • New Feature

    Tick boxes down the left of the guest list. Pick a few people, or hold Shift to pick everything between two, or take the whole page in one click. The count appears above the table, and the download button sends only the people you ticked. On a keyboard, Shift and the space bar tick the row you are on; Ctrl and the space bar picks the whole column.

    • Guest list
  • New Feature

    Pages, at the bottom of the guest list. “1–100 of 2,431”, with arrows to the next and the last, and a choice of how many rows a page holds. It is there so you know where you are in eight hundred guests rather than falling down an endless list.

    • Guest list
  • New Feature

    The same row of buttons above the guest list as everywhere else — search, choose columns, undo, download, add a person. Ctrl and Z now undoes a change from anywhere in the table, which is what most people press first anyway.

    • Guest list
  • Bug Fix

    You can drag a column edge to resize it. The handle was there and did nothing at all; it now sits on the line it controls, is wide enough to grab, and the column actually changes width.

    • Guest list
  • Bug Fix

    Editing a cell no longer draws a smaller box inside it, and what you typed stays put instead of flicking back to the old value for a second before settling. Rows are taller and their text sits in the middle rather than pressed against the top.

    • Guest list
  • Bug Fix

    Scrollbars follow your theme. A dark screen had a white scrollbar down the side of every table. The whole app has also stopped bouncing when a list reaches its end.

    • Design
  • Improvement

    The search and filter row above the guest list has gone. Searching moved into the row of buttons above the table, and filtering by type or status is now done from those columns’ own menus — both work on the list already in front of you, without reloading the page.

    • Guest list
    • People
  • Improvement

    No column is pinned in place any more. The name column used to stay put while the others slid underneath it, which meant a column you widened on a laptop was quietly a different width on a phone. Choosing which columns to freeze will come back as something you decide.

    • Guest list
  • Improvement

    The Database screen has been removed from the event menu. It was a placeholder marked “Soon” for something with no date on it; it will come back when there is a screen behind it.

    • Navigation
  • New Feature

    Two tabs at the top of the sidebar: Home and Events. Home is your company — your events list and your team. Events is whatever event you have open, with all of its screens. Each one takes you there: press Home and you land on your home screen, press Events and you land on an event. The tab you are on is always the part of the app you are looking at, so the sidebar can never be showing one thing while the screen shows another.

    • Navigation
  • New Feature

    Search inside the event menu. The menu at the top that names your open event now has a box to type in. Start typing and the list narrows to what you meant — useful at three events, necessary at sixty. It matches the same way the Ctrl and K search box does, so you only have to learn it once.

    • Events
    • Navigation
  • New Feature

    An events screen that waits for you to choose. Pressing Events with nothing open lands on a screen that says so and points at the event menu above it, rather than quietly sending you to Home. If you have not made an event yet, it says that instead and offers to start one, because being told to pick from an empty list helps nobody.

    • Events
    • Navigation
  • Improvement

    A tidier sidebar. Your company’s name and the small + button have come out of it: the name is already on your Home screen, and new events are made from the button there or by pressing Ctrl and K. It is a little narrower than it was, and the app’s name at the top now reads like a name rather than a label.

    • Navigation
    • Design
  • Improvement

    The button that hides the sidebar now sits on the sidebar. It is at the top right of it, on the edge that folds away, rather than out in the bar along the top. Once the sidebar is hidden the button is back in the top bar, where it is the one thing that can bring it back.

    • Navigation
    • Design
  • New Feature

    Take your list back out as a spreadsheet. Pick the columns you want, put them in the order you want, and download — as Excel or CSV. Every hotel, airline and client asks for something different, so save the arrangement as a layout and it’s waiting for you at the next event rather than rebuilt from scratch. Export from the People screen and whatever you had filtered comes with you.

    • Guest list
    • Export
  • New Feature

    Files you export can be edited and sent straight back. Every file carries our own ID column on the far right, marked do not edit. Change what you like in Excel, import it again, and every row matches the person it came from exactly — no questions, no guessing. Leave the column out for a file going to a client that’s never coming back.

    • Export
    • Import
  • New Feature

    Choose the shape of the file, and hear about it when the shape can’t hold everything. One row per stay keeps everything. One row per person with arrival and departure columns reads better — but only fits two stays, so if anyone has more we tell you who, before you download, and warn you not to edit that file and send it back.

    • Export
  • Improvement

    Excel by default, because CSV mangles phone numbers. Opening a CSV in Excel turns a ten-digit mobile number into 9.87654E+09 and drops leading zeros. Excel files keep every cell exactly as it is. CSV is still there if you need it, with a note about what it does.

    • Export
  • New Feature

    Switch modules on and off, per event. Guest Communications, Accommodation and Transport each turn on for the event that needs them. A module that’s off doesn’t sit greyed out — its screens simply aren’t there, so a transport-only job never shows you an RSVP screen. Switching one off hides its screens and deletes nothing: your people, families and stays belong to the event, so turn it back on whenever and everything is where you left it.

    • Events
    • Navigation
  • New Feature

    Bring your guest list in from a spreadsheet. Drop your own Excel or CSV file in and it becomes a real guest list — no template to fill in, no re-typing. We read the file back to you first, guess which of your columns is which (it already knows the names your files use), and let you correct anything before a single row is saved. A column we have no home for can be kept as one of your own fields with one click, or ignored.

    • Guest list
    • Import
  • New Feature

    A guest who leaves and comes back stays one person. Files that repeat the same guest on two rows — one per stay — are read as one person with two visits, not as two guests. That mistake quietly doubles the headcount in almost half of all events and looks completely normal on screen. Files that keep a household on one line, with the spouse and companions in their own columns, are read too: map the repeated columns once and every repeat follows.

    • Guest list
    • Import
  • New Feature

    See exactly what an import will change, before it changes anything. Ahead of saving, the app tells you how many people it matched to ones you already have, how many are new, how many are in the app but missing from this file, and which rows it genuinely cannot identify — and it asks about those rather than guessing. Rows it can't read are listed with the row number and the reason. Importing never deletes anybody.

    • Guest list
    • Import
  • Policy

    Your spreadsheet is read in your own browser and is never uploaded. Nothing about your guests leaves your computer until you have seen what will change and approved it, and an import you abandon leaves no copy of the file anywhere.

    • Import
    • Privacy
  • New Feature

    Type a value once, set every cell you picked. In the guest table, pick a block of cells, type what they should say, and hold Ctrl while you press Enter — every cell you picked takes it. Setting two hundred people to the same table number is one thing typed rather than two hundred. The block stays picked so you can see what changed, and one press of Undo takes the whole lot back. Cells that can't be changed are left alone; if one of the columns you picked can't hold what you typed, nothing changes at all and it says which column and why, rather than filling in half.

    • Guest list
  • New Feature

    Every table has a toolbar now. Above each list sits its name and the things you'd expect to be able to do with it: search it, choose which columns you can see, and export what's on screen as a spreadsheet file. Add New sits there too, so there's one place to add an event, invite a colleague, or create whatever that table holds — rather than hunting for a button that moved between screens.

    • Events
    • Team
    • Navigation
  • New Feature

    Pick out several rows at once. Tick boxes down the left of every list, with one in the header that takes the lot. Export narrows to just what you've ticked, so getting five guests out of a list of four hundred is two clicks. Escape clears your selection.

    • Events
    • Team
  • New Feature

    Every event keeps its own log. Open an event, go to its settings, and Logs tells you what has happened inside that event: who added whom, who changed what, and when. A second tab goes finer still — which field changed, what it was before, what it is now, and who changed it, which is what you need when two people edited the same guest and you're working out which change stuck. The company-wide record still lives in workspace settings and still shows everything, sign-ins and invitations included.

    • Events
    • Audit trail
  • Improvement

    Search or export an event's history like any other table. The field-by-field history is a normal list, so it comes with the same toolbar — find every change to one guest, or export a stretch of it to send to somebody.

    • Audit trail
  • Improvement

    An event's logs and access live inside its settings. They are about how an event is run rather than who is coming to it, so they moved under a cog at the bottom of the panel — the same place your company's own settings have always been. The event's screens above it are now just the things it contains.

    • Events
    • Navigation
  • Improvement

    Column headings stopped shouting. They read as ordinary words now — Start Date, not START DATE.

    • Events
    • Team
  • Improvement

    Inviting a colleague opens when you ask for it. The invitation form used to sit open below the team list on every visit; it is now a button in the toolbar that opens the form when you want it.

    • Team
  • Bug Fix

    The record of a new function now names the function. Adding one to an event recorded the event instead, so the history read as though the event itself had been created again.

    • Audit trail
    • Events
  • Improvement

    The changelog is worth reading now. Releases run down the page newest first, each with its title, the day it shipped and its version held beside it as you scroll. Every line carries a coloured label — new feature, improvement, bug fix, breaking change or policy — so you can see what a release brought without reading all of it, and spot the ones that change something you already rely on. Any release can be linked to directly, and the whole thing copies as plain text in one click.

    • Changelog
  • New Feature

    Switch between events from the top of the screen. Open an event and its name appears in the bar across the top. Click it for the list of your other events and pick one — and you land on the same screen you were already looking at, so comparing one event's guest list against another's is one click, not a trip back to a menu.

    • Events
    • Navigation
  • Improvement

    The panel on the left is about where you actually are. At Home it shows your company: Home, Team, and your workspace settings. Open an event and it swaps to that event's own screens — its overview, people, families, functions, and the ones still being built — so you are never reading past nine other events to find the one in front of you.

    • Navigation
  • New Feature

    Everyone in your company has a page. Team lists who is here, their email, their role and how long they've been around, with the invitation form on the same screen. It used to be buried at the bottom of your account settings, which is the wrong place for something that isn't about you.

    • Team
  • Improvement

    Your events read like a table. Event, start date, end date and client, in named columns you can scan down instead of two lines of grey text per event. Clicking an event opens it straight away.

    • Events
  • New Feature

    Find anything with one keystroke. Ctrl+K (⌘K on a Mac) opens a search box over whatever you are doing. With a guest list open it searches that list first — type a few letters of a name and press Enter — and one press of Tab switches it to searching everything: your events, every screen inside them, Home, Team and your settings. It always says which of the two it is looking at.

    • Search
    • Navigation
  • New Feature

    Look at one guest without leaving the list. Click any row and a details panel on the right shows that person — their status, their contact details, your own fields, how many stays they have — while the table stays exactly where it was. Move down the rows and it keeps up instantly. The panel opens and closes from the top bar and stays as you left it.

    • Guest list
    • People
  • New Feature

    Every event has its own overview. Open an event and you see how it is actually going: how many people and families, how many of them leave and come back (counted once each, not twice), how they are spread across your statuses, and — the number that catches mistakes — how many nobody has marked either way yet.

    • Events
  • Improvement

    One home for your company. The old dashboard that never had much to say and the separate events list are now a single screen: your events, active and archived, with the counts across the top.

    • Home
    • Events
  • Improvement

    Functions have a screen of their own. The occasions inside an event are no longer buried below the event's details — they sit in the sidebar with everything else.

    • Functions
    • Navigation
  • New Feature

    Hold several tables open at once. Opening a guest list puts a tab in a strip below the top bar, and opening another puts a second one next to it — from the same event or a different one. Switching between them is instant, so checking one event's list against another's no longer means going back and forth through menus. Your open tabs are still there tomorrow morning, and the strip disappears entirely when nothing is open.

    • Guest list
    • Navigation
  • Improvement

    Everything in an event is one click away. The panel down the left holds every screen the event you are in has, so you move between its people, its families and its functions without going through a menu in between.

    • Navigation
  • Improvement

    The app fills your screen. Screens are no longer squeezed into a narrow column down the middle of the display: the guest list now uses the whole width of whatever you are working on, while forms and text stay at a comfortable reading width.

    • Design
  • Improvement

    It works on a phone. The panel slides over the page when you need it and gets out of the way when you don't, so nothing is out of reach on a small screen.

    • Mobile
    • Navigation
  • Improvement

    Change the look without leaving what you're doing. Light, dark or match your device — all three are in the account menu next to your name, alongside your profile and the way out.

    • Settings
    • Design
  • New Feature

    A way to fix the app when it's showing you something old. "Refresh & clear cache" in the account menu throws away what the app has stored on your device and loads it fresh. Your settings are kept.

    • Offline
  • Improvement

    Every button says what it does. Hover — or tab to — any of the small icon buttons and a label explains it, including the ones that are switched off, which now say why.

    • Design
  • New Feature

    Your guest list is a spreadsheet now. It opens as a dense table — every person a row, every field a column — instead of a stack of cards you had to click into one at a time. It is the same guest list, shown the way you already think about it.

    • Guest list
  • New Feature

    Type straight into a cell. Click one and start typing to replace it, or press Enter to correct what's there. Tab moves to the next cell, so a whole person can be filled in without ever reaching for the mouse.

    • Guest list
  • New Feature

    Change fifty people at once. Select a block and clear it, or fill the top row down the rest. Every one of those changes is recorded against the person individually, exactly as if you had made them one at a time — so your history is still complete afterwards.

    • Guest list
  • New Feature

    Paste in from Excel. Copy a block out of your spreadsheet and paste it straight into the grid. If it doesn't fit, or it carries a status that isn't one of yours, nothing is pasted and the app tells you why — rather than landing half of it and leaving you to work out what was dropped.

    • Guest list
  • New Feature

    Take a bulk change back. After a paste or a fill you get an Undo that restores every cell it touched.

    • Guest list
  • New Feature

    Choose your columns, and move them. Show and hide columns, drag them into the order you want, and drag their edges to resize — or do all three from the keyboard alone. Your own custom fields are columns like any other.

    • Guest list
    • Custom fields
  • New Feature

    Sort and filter, and send the result to someone. Sort by any column, and filter under several at once. What you're looking at is in the web address, so a colleague opening your link sees exactly your view.

    • Guest list
    • Search
  • New Feature

    If two of you edit the same person, neither change disappears. Editing different details of the same guest both save. Editing the same detail tells the second person rather than quietly overwriting the first.

    • Guest list
    • People
  • Improvement

    It stays fast with thousands of guests, and works on a phone — the name column stays put while the rest scrolls under it.

    • Guest list
    • Mobile

Events, functions, and your guest list

v0.4.0
  • New Feature

    Your guest list lives here now. Add a person to an event — a guest, a crew member, an artist or a driver — with their name, title, phone, and whose side they're on. Only the name is needed to start.

    • Guest list
    • People
  • New Feature

    A guest who leaves and comes back is one guest. Record a return visit and the app keeps both stays against the same person. Your headcount says one person, because that's what it is. In a spreadsheet this is two rows, and counting them as two people is how a headcount quietly doubles.

    • People
  • New Feature

    Group people into families. A household is its own thing, with everyone in it linked together. Disbanding one keeps every person in it — they simply stop belonging to a family. Crew and individuals belong to none, which is normal.

    • Families
    • People
  • New Feature

    Find anyone fast. Search by name, phone, reference or sub-reference, and narrow by kind of person or by status. What you're looking at is in the web address, so you can bookmark it or send it to a colleague.

    • Search
    • People
  • New Feature

    Mark people with your own words. Every company starts with a status list that says more than yes or no — including whether someone's travel details are complete — and you can rename, add to or remove from it in Settings. Renaming one updates everybody already marked with it. If people are marked with a status, the app won't let you delete it out from under them.

    • Statuses
    • Settings
  • New Feature

    Keep the columns we didn't think of. Add your own fields — text, a date, a yes/no, or a pick-from-a-list — in Settings, and they appear on every person's page and in your exports like any other field.

    • Custom fields
    • Settings
  • New Feature

    Everything about one person, on one page: their household, everyone else in it, their stays, their status and your own fields.

    • People
  • New Feature

    You can create an event. A wedding, a conference, a launch — give it a name and it exists. The client and the dates are optional, because plenty of events are booked before anyone knows whose they are or when they'll be. Your events are listed on their own page, newest first.

    • Events
  • New Feature

    Every event holds its functions — the mehendi, the sangeet, the reception. Add them with a time and a venue, or leave those blank and fill them in later; either way they stay in the running order you put them in. Editing one opens where you left it, and removing one asks first.

    • Functions
  • New Feature

    Times are your times. A function set for 7pm reads back as 7pm, not as whatever that is in another part of the world.

    • Functions
  • New Feature

    Switch between events without going back to the list, once you have more than one to switch between.

    • Events
    • Navigation
  • New Feature

    Finished with an event? Archive it. It moves out of the way rather than being deleted — everything in it stays exactly as it was, still readable and still editable, and you can bring it back whenever you like. Nothing in the app deletes an event.

    • Events
  • New Feature

    Every change is now recorded field by field — what it was, what it became, who changed it and when. You won't see this yet; it's there so that when ground teams start working offline, two people editing the same guest at once can't quietly overwrite each other.

    • Audit trail

Accounts, and a home page that says what we're building

v0.3.0
  • New Feature

    You can see the password you're typing. Every password field now has a show/hide button, so a password that arrived by email can actually be typed on a phone. It starts hidden, and it's never remembered.

    • Account
    • Design
  • New Feature

    The app warns you when Caps Lock is on while you're typing a password.

    • Account
  • Improvement

    Password rules tick off as you type instead of only telling you after you've pressed the button — how long it needs to be, and whether your two entries match. The button stays inactive until both are satisfied.

    • Account
  • Improvement

    Change your password without leaving Settings. It used to send you off to a separate screen and back again.

    • Account
    • Settings
  • Improvement

    "Save changes" is only available when you've actually changed something, and the page tells you when you have unsaved edits.

    • Settings
  • Improvement

    Confirmations appear near what you just did and clear themselves, rather than as a panel at the top of a page you may have scrolled past.

    • Design
  • Improvement

    You can tell who has actually turned up. Someone who's been invited but never signed in is now marked "Pending", and their row says "Invited" rather than implying they've joined.

    • Team
    • Account
  • Improvement

    The audit trail reads in plain time — "20 minutes ago", "yesterday" — with the exact timestamp still there when you hover over it.

    • Audit trail
  • New Feature

    You can now have an account. Sign in with an email address and a password, from a laptop or a phone, and stay signed in so you're not asked again every visit. Forgotten your password? Ask for a reset link from the sign-in page and set a new one yourself, without contacting anyone.

    • Account
  • New Feature

    Your company has its own private space. Everything in the app now belongs to one company, and one company can never see or touch another's — that's enforced by the database itself, not just by what the screens choose to show you. There's nothing in that space yet: guests, events, rooms and vehicles come next.

    • Security
  • New Feature

    Invite a colleague. From Settings → Account, send an invitation to an email address. They get a message, choose their own password, and land in your company alongside you. The same page lists everyone who's already there.

    • Team
    • Account
  • New Feature

    See and change your own account details — your name, your password — and sign out from the header on any screen.

    • Account
  • New Feature

    A record of who did what, and when. Settings → Audit trail shows every sign-in, sign-out, invitation, password change and account edit at your company, newest first. Nothing on it can be edited or deleted, by anyone.

    • Audit trail
  • Policy

    There's no sign-up form, on purpose. We set each company up by hand, so every early customer gets a real conversation rather than a web form. The sign-in page says so, and points you at the early-access form instead.

    • Account
    • Marketing site
  • Breaking Change

    Settings, and everything else that isn't the home page, the changelog or the legal pages, now requires signing in.

    • Security
    • Navigation
  • Improvement

    The home page now describes what we're actually building. It used to promise that your spreadsheet stayed in charge and that your data would move to your own database — neither of which is the plan any more. The page now leads with the real idea: one record per guest, with their travel, room, car and every conversation attached, instead of the same person retyped across eleven tabs.

    • Marketing site
  • New Feature

    New on the page: the three modules you can buy separately (guest communications, hospitality, logistics), the interaction history that keeps every conversation rather than just the last one, how the app works on a phone at a venue with no signal, and a plain statement of what "you always hold a complete copy" does and doesn't mean.

    • Marketing site
  • Bug Fix

    The early-access form now reaches a real inbox. It previously opened an email to a placeholder address, so anyone who filled it in reached nobody.

    • Marketing site
  • Policy

    The Privacy Policy now explains what happens when you use that form — it opens your own email app rather than sending anything to us, and we only hold what you actively choose to send.

    • Privacy
  • Bug Fix

    Delete buttons were hard to read in dark mode. The red fill behind the white label was far too pale, well below the accessibility standard for readable text. It's now a deeper red in both light and dark.

    • Design
  • Improvement

    Notices and alerts are calmer — a quiet panel with a coloured icon, rather than the whole box being tinted red, green or blue. Each type still has its own icon shape, so they remain distinguishable without relying on colour.

    • Design

First public-facing release

v0.2.0
  • Improvement

    A single, sharper look across the whole app. Every screen — the home page, Settings, and the Changelog, Privacy Policy and Terms pages — now shares one tighter, more precise design instead of two different styles. Buttons, boxes and menus are more compact, edges are crisper, and text sits closer together, so there's less scrolling and more on screen at once. If you'd prefer it roomier, the Density setting in Preferences scales the whole app up.

    • Design
  • Bug Fix

    Every page now has the same header and footer. Settings, the Changelog, the Privacy Policy and the Terms pages previously had neither, so there was no way back to the home page from them without using the browser's back button.

    • Design
    • Navigation
  • Improvement

    Your chosen accent colour is now used more selectively — for links, highlights, tick boxes and the outline that shows what you've selected with the keyboard — rather than filling buttons.

    • Design
    • Settings
  • New Feature

    New homepage: replaced the placeholder "app is ready" screen with a real marketing page explaining what the app does, who it's for, and how it keeps your data yours. It now opens with the point that matters most — you keep the spreadsheet you already have, and nothing gets migrated — walks through how it works, shows what the app actually looks like, answers the questions most people ask before they get in touch, and lets you request early access by leaving your email rather than composing one from scratch. (This describes the product as designed; sign-up isn't live yet, so requesting access opens a pre-filled email for you to send.)

    • Marketing site
  • New Feature

    Personalize how the app looks and behaves, from a new Settings page: choose a Light, Dark, or "match my device" theme; pick an accent color from a curated palette; adjust the overall size of text and controls; choose whether opening the app takes you to the home screen or straight to Settings; and see a reference of keyboard shortcuts (once real shortcuts exist). Your choices are remembered on this device.

    • Settings
    • Design
  • Improvement

    A cleaner, more polished look across the whole app — softer rounded corners, more consistent spacing and colors, and a design that feels closer to a modern, minimal, Apple-style app.

    • Design
  • New Feature

    Added Changelog, Privacy Policy, and Terms of Service pages, linked from the homepage.

    • Changelog
    • Privacy
  • New Feature

    Set up the base application: an installable, offline-capable app (PWA), ready to connect to a Supabase backend once configured. Established baseline security protections (content security policy, HSTS, clickjacking protection), automated testing, and continuous integration.

    • Offline
    • Security