Internal company platform

A platform I built on my own, from the idea to deployment: 1:1 meetings and people development, shift schedules, tasks, office screens, parking, meeting rooms and a helpdesk report. Sign-in with the company account, data on the company's server.

EmploymentInternal platform

A project done as part of my employment. It is not an InfinityInbay commission.

Type
Internal platform
Engagement
Employment
When
Now, being rolled out
My role
All of it, on my own
Technologies
Python, Django, JavaScript, MySQL, MS SQL, Active Directory, Windows Server
Team meetings view: summary figures above a table of people. Personal data blurred.
Screenshot with test data.

Context and problem

The company got by with several workarounds. Managers' conversations with their people had no agenda and no record, often the same generic questions, so after a few weeks nobody remembered what had been agreed.

The shift schedule lived in Excel. Parking spaces were booked as meetings in the Outlook calendar: you couldn't see when a space was really free, and forgotten bookings blocked spaces for nothing. The office TVs had no shared way of passing on information.

Goal

One place people open every day, with sign-in by company account and the data on the company's server. The main goal: developing people and running 1:1 meetings properly. The other modules replace workarounds that were eating time.

My role

I did all of it myself: the idea and the prototype, conversations with the business and presenting the project to the management, interface design, code, databases, the server, testing, deployment and the fixes users report.

Solution

The platform is made of modules picked from one start screen. Each module has its own access group in Active Directory and its own database, so the company can switch them on one at a time and give access only to the people who need it.

The start page says what concerns me today: my schedule for this week and next, unfinished things, steps to take (for example booking a meeting or approving overtime) and the module tiles. Plus search under Ctrl+K, notifications, dark mode and a bug report button on every page.

Result

The platform is in testing with the business and is going into everyday use. 1:1 meetings are already being held in the tool.

Limitations

The platform is still being rolled out, so I don't give figures on time saved yet. I'll show them once they are measured, not estimated.

This is a project from my employment: I don't name the company or show production data, and the screenshots use test data. My employer agreed to the project being shown.

Modules

7 modules on shared sign-in, permissions and event log.

Crew: people and 1:1 meetings

The largest module and the one where it all started. Conversations between a manager and their report have an agenda, a record and a follow-up, and around them is everything a team needs.

  • 1:1 meetings: both sides add to the agenda, points not covered move to the next meeting by themselves, and agreements land on the task list.
  • A meeting mode with ready question sets (routine meeting, onboarding, quarterly review, drop in motivation, career development) and shared and private notes.
  • Goals with a measure and progress that can be linked to KPIs, and a training budget per person.
  • Feedback using the FUKO model (facts, feelings, consequences, expectations) and a quarterly rating.
  • Competency reviews in cycles: self-assessment, manager's assessment, a 1 to 5 scale and a training plan. The team competency grid shows who should learn what.
  • A shift schedule instead of Excel: hours and working-time norms add up automatically, publishing notifies people, and overtime waits for the manager's approval.
  • Team tasks and boards: board, list, calendar and project timeline, recurring tasks, dependencies and requests between departments.
  • KPIs with definitions: what we measure, how to calculate it and when it's good.
  • An org chart, a company directory and a knowledge base per department.
  • A dashboard for management and HR shows whether meetings are happening, without a single sentence of their content. Averages appear only from five people up.
A meeting with one person: points to discuss, goals and agreements. Personal data blurred.
Screenshot with test data.
Team competencies with radar charts. Names blurred.
Screenshot with test data.
The organisation chart as a tree. Card contents blurred.
Screenshot with test data.

Screens: the office TVs

One panel for all the TVs in the office: content, schedule, urgent messages and alerts. Each TV has a small computer next to it on the company network.

  • A wall of screens with a live preview and the status of each TV.
  • Playlists and a calendar: what plays on which screen and when, for example the menu in the kitchen at lunchtime.
  • A library: PDF and PowerPoint turned into slides, video and images, and material that can disappear by itself after a date.
  • A slide editor with a 1:1 preview: message, list, day counter, welcome, video from a link.
  • A presentation on any TV without plugging in a cable, with presenter notes and slides moved from a phone.
  • Urgent messages (for example that the food truck has arrived) and alerts: evacuation, fire or outage, on all screens or chosen floors.
  • A playback log: proof that the content really was on screen.
  • A TV pairs with a code and has its own identity instead of a person's account.
The list of screens with a preview and the status of each. Some names blurred.
Screenshot with test data.
The form for sending an alert to the screens, with ready-made messages.
Screenshot with test data.

Parking

Booking spaces on a plan of the car park instead of meetings in the calendar. You see straight away which space is free on a given day and time.

  • A car park plan: spaces that are free, taken, yours today, yours permanently, and those of another company in the building.
  • Booking by day and time: all day, morning, afternoon or your own hours.
  • Permanent spaces the owner can hand over to others while on holiday.
  • A layout editor: several car parks, rows, numbering, rotation and version history.
  • More than 20 car models on the plan, drawn at random every day.
An isometric map of the car park with marked spaces and a choice of day and hours.
Screenshot with test data.

Meeting rooms

Booking meeting rooms on a single day grid.

  • A column per room and a row per hour: you see straight away who has a room and when.
  • Bookings with a subject and attendees.
  • Rooms with capacity, equipment and available hours.

Helpdesk report

A report on the IT department's work from the osTicket ticketing system. Read-only: the report never changes anything in the ticketing system.

  • Key figures on one screen: open tickets, median resolution time, throughput over 12 weeks and the age of open cases.
  • A monthly report compared with the previous month, with export to Excel.
  • Search in subjects and in the content of threads.
  • Backlog: tickets with no activity for 7, 30 or 90 days, meaning what needs finishing or closing.
  • Writing is blocked twice: in the application and in the database permissions.

Analyses

Quick spreadsheet analyses without sending the file to the server.

  • Drop an XLSX or CSV file, correct the column types and pick a question: counts, sums, change over time, missing data.
  • The browser reads the file, not the server.
  • Saved recipes for files with the same layout.

Administration

Tools for the IT department that keep the whole platform in order.

  • An event log that can't be edited: sign-ins, exports and views.
  • Viewing the application through another person's eyes, read-only and recorded in the log.
  • Cleaning up after an employee leaves: parking space, bookings, meetings, tasks and roles.
  • Bug reports from a button on every page, with a screenshot pasted from the clipboard.

How it's built

Decisions that let a company trust the platform with its people's data.

  1. 01Sign-in with the company account

    Active Directory instead of separate passwords. Access follows groups in the directory, so a change in AD takes effect at the next sign-in.

  2. 02Four levels of access

    Entry to the platform, access to a module, a role and permissions inside the module. The module says where you go in, the role how deep you can see.

  3. 03A separate database for each module

    Each module has its own database and its own database account. Modules can be switched on one by one, and a problem in one doesn't touch the others' data.

  4. 04Privacy built into the rules

    The content of a 1:1 meeting is visible only to its two participants. A manager sees their people from the org structure itself, without permissions granted by hand.

  5. 05Nobody approves their own requests

    Overtime and ratings are approved by someone else, and every change has a history: who, when, what it was and what it is.

  6. 06The data stays in the company

    The application runs on the company's server, not in someone else's cloud.

  7. 07Tests without production

    The automated tests run without the production database and without the domain controller, so they can be run on any computer.

Got a similar problem?

Write what's causing trouble and I'll reply with what can be done about it.

Describe the problem

Question 1 of 5

What would you most like to improve?

Pick the closest one. It doesn't have to fit perfectly.

First summary

This is a first suggestion based on a few answers, not a diagnosis. Nothing is saved until you send the message.