IDG3006 Web of Things NTNU · Autumn 2025 Sensors Web of Things Fullstack Interdisciplinary

OccupEye

A Web of Things concept and prototype for showing available individual study spaces on campus — using sensors, a backend API and a digital interface.

← Back to projects
OccupEye visual identity and logo for the study-space availability concept.
At a glance

Quick facts

Project type Web of Things · Sensors · Fullstack concept and prototype
My role Developer — sensor research, system architecture, API, frontend, backend, database
Group Interdisciplinary — designers and developers working together
Tech Sensors · Node.js · Express · Database · REST API · Frontend
Focus Idea → prototype · Physical sensor input → digital interface
Course IDG3006 Web of Things · NTNU · Autumn 2025
01 — Visual identity

Concept and visual direction

OccupEye developed a strong visual identity alongside the technical concept. The eye and chair symbol became the core of the project's visual language, backed by an abstract pattern system used across materials.

Abstract visual pattern used as part of the OccupEye visual identity exploration.
Early visual identity exploration for OccupEye.
02 — Problem

Finding a free seat should not require walking the whole building

The problem statement for the project was:

How can we develop a Web of Things solution that provides students with an overview of available individual study spaces on campus by using sensors that indicate the availability of individual seats?

The problem was based on a practical campus situation. Students need study spaces, but it is difficult to know where free individual seats are without walking around and checking manually.

OccupEye explored how sensors and a digital interface could solve this. The challenge was not only to show whether a seat was free or occupied — the project also needed to consider how sensor data could be collected, structured and presented in a way that is actually useful for students.

The challenge was not just showing availability — it was making a system where physical sensor input and digital presentation work together reliably.
03 — My role

Developer across the full stack

My role was mainly as a developer. I worked with both frontend and backend parts of the project and contributed to the technical planning of the solution.

My contributions included: researching sensors, boards and suitable technologies, helping decide parts of the system architecture, working on database structure, working on API development, doing frontend development, helping determine sensor types for the solution, giving feedback on frontend design, and joining meetings, planning and presentations.

Sensor research System architecture Database API Frontend Backend Planning Communication
A large part of my role was also communication. Since the group included both designers and developers, I tried to explain technical choices clearly so the design side and development side could stay connected.
04 — Process

From idea to prototype

Ideation, sensor research, group coordination and iterative development.

1

Ideation and choosing the concept

The project started with ideation and brainstorming. I took part in the early discussions where we explored different possible project ideas. I also suggested another idea at the start, but after discussing the options as a group, we agreed that OccupEye was the strongest concept for the course.

2

Researching sensors and technology

After choosing the idea, I researched different sensors, boards and technologies to understand what would be realistic to build within the time available. This was important because the project depended on hardware, and hardware choices affect what kind of data can be collected and how the system can be implemented.

3

Splitting work and staying connected

The group split the work between designers and developers. This made it easier to focus, while still keeping the project connected through meetings and shared discussions. I was on the developer side, but I also gave feedback on the frontend design and helped connect the interface to the technical concept.

05 — Technical solution

Connecting physical input to a digital interface

The technical idea behind OccupEye was to connect physical seat availability to a digital overview. A sensor would detect whether a seat was available or occupied. That data would then need to be sent, stored and displayed through a web interface.

My work focused on the parts needed to make that system possible from a development perspective — thinking through the architecture, helping with the database structure, working on API development and contributing to frontend implementation.

sensor input → data handling → backend / API → database → frontend interface

That connection is the main reason this project is valuable in my portfolio. It shows that I can think beyond a static website and work with systems where physical input and digital presentation need to work together.

Abstract vertical line pattern used as visual identity exploration for OccupEye.
Visual system exploration used to support the OccupEye identity.
06 — Prototype

Making the concept concrete

The goal of the prototype was to make the OccupEye concept concrete enough to show how it could work in practice. The interface needed to communicate seat availability clearly, while the technical structure needed to support data from sensors.

Because the project involved hardware, the implementation process had to be flexible. Some things were not possible to test exactly as planned because of delays with sensors. Instead, the project used mocked or expected data for parts of the testing and development. This made it possible to continue working on the system even when the hardware was not fully available.

In a Web of Things project, hardware dependencies can affect the whole development process. A good prototype needs both a main plan and a backup plan.
07 — Testing and limitations

Hardware delays and what they taught me

Testing was more limited than originally planned because we had issues getting the sensors on time. Ideally, we wanted to test the system with real sensor data, but because of the hardware delay, we had to test parts of the solution with mocked or expected data.

Even though this was a limitation, it taught me something important about project planning. Hardware dependencies should be handled early, and testing should not depend on everything arriving perfectly on time.

If I started the project again, I would order hardware earlier and plan a clearer test-to-code approach from the beginning.
Abstract pattern variation from the OccupEye visual exploration.
Additional visual exploration from the OccupEye project.
08 — Result

A Web of Things concept brought to prototype

The result was a more concrete Web of Things concept and prototype for showing available individual study spaces on campus. The project moved from an early idea to a planned system with sensor research, technical structure, frontend work, backend/API thinking and database planning.

For my portfolio, OccupEye shows that I can work with early-stage concepts, technical research, prototyping and interdisciplinary teamwork. It also shows that I can handle uncertainty when a project does not go exactly as planned.

09 — Reflection

What I take from OccupEye

OccupEye was valuable because it taught me how to think through a Web of Things solution from idea to prototype. I learned more about sensors, system architecture, frontend/backend connections and how physical input can become useful digital information.

I also learned more about working in a group with both designers and developers. Communication was important because technical choices affected the design, and design choices affected what needed to be implemented. The group dynamic was good, and the project helped me understand how important it is to explain technical ideas clearly.

If I continued this project, I would focus on testing with real sensor data, improving the connection between hardware and interface, and planning hardware dependencies earlier. I would also use a more test-driven approach so problems could be caught earlier in the process.

OccupEye shows that I can work from an early idea toward a concrete prototype while balancing technical possibilities, user needs and group collaboration. In a Web of Things project, the connection between hardware and software is always the real challenge — and that is exactly what this project taught me to think about.

← Back to all projects